UNIVERSIDADE REGIONAL DO ALTO URUGUAI E DAS MISSÕES            URI – CAMPUS DE SANTO ÂNGELODEPARTAMENTO DE ENGENHARIAS E C...
UNIVERSIDADE REGIONAL DO ALTO URUGUAI E DAS MISSÕES – URICampus de Santo ÂngeloReitor: Luiz Mario Silveira SpinelliPró-Rei...
AGRADECIMENTOS    Primeiramente quero agradecer aos meus pais Silvio e Marinês Ruaro que sãominhas referências de vida, e ...
SUMÁRIOLISTA ABREVIATURAS E SIGLAS .................................................................. 7LISTA DE FIGURAS .....
54.1.1 Detecção de Extremos ........................................................................................ 314.1...
69.1 Contribuições ..........................................................................................................
7         LISTA ABREVIATURAS E SIGLASA/D     Analógico/DigitalAMR     Adaptative Multi-RateAPI     Aplication Programming ...
LISTA DE FIGURASFigura 2.1: Representação de um sinal analógico de som .............................................. 16Fi...
9Figura 6.10: Classe GraphicWave .................................................................................. 60Figu...
LISTA DE TABELASTabela 2.1: Classificação quanto ao vocabulário .............................................................
RESUMO    Com uma maior acessibilidade ao desenvolvimento de aplicativos para dispositivosmóveis, surgem novas possibilida...
SRM: Framework for Sound Recognition on Mobile Devices                                  ABSTRACT    With greater accessibi...
1 INTRODUÇÃO   Na ciência da computação, cada vez mais surgem novas tecnologias que permitemuma maior interação e conseque...
14inteiramente no dispositivo portátil em que são instalados, dispensando uma conexãosem fio a um servidor para um process...
15    Também foi elaborada e disponibilizada implicitamente a este framework uma APIpara o cálculo da Transformada Rápida ...
162 SISTEMAS DE RECONHECIMENTO DE SOM PARA   DISPOSITIVOS MÓVEIS   Este capítulo é dedicado à contextualização de sistemas...
172.2 Estado da Arte   O desenvolvimento de sistemas de reconhecimento voz em dispositivos móveis éamplamente motivado pel...
182.3.2 Reconhecimento de Voz em Terminal (Terminal Speech Recognition)   Nesta modalidade, o reconhecimento é feito no di...
192.5 Tamanho do Vocabulário    O tamanho do vocabulário é a quantidade máxima de elocuções que podem serdefinidas como pa...
20   Ausência de Treinamento: Em sistemas que dispensam um treinamento    para cada padrão de palavra, o desempenho de re...
213 CAPTURA E ARMAZENAMENTO DE ÁUDIO   Para se obter os arquivos de áudio necessários para o reconhecimento, é essencialin...
22    A metade da frequência de amostragem é chamada frequência de Nyquist ecorresponde ao limite máximo de frequência do ...
23  Figura 3.2: Exemplo do processo de amostragem do sinal contínuo (FILHO, 2006)    Na amostragem é definida uma frequênc...
243.1.3 Quantização                       Processo que transforma um sinal discreto (resultado da amostragem), nos        ...
25     Tabela 3.2: Codificação do sinal em uma sequência numérica de base binária                                  (CASTRO...
26    Pode-se notar na figura 3.4, que nos instantes de amostragem, os sinais sãoamostrados usando como parâmetro sinaliza...
27contém os dados amostrados. O número de amostras reais do arquivo Wave pode serextraído pela seguinte equação:   Onde Na...
28        Figura 3.6 - Processo de Funcionamento da MMAPI (GOYAL, 2006).   Arquitetura   Na JSR 135 são utilizados dois ti...
29    No RMS é possível armazenar as informações manipuladas nas aplicações dosdispositivos de uma maneira persistente, se...
304 EXTRAÇÃO DE INFORMAÇÃO   A extração da informação útil do sinal digital de som visa gerar um conjunto decaracterística...
31apresentada a analise espectral. E na seção 4.3 o processo de extração dos coeficientesMFCC.4.1 Pré-Processamento    O p...
32       Figura 4.3: Espectro de frequências sem e com pré-ênfase (PETRY, 2002)   O filtro pré-ênfase também é usado para ...
33                            Figura 4.4: Janela de Hamming   E sua função de aplicação ao sinal é dada pela seguinte equa...
34Caso a última janela ultrapassar os limites do sinal, deve-se completar com zeros até ofinal da janela, como mostrado na...
35    A seguir são descritas as etapas que compõe a análise espectral presentes na figura4.6.4.2.1 Transformada Rápida de ...
36                            140                            120                            100               Tempo (ms)  ...
37duração do sinal. O espectro de magnitudes pode ser obtido através da seguinte equação(CERNA e HARVEY, 2000):           ...
38    A ideia da escala Mel surgiu em 1940, através de um experimento realizado porVolkman e Stevens. Neste experimento fo...
39                    Figura 4.10: Etapas da extração dos parâmetros    Para obtenção dos coeficientes MFCC, filtra-se cad...
40    Para a construção dos filtros Mel, considera-se que sejam distribuídos k filtros nafrequência de Nyquist sobre o esp...
41      Após estes procedimentos obtém-se um vetor contendo a energia de saída de   cada filtro em relação ao espectro de ...
425 RECONHECIMENTO   O sinal de som, após passar pela fase de extração de informação, é expresso em umconjunto de parâmetr...
43                      Figura 5.1: Exemplo de diferença temporal    Esta modelagem utiliza os parâmetros do sinal de voz ...
44   Para este processo os quadros R e T são representados em um plano n-m, esboçadosna figura 5.3, e as distâncias tempor...
45   Figura 5.4 - Exemplo de erro de reconhecimento utilizando somente as distâncias                                  míni...
46normalizada em relação à duração dos padrões de teste e de referencia, é muito razoávelsupor que os coeficientes acima s...
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Srm framework para reconhecimento de som em dispositivos móveis
Próximos SlideShares
Carregando em…5
×

Srm framework para reconhecimento de som em dispositivos móveis

1.398 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.398
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
40
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Srm framework para reconhecimento de som em dispositivos móveis

  1. 1. UNIVERSIDADE REGIONAL DO ALTO URUGUAI E DAS MISSÕES URI – CAMPUS DE SANTO ÂNGELODEPARTAMENTO DE ENGENHARIAS E CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO MARCELO RUARO SRM: Framework para Reconhecimento de Som em Dispositivos Móveis Trabalho de Graduação. Prof. M. Sc. Denilson Rodrigues da Silva Orientador Santo Ângelo, dezembro de 2010.
  2. 2. UNIVERSIDADE REGIONAL DO ALTO URUGUAI E DAS MISSÕES – URICampus de Santo ÂngeloReitor: Luiz Mario Silveira SpinelliPró-Reitor de Ensino: Rosane Vontobel RodriguesDiretor Geral: Maurílio Miguel TieckerDiretora Acadêmica: Neusa Maria John ScheidDiretor Administrativo: Gilberto PachecoCordenador do Departamento de Engenharia e Ciência da Computação: Márcio AntonioVendrusculoCordenador do Curso de Ciência da Computação: Denílson Rodrigues da Silva
  3. 3. AGRADECIMENTOS Primeiramente quero agradecer aos meus pais Silvio e Marinês Ruaro que sãominhas referências de vida, e juntamente com minha família me ensinaram umafilosofia de vida a qual me orgulho de seguir, tomando decisões responsáveis, mesmonos momento de incerteza. Também quero agradece-los pela compreensão e pelo apoiodurante esta minha jornada na faculdade. Sou grato a minha namorada pela inacreditável paciência mostrada nas noites deteste de reconhecimento, sei que ela passou muito sono por causa disso, e é por isso epor tantos outros motivos que a amo. Agradeço ao meu orientador e professor Denílson pelas orientações e pelo incentivona minha pesquisa, pelas discussões e ensinamentos que certamente guardarei comigoem minha carreira acadêmica e em minha vida. Também quero agradece-lo por sededicar intensamente a suas tarefas profissionais, fazendo com que o curso de Ciênciada Computação se destaque cada vez mais. Quero agradecer a todos os meus amigos e colegas, pelos intervalos passadosbebendo refrigerante, pelos jogos de futebol, e por todos outros momentos dedescontração que implicitamente contribuíram para a realização deste trabalho. Também quero agradecer ao Ph.D. Roshan G. Rangel e a Isuru Herath daUniversidade de Peradeniya do Sri Lanka e ao Dr. Adriano Petry do INPE pelo auxiliono esclarecimento por e-mail de algumas duvidas referente ao processamento digital desinal no contexto do reconhecimento de som. Quero agradecer também ao professor Paulo R. B. Betencourt pelas conversas econselhos sobre aviação que me motivaram a iniciar meu curso de piloto privado deavião. E agradecer a todos os outros professores do Curso de Ciência da Computação doURI-Santo Ângelo pelo auxilio e compreensão no esclarecimento de certas duvidas quecontribuíram em muito para minha formação.
  4. 4. SUMÁRIOLISTA ABREVIATURAS E SIGLAS .................................................................. 7LISTA DE FIGURAS .......................................................................................... 8LISTA DE TABELAS ....................................................................................... 10RESUMO.......................................................................................................... 11ABSTRACT...................................................................................................... 121 INTRODUÇÃO ............................................................................................ 131.1 Considerações Iniciais ......................................................................................... 151.2 Organização do Trabalho ................................................................................... 152 SISTEMAS DE RECONHECIMENTO DE SOM PARA DISPOSITIVOSMÓVEIS ........................................................................................................... 162.1 O Som .................................................................................................................... 162.2 Estado da Arte ...................................................................................................... 172.3 Modalidades de Reconhecimento de Voz em Dispositivos Móveis .................. 172.3.1 Reconhecimento de Voz em Rede (Network Speech Recognition) .................... 172.3.2 Reconhecimento de Voz em Terminal (Terminal Speech Recognition)............. 182.3.3 Reconhecimento de Voz Distribuído (Distribuided Speech Recognition) ......... 182.4 Sistemas Contínuo/Discretos ............................................................................... 182.5 Tamanho do Vocabulário .................................................................................... 192.6 Sistemas Dependente/Independente de Locutor ............................................... 192.7 Fatores que Interferem no Desempenho ............................................................ 193 CAPTURA E ARMAZENAMENTO DE ÁUDIO .......................................... 213.1 Digitalização do Sinal Analógico de Áudio ........................................................ 213.1.1 Filtro Anti-Aliasing ............................................................................................. 223.1.2 Amostragem ........................................................................................................ 223.1.3 Quantização ........................................................................................................ 243.1.4 Codificação ......................................................................................................... 243.1.5 Pulse Code Modulation (PCM) .......................................................................... 253.2 Wave File Format ................................................................................................. 263.3 MMAPI ................................................................................................................. 273.3.1 MMAPI, JSR 135 ............................................................................................... 273.3.2 MMAPI e PCM ................................................................................................... 283.4 RMS....................................................................................................................... 284 EXTRAÇÃO DE INFORMAÇÃO ................................................................ 304.1 Pré-Processamento ............................................................................................... 31
  5. 5. 54.1.1 Detecção de Extremos ........................................................................................ 314.1.2 Inversão de Sinal ................................................................................................. 314.1.3 Pré-Ênfase ........................................................................................................... 314.1.4 Janelamento ........................................................................................................ 324.2 Análise Espectral.................................................................................................. 344.2.1 Transformada Rápida de Fourier (FFT) ............................................................. 354.2.2 Espectro de Potências ......................................................................................... 374.3 Extração dos Parâmetros .................................................................................... 374.3.1 Coeficientes Mel-Cepstrais (MFCC) .................................................................. 375 RECONHECIMENTO .................................................................................. 425.1 Dinamic Time Warping (DTW) ........................................................................... 425.1.1 Coeficientes de Seletividade de Reconhecimento .............................................. 445.2 Distância Euclidiana ............................................................................................ 465.3 Coeficiente de Correlação de Pearson................................................................ 466 O FRAMEWORK SRM ............................................................................... 476.1 Capacidades .......................................................................................................... 476.1.1 Reconhecimento de palavras isoladas dependente de locutor ............................ 476.1.2 Reconhecimento de som ..................................................................................... 476.1.3 Vocabulário pequeno .......................................................................................... 476.1.4 Reconhecimento em Terminal ............................................................................ 486.2 Requisitos Mínimos.............................................................................................. 496.2.1 Estrutura do Framework ..................................................................................... 496.3 Descrição da Implementação .............................................................................. 506.3.1 Técnicas Propostas .............................................................................................. 516.3.2 Front-End ............................................................................................................ 556.3.3 Back-End ............................................................................................................ 586.4 Diagrama de Classes ............................................................................................ 596.4.1 Classe GraphicWave ........................................................................................... 606.4.2 Pacote sound ....................................................................................................... 616.4.3 Pacote frontEnd................................................................................................... 616.4.4 Pacote backEnd ................................................................................................... 636.5 Diagrama de Sequência ....................................................................................... 656.6 Reconhecimento em Tempo Real ....................................................................... 666.7 Treinamento ......................................................................................................... 677 TESTES E RESULTADOS ......................................................................... 687.1 Testes no emulador SDK 3.0 ............................................................................... 697.1.1 Ajuste das Janelas de Hamming.......................................................................... 697.1.2 Ajuste do Banco de Filtros.................................................................................. 717.1.3 Ajuste dos MFCCs .............................................................................................. 737.2 Testes em Dispositivos Móveis ............................................................................ 747.2.1 Desempenho para Extração de Informação ........................................................ 747.2.2 Desempenho para Reconhecimento .................................................................... 757.2.3 Resultados Gerais ............................................................................................... 767.3 Comparativo do uso da técnica de IS ................................................................. 788 ESTUDO DE CASO .................................................................................... 799 CONCLUSÃO ............................................................................................. 83
  6. 6. 69.1 Contribuições ....................................................................................................... 849.2 Trabalhos Futuros ............................................................................................... 85REFERÊNCIAS ................................................................................................ 86ANEXO A - APLICATIVO CALLDICTATION .................................................. 89
  7. 7. 7 LISTA ABREVIATURAS E SIGLASA/D Analógico/DigitalAMR Adaptative Multi-RateAPI Aplication Programming InterfaceCDC Connected Device ConfigurationCLDC Connected Limited Device ConfigurationDFT Discrete Fourier TransformDTW Dinamic Time WarpingFFT Fast Fourier TransformHz HertzID IdentidadeKHz KilohertzJSR Java Specification RequestesHMM Hidden Markov ModelME Micro EditionMFCC Mel Frequency Cepstrum CoeficientMIDP Mobile Information Device ProfileMMAPI Multimedia APIPCM Pulse Code ModulationRIFF Resource Interchange File FormatRMS Record Management StoreSRM Sound Recognizer MESDK Sun Developement Kit
  8. 8. LISTA DE FIGURASFigura 2.1: Representação de um sinal analógico de som .............................................. 16Figura 3.1: Filtragem e digitalização do sinal analógico ................................................ 22Figura 3.2: Exemplo do processo de amostragem do sinal contínuo ............................. 23Figura 3.3: Sinal analógico digitalizado e quantizado. ................................................... 24Figura 3.4: Processo de codificação PCM. ..................................................................... 25Figura 3.5: Formato Wave. ............................................................................................. 26Figura 3.6 - Processo de Funcionamento da MMAPI .................................................... 28Figura 3.7: Interface Java ME RMS ............................................................................... 29Figura 4.1: Etapas que compõe a extração de informação do sinal de som ................... 30Figura 4.2: Etapas do pré-processamento ....................................................................... 31Figura 4.3: Espectro de frequências sem e com pré-ênfase ............................................ 32Figura 4.4: Janela de Hamming ...................................................................................... 33Figura 4.5: Janelas de Hamming com sobreposição de 50% .......................................... 33Figura 4.6: Análise espectral .......................................................................................... 34Figura 4.7: Desempenho da FFT em relação ao aumento de pontos .............................. 36Figura 4.8: Esquema de saída da FFT e a aplicação de sua inversa ............................... 36Figura 4.9 - Variação logarítmica da escala Mel em relação a Hz ................................. 38Figura 4.10: Etapas da extração dos parâmetros ............................................................ 39Figura 4.11: Exemplo de banco de 20 filtros triangulares espaçados de acordo com aescala Mel. ...................................................................................................................... 39Figura 4.12: Energia de saída do banco de filtros .......................................................... 41Figura 5.1: Exemplo de diferença temporal ................................................................... 43Figura 5.2: Alinhamento não-linear gerado pela DTW .................................................. 43Figura 5.3: Plano temporal dos padrões R e T ................................................................ 44Figura 5.4 - Exemplo de erro de reconhecimento utilizando somente as distânciasmínimas da DTW ........................................................................................................... 45Figura 6.1: Tempo de processamento para o reconhecimento em relação ao número depadrões ............................................................................................................................ 48Figura 6.2: Estrutura geral do SRM................................................................................ 50Figura 6.3: Trecho da palavra “teste” antes e depois da inversão de sinal ..................... 52Figura 6.4: Linha imaginária de limite de silêncio ......................................................... 53Figura 6.5: Etapas implementadas no bloco front-end caracterizando a extração deinformação ...................................................................................................................... 55Figura 6.6: Processo de remoção do cabeçalho Wave .................................................... 56Figura 6.7: Etapas implementadas no bloco back-end caracterizando o reconheciment. ........................................................................................................................................ 58Figura 6.8: Diagrama de classe do Framework SRM .................................................... 59Figura 6.9: Telas exemplos da classe GraphicWave contendo a representação de umsinal PCM no formato Wave com 8 bits por amostra ..................................................... 60
  9. 9. 9Figura 6.10: Classe GraphicWave .................................................................................. 60Figura 6.11: Diagrama de classes do pacote sound ........................................................ 61Figura 6.12: Diagrama de classes do pacote frontEnd ................................................... 62Figura 6.13: Diagrama de classes do pacote backEnd.................................................... 63Figura 6.14: Diagrama de Sequencia .............................................................................. 65Figura 6.15: Fluxograma do modo listening .................................................................. 66Figura 7.1: Sel1 gerado sobre o ajuste quanto largura da Janela de Hamming ............... 70Figura 7.2: Sel1 para as variações de sobreposição entre as janelas de Hamming ......... 71Figura 7.3: Comparação de Sel1 entre o número de filtros ............................................. 72Figura 7.4: Comparativo de Sel1 alternado a quantidade de MFCCs ............................. 73Figura 7.5: Desempenho de extração de informação em relação a frequência doprocessamento ................................................................................................................ 75Figura 7.6: Gráfico comparativo de tempos para reconhecimento entre os processadorestestados ........................................................................................................................... 76Figura 8.1: Configuração básica do SRM ...................................................................... 79Figura 8.2: Gravação e definição como padrão de uma amostra de som ....................... 80Figura 8.3: Verificação do tamanho do banco ................................................................ 80Figura 8.4: Utilização da função "isListening" ............................................................... 81
  10. 10. LISTA DE TABELASTabela 2.1: Classificação quanto ao vocabulário ........................................................... 19Tabela 3.1: Taxa de erros em relação à frequência de amostragem ............................... 23Tabela 3.2: Codificação do sinal em uma sequência numérica de base binária. ............ 25Tabela 6.1: Tempos de recorte em milissegundos do algoritmo de detecção de extremose o tempo de processamento obtido no teste elaborado no emulador SDK 3.0 ............. 54Tabela 7.1: Ajuste quanto ao tamanho das janelas de Hamming ................................... 70Tabela 7.2: Porcentagem de Sobreposição entre as Janelas de Hamming...................... 71Tabela 7.3: Número de Filtros ........................................................................................ 72Tabela 7.4: Ajuste de MFCCs ........................................................................................ 73Tabela 7.5: Tempo gasto em segundos para extração de informação nos três dispositivostestados ........................................................................................................................... 74Tabela 7.6: Tempo gasto em segundos para o reconhecimento nos três dispositivostestados ........................................................................................................................... 75Tabela 7.7: Configuração geral do framework SRM...................................................... 76Tabela 7.8: Precisão de reconhecimento do framework SRM........................................ 77Tabela 7.9: Inversão de Sinal ......................................................................................... 78
  11. 11. RESUMO Com uma maior acessibilidade ao desenvolvimento de aplicativos para dispositivosmóveis, surgem novas possibilidades de fornecer uma maior interação homem/máquina.Uma dessas formas de interação que objetiva reconhecer um meio de comunicação epercepção espacial muito comum para os seres humanos é o reconhecimento de som.Este trabalho consiste no desenvolvimento de um Framework escrito na linguagem JavaMicro Edition, para o reconhecimento de sons abstratos e de palavras isoladasdependentes de locutor em dispositivos móveis. Onde alcançou-se excelentes resultadosde reconhecimento, chegando a atingir – no melhor caso – uma precisão de acertos de94%. Através deste framework, desenvolvedores de aplicações móveis poderão utilizare também trabalhar de um modo geral com o reconhecimento de som em diversoscenários. Na realização dessa proposta foi abordada a API MMAPI para a captura eexecução do áudio na codificação PCM, já na fase de extração de informações do sinalfoi utilizada a extração dos coeficientes Mel-Cepstrais (MFCC) derivados daTransformada Rápida de Fourier (FFT), e para o reconhecimento foi empregada acomparação através da Dinamic Time Warping (DTW). Neste trabalho foram propostasduas técnicas de processamento de sinal de som: a primeira denominada Inversão deSinal (IS), e a segunda correspondente a um algoritmo de baixo custo de detecção deextremos responsável pela detecção de inicio e fim de uma elocução. E também foiproposta e integrada uma funcionalidade que permite a representação gráfica doespectro de áudio em telas de dispositivos móveis.Palavras-Chave: Reconhecimento, som, dispositivos móveis, extração de informação,padrões.
  12. 12. SRM: Framework for Sound Recognition on Mobile Devices ABSTRACT With greater accessibility to developing applications for mobile devices, newopportunities arise to provide greater interaction man/machine. One of these forms ofinteraction that aims to recognize a means of communication and spatial perception verycommon to humans is the recognition of sound. This work consists in developing aframework written in Java Micro Edition, for the recognition of abstract sounds andisolated words announcer dependent on mobile devices. Where was reached excellentrecognition results, reaching – in the best case – an accuracy hits 94%. Through thisframework, developers can use mobile applications and also work generally soundrecognition in various scenarios. In making this proposal was discussed the MMAPIAPI to capture and execution of PCM audio encoding, already in phase of signalinformation extraction was used to extract the Mel-Cepstrais coefficients (MFCC)derived from the Fast Fourier Transform (FFT), and for the recognition was employedthrough comparison of Dinamic Time Warping (DTW). In this work were proposed twotechniques of sound signal processing: the first called signal Inversion (IS), and thesecond corresponds to a low-cost algorithm for detecting extremes responsible fordetection of beginning and end of an utterance. And also was proposed and integratedfunctionality that allows graphical representation of the audio spectrum on screens ofmobile devices.Keywords: Sound recognition, mobile devices, information extraction, patterns.
  13. 13. 1 INTRODUÇÃO Na ciência da computação, cada vez mais surgem novas tecnologias que permitemuma maior interação e consequentemente uma maior produtividade entre o ser humanoe o computador. Entre estas tecnologias uma que tem grande destaque por reconhecerum meio de interação muito comum aos seres humanos, é o reconhecimento de som. O reconhecimento de som de um modo geral é a capacidade de um sistemacomputacional extrair e interpretar corretamente as variáveis contidas em um sinal desom (RABINER e JUANG, 1978). O uso do reconhecimento de som em determinadocenário flexibiliza a interação homem/máquina automatizando certas tarefas quegeralmente requisitam uma maior quantidade de interações físicas. Em um ambientemóvel esta flexibilidade operacional provida pelo reconhecimento alia-se a mobilidadenativa dos sistemas embarcados expandindo ainda mais a aplicabilidade doreconhecimento de som. Contudo, para se desenvolver um sistema de reconhecimento de som enfrentam-sealgumas dificuldades, entre as principais destaca-se a natureza interdisciplinarrequisitada no desenvolvimento destes sistemas, podendo-se citar entre as áreasenvolvidas o processamento de sinais digitais, linguagens de programação,reconhecimento de padrões, inteligência artificial, linguística, teoria das comunicações(SILVA, 2009), entre outras, variando de acordo com a complexidade doreconhecimento (PETRY, ZANUT e BARONE, 2000) (TAFNER, 1996). Por isso,desenvolver um sistema desse gênero demanda – além de um amplo conhecimento – umgrande esforço de tempo, o que faz com que esta capacidade deixe de ser integradapelos desenvolvedores de software de uma maneira mais ocasional principalmente emaplicações móveis. Outra dificuldade encontrada no desenvolvimento doreconhecimento de som em ambientes embarcados é a limitação de hardware, queatualmente ainda impõe barreiras para a elaboração de um reconhecimento maiscomplexo. A grande maioria dos dispositivos móveis encontrados no mercado atual incorporaalgum sistema de reconhecimento de som (principalmente o reconhecimento de voz),muitos destes sistemas são eficientes alcançando excelentes níveis de precisão comrelativo baixo custo computacional. Porém estes sistemas geralmente são privados e/ounão permitem sua integração a outras aplicações (na forma de API ou framework). No cenário atual de desenvolvimento móvel, mais especificamente no contexto dalinguagem Java ME, encontra-se poucas ferramentas de reconhecimento de somintegráveis a alguma aplicação. A principal delas é a API Java Speech que em suaversão 2.0 provê suporte a linguagem Java ME, contudo esta API é licenciada apenaspara empresas privadas (ORACLE, 2010). Outra indisponibilidade é quanto acapacidade dos motores de reconhecimento elaborarem seus processamentos
  14. 14. 14inteiramente no dispositivo portátil em que são instalados, dispensando uma conexãosem fio a um servidor para um processamento normalmente mais robusto. Ciente destes fatores, este trabalho propôs o desenvolvimento e implementação deum framework chamado Sound Recognizer ME (SRM) escrito na linguagem Java MicroEditon para dispositivos móveis objetivando o reconhecimento de som englobandotambém o reconhecimento de voz, que mais especificamente é caracterizado nestetrabalho pelo reconhecimento de palavras isoladas dependente de locutor. Através desteframework desenvolvedores poderão integrar o reconhecimento disponibilizado, emaplicações móveis de uma maneira simples e abstraída. Já a escolha peloreconhecimento principalmente de palavras isoladas dependente de locutor, apresenta-secomo uma base ideal para se iniciar os estudos de propostas mais complexas na área dereconhecimento de voz como o reconhecimento de fala contínua independente delocutor, além de ampliar o reconhecimento de som para o contexto de voz, o queestende a aplicabilidade desta proposta. Para o desenvolvimento do SRM, foram utilizados pacotes da linguagem Java MEque permitem abstrair certas funcionalidades essenciais para o apoio em um caráter deinfraestrutura no desenvolvimento do reconhecimento de som. Estas funcionalidadessão o controle multimídia através da API MMAPI que permite a captura e execução desom no dispositivo, o RMS que fornece o suporte ao armazenamento persistente, e asbibliotecas Math e MathC para o cálculos de funções matemáticas. Na etapa de extração de informação do sinal também conhecida como front-end, foiutilizada a extração dos coeficientes Mel-Cepstrais (MFCC) derivados da TransformadaRápida de Fourier e da analise por meio de um banco de filtros de escala Mel seguindoa metodologia proposta por Rabiner (RABINER e JUANG, 1978). Os coeficientesMFCC segundo Davis et al (1980) apresentam robustas característica para oreconhecimento de voz, e segundo Chen et al (2005) é talvez a técnica de front-endmais utilizada por sistemas estado da arte de reconhecimento de voz. Também foi desenvolvida uma técnica de pré-processamento de sinais de áudiochamada Inversão de Sinal (IS), que demostrou uma melhor parametrização doscoeficientes MFCC sobre o sinal de som, e se mostrou extremamente útil no algoritmode detecção de inicio e fim de uma elocução (detecção de extremos), que também foiuma proposta deste trabalho. Já para o reconhecimento dos coeficientes MFCC extraídos em relação a um bancode padrões, foi utilizada a Dynamic Time Warping (DTW), ou também conhecida comoModelagem Determinística. A DTW além da vantagem do baixo custo computacionalpossibilita o reconhecimento de elocuções que apresentam variações de velocidade emsua composição. Conforme visto em Yoma (YOMA, 1993), a DTW se encaixaperfeitamente no contexto de reconhecimento de palavras isoladas dependente delocutor. E juntamente com a oferta de reconhecimento de som proposta pelo SRM, foidesenvolvida e incorporada ao framework uma funcionalidade que permite arepresentação gráfica do espectro de sinais digitais de áudio em telas de dispositivosmóveis, esta capacidade apoiou e impulsionou o desenvolvimento do SRM sendo muitoútil nas fases de estudo e análise do comportamento do sinal, e por isso foi mantida edisponibilizada para ser utilizada como objeto de estudo e desenvolvimento em futuraspesquisas.
  15. 15. 15 Também foi elaborada e disponibilizada implicitamente a este framework uma APIpara o cálculo da Transformada Rápida de Fourier na linguagem Java ME, permitindo aobtenção do espectro de magnitudes, e também foi disponibilizada uma funçãocontendo uma formula baseada na obra de (HERATH e RAGEL, 2007), para a obtençãoda frequência do espectro de magnitudes de saída da FFT. Por fim, como produto final obteve-se um motor de reconhecimento de fácilintegração a aplicações móveis Java ME e que se mostrou eficaz no reconhecimento dosgêneros de som envolvidos, apresentando uma precisão, no melhor caso de 94% e nopior caso de 86% de acertos nos testes em dispositivos móveis. Outra característicaapresentada pelo SRM foi um consumo de processamento aquém do esperado, secaracterizando como um sistema de baixo custo, levando-se em consideração acomplexidade das técnicas abordadas sobre o contexto de processamento embarcadoatual.1.1 Considerações Iniciais Neste trabalho foi abordado o termo: “reconhecimento de som”, pois comomencionado anteriormente o reconhecimento nesta proposta se encaixa em categoriasdo reconhecimento de voz, e também o reconhecimento de outros sons que nãocaracterizam uma palavra, chamados a partir deste momento de: “sons abstratos”. Porém, ao longo do trabalho, principalmente na parte de fundamentação teórica, éencontrado o conceito: “reconhecimento de voz”, isso ocorre porque este termo estavaespecificamente associado às ideias extraídas das obras referenciadas, e portantoresolveu-se não distorce-lo. Contudo, neste trabalho, acaba sendo implicitamente proposta a absorção deconceitos típicos de reconhecimento de voz ao reconhecimento de sons abstratos. Sendoque para seguir esta linha metodológica estudou-se a definição de som, apresentada pelaseção 2.1.1.2 Organização do Trabalho A organização dos capítulos neste trabalho ocorre da seguinte maneira: O próximo capitulo (capítulo 2) é destinado à contextualização dos sistemas dereconhecimento de som em dispositivos móveis. O capitulo 3 expõe as técnicasutilizadas para a captura e armazenamento dos arquivos de áudio no dispositivo. Nocapítulo 4 é descrito o processo realizado para a extração de informação do sinal. Nocapitulo 5 é descrito a etapa de reconhecimento. Já no capitulo 6 é caracterizado oframework SRM como um todo. O capitulo 7 apresenta os testes e resultados obtidos.No capitulo 8 é apresentado um estudo de caso utilizando o SRM. E o capitulo 9 encerraapresentado as conclusões.
  16. 16. 162 SISTEMAS DE RECONHECIMENTO DE SOM PARA DISPOSITIVOS MÓVEIS Este capítulo é dedicado à contextualização de sistemas de reconhecimento de somem dispositivos móveis, descrevendo suas principais características.2.1 O Som Som é um sinal analógico definido por vibrações ocasionadas pelas diferenças depressões sofridas pela matéria em que será transmitido, normalmente representadoatravés de curvas sinusoidais que caracterizam suas variáveis possuindo umadeterminada frequência, amplitude e fase (TAFNER, 1996) – ver figura 2.1.Complementado esta definição anterior, pode-se ainda acrescentar conforme aAssociação Brasileira de Normas Técnicas (1959) que “som é toda e qualquer vibraçãoou onda mecânica em um meio elástico dentro da faixa de áudio frequência”. Figura 2.1: Representação de um sinal analógico de som (ROLIM, 2010) Sendo a onda sonora composta por três características básicas (HAYKIN e VEEN,2001):  Amplitude: valor em um determinado momento do nível de sinal;  Frequência: quantidade de vezes por unidade de tempo em que a forma de onda do sinal se repete.  Fase: ângulo em que o sinal se apresenta. Com base nestes conceitos pode-se definir mais claramente o conceito de voz, quesegundo o dicionário Aurélio Online (2010), é um som originado das cordas vocais.Logo ela apresenta as mesmas características físicas descritas acima, e conclui-se quetécnicas utilizadas (neste trabalho) para o reconhecimento de voz, podem ser absorvidaspelo reconhecimento de som.
  17. 17. 172.2 Estado da Arte O desenvolvimento de sistemas de reconhecimento voz em dispositivos móveis éamplamente motivado pelo mercado da telefonia. Existem muitos sistemas dereconhecimento embarcados privados atualmente: Nuance’s VoCom (Nuance Vocon),IBM’s ViaVoice ( IBM Embedded ViaVoice), Asahi Kasei’s VORERO (Asahi KaseiVORERO), entre outros. Esses sistemas são softwares baseados em soluções que rodamem uma gama variada de dispositivos, suportando vocabulários grandes que sãosomente limitados pela memória do dispositivo (MIRANDA, 2008) Na extração de informação do sinal ou front-end, uma característica fundamentalque aumenta consideravelmente o desempenho do reconhecimento é realizar oprocessamento utilizando variáveis ponto-flutuante. Porém, em um ambiente móveltrabalhar com estes tipos de variáveis requer um maior esforço computacional.Entretanto sem o uso de variáveis ponto-flutuante ficaria impraticável aplicar técnicasrobustas atualmente de extração de informações como os coeficientes MFCC (DAVIS eMERMELSTEIN, 1980)(CHEN, PALIWAL, et al., 2005). Outra implicação de seutilizar técnicas deste porte é a complexidade de operações aritméticas envolvidas,incorporadas por funções especiais tal como a Transformada Rápida de Fourier. Já para o reconhecimento o grande desafio é encontrar meios de não sobrecarregar osistema com um acréscimo no número de padrões envolvidos. Outra implicação é aquantidade de armazenamento disponibilizada pelo dispositivo móvel, que se muitolimitada, inviabiliza todo o processo. No reconhecimento de palavras isoladas dependente de locutor – nãonecessariamente no contexto móvel – uma técnica que se mostra ideal para estecontexto de reconhecimento (YOMA, 1993) (FURTUNĂ, 2008) e é tradicionalmenteutilizada é a DTW, que entre outros benefícios possui a vantagem de apresentar umbaixo custo computacional, fator este indispensável em um ambiente móvel. Para maiores informações sobre o estado da arte em dispositivos móveis consultarMiranda (2008).2.3 Modalidades de Reconhecimento de Voz em Dispositivos Móveis Huerta (2000) define três principais modalidades de reconhecimento de voz emdispositivos móveis: (1) reconhecimento de voz em rede, (2) reconhecimento de voz emterminal, e (3) reconhecimento de voz distribuído. A seguir são descritas estas trêsmodalidades:2.3.1 Reconhecimento de Voz em Rede (Network Speech Recognition) Nesta modalidade, o reconhecimento é implementado remotamente do ponto devista do usuário, pois o sinal de voz é transmitido do dispositivo para um servidorrealizar o reconhecimento através de uma rede sem fio. As principais implicações destatécnica são no momento da transmissão sem fio entre o cliente e o servidor. Neste caso,para o envio, deve-se ter uma conexão rápida e confiável, e os dados devem sercomprimidos. Contudo esta modalidade apresenta um reconhecimento mais sofisticadopara aplicações em dispositivo móveis, permitindo a integração de técnicas dereconhecimento mais robustas.
  18. 18. 182.3.2 Reconhecimento de Voz em Terminal (Terminal Speech Recognition) Nesta modalidade, o reconhecimento é feito no dispositivo do usuário. Nestecaso, o sinal de voz não é transmitido através de uma rede sem fio, por issonão é afetado pelo canal de transmissão e de algoritmos de compressão. Entretanto odesempenho do sistema neste tipo de modalidade deve ser cuidadosamente avaliado,devido a sensibilidade do dispositivo em relação ao consumo de memória eprocessamento. Huerta (2000) também afirma que só é possível construir sistemas dereconhecimento relativamente simples (por exemplo, discagem por voz, comando econtrole de aplicações, etc.).2.3.3 Reconhecimento de Voz Distribuído (Distribuided Speech Recognition) Nesta modalidade o sistema de reconhecimento de voz é separado em duas partes:cliente e servidor. A diferença entre esta modalidade e a de reconhecimento em rede, éque, neste caso, a extração de informação do sinal de voz é realizada no própriodispositivo e após são enviados os resultados no formato de dados através de um canalprotegido de erros usando uma rede especifica para o reconhecimento (SUK, JUNG, etal., 2004) (HUERTA, 2000) (MIRANDA, 2008). Isso permite o reconhecimento nãodependente de um sinal que pode ter sido afetado pela compressão e codificação da redesem fio. A principal desvantagem desta abordagem é a dependência de um padrão front-end que é realizado no próprio dispositivo. Estabelecer e padronizar este front-endenvolve problemas difíceis de serem resolvidos como a característica permitir oreconhecimento de alta precisão em ambientes silenciosos e ruidosos. Um sistema destetipo pode se beneficiar das vantagens das duas modalidades já descritas: sistemassofisticados podem ser implementados (como no reconhecimento de rede), enquanto ainformação do sinal é extraída no dispositivo (como no reconhecimento de terminal). Há também outras características e fatores citados em (MIRANDA, 2008)(CIPRIANO, 2001) (LIMA, 2000) (OLIVEIRA, 2002) (SILVA, 2009) que classificamos sistemas de reconhecimento e que devem ser determinados na elaboração de umreconhecedor de som. Escolher que tipo de características o reconhecimento iráabranger, implica diretamente em alterar toda uma metodologia de elaboração emcomparação a um sistema diferente. A seguir são descritas estas características.2.4 Sistemas Contínuo/Discretos Em sistemas de fala isolada ou discreta tem-se uma pausa identificável entre cadapalavra, também pode-se implementar sistemas assim através da captura de uma únicapalavra por arquivo de áudio. Já a fala contínua ocorre de uma maneira mais comum aosseres humanos, onde os limites das palavras não são facilmente distinguíveis, pois a falanão precisa ser pausada e ocorre espontaneamente. Obviamente sistemas de fala discretatem uma precisão geralmente maior em relação aos sistemas de fala contínua que porsua vez, possuem uma maior complexidade (MIRANDA, 2008).
  19. 19. 192.5 Tamanho do Vocabulário O tamanho do vocabulário é a quantidade máxima de elocuções que podem serdefinidas como padrão para o reconhecimento (RABINER e JUANG, 1978). O tamanho do vocabulário utilizado irá afetar diretamente a precisão e odesempenho do sistema, principalmente em ambientes móveis onde o espaço disponívelpara o armazenamento de informações persistentes é limitado, na tabela 2.1 a seguirpode-se verificar a classificação quanto ao tamanho de vocabulário (RABINER eJUANG, 1978). Tabela 2.1: Classificação quanto ao vocabulário Vocabulário Nº. Palavras Pequeno Até 20 Médio Entre 20 e 100 Grande Entre 100 e 1000 Muito Grande Mais de 1000 Quando se fala em precisão, um grande vocabulário atrapalha no momento deavaliar se o reconhecimento obteve alto índice de exatidão, pois se houver um númerogrande de padrões, estes podem apresentar um índice de reconhecimento semelhante aoutros padrões, resultando em um estado de reconhecimento incerto e atrapalhando porvezes um reconhecimento que poderia estar correto.2.6 Sistemas Dependente/Independente de Locutor Nos sistemas dependente de locutor há o reconhecimento dos locutores cujas vozesforam utilizadas para treinar o sistema ou definir os padrões. Os sistemas dependentesde locutor tem boa precisão, mas requerem um treinamento diferente para cada usuário.Para aplicações como editores de texto, a dependência do locutor pode ser muitobenéfica (OLIVEIRA, 2002), pois diminui bastante a taxa de erros. Quando o sistema é independente de locutor o mesmo deve reconhecer a voz dequalquer pessoa sem haver um treinamento antes. Neste caso é necessário realizar otreino geral do sistema com uma base que inclua diferentes pessoas com diferentesidades, sexo, sotaques, timbres de som, etc., para definir um padrão de característicaspredominantes para cada elocução.2.7 Fatores que Interferem no Desempenho Além das características citadas acima, há outros fatores que afetam o desempenhode um sistema de reconhecimento de som:  Variações para um mesmo locutor: Um locutor, ou seja, a pessoa que está pronunciando a elocução varia constantemente e involuntariamente em sua pronuncia. Isso ocorre frequentemente e deve ser levado em conta na fase de reconhecimento, através de técnicas que sejam capazes, de identificar a mesma elocução dita mais lentamente ou mais rapidamente, por exemplo.
  20. 20. 20 Ausência de Treinamento: Em sistemas que dispensam um treinamento para cada padrão de palavra, o desempenho de reconhecimento geralmente é menor, pois se define como padrão uma amostra capturada aleatoriamente, e esta pode conter características anormais de uma pronunciação padrão para uma determinada elocução. Condições do ambiente: Ambientes ruidosos atrapalham muito um reconhecimento preciso, mesmo os mais exatos reconhecedores têm seus desempenhos prejudicados com a adição de ruído, causando frequências indesejáveis no sinal analisado. Microfone: Este fator é um dos mais importantes, pois um microfone de baixa qualidade resultará em um nível de transdução ruidoso e às vezes não representativo o bastante para ser reconhecido. Frequência de Amostragem e níveis de Quantização: Estes fatores são extremamente importantes na qualidade do áudio capturado e serão explicados mais detalhadamente no capítulo 3. Definir configurações muito baixas implica em diminuir os dados digitalizados que representam o sinal de áudio em sua forma contínua. O mínimo utilizado atualmente para sistemas de reconhecimento de voz, são a frequência de amostragem de 8 KHz e 8 bits por amostra, resultando em 256 níveis diferentes de representação por amostra.
  21. 21. 213 CAPTURA E ARMAZENAMENTO DE ÁUDIO Para se obter os arquivos de áudio necessários para o reconhecimento, é essencialincorporar técnicas que permitem sua captura e armazenamento em um contexto móvel. Inicialmente para a captura do sinal analógico e subsequentemente sua conversãopara o formato digital emprega-se técnicas de digitalização de sinais, estas técnicas sãodescritas na seção 3.1 a seguir, e são fundamentais para a aquisição do sinal de áudio emseu formato digital. Já na seção 3.2 é contextualizada a API MMAPI utilizada para ocontrole e configuração da captura do sinal. Na seção 3.3 é então descrita a relação entrea MMAPI e a codificação PCM que é representada pelo formato Wave descrito na seção3.4. E por fim a seção 3.5 refere-se a técnica de armazenamento persistente RMS,utilizada para armazenar a informação pertinente ao reconhecimento.3.1 Digitalização do Sinal Analógico de Áudio Qualquer tipo de sinal analógico que requisite ser armazenado em um sistemacomputacional ou transmitido em um canal de transmissão digital necessita passar porum tratamento de sinal, ou seja, um processo chamado de digitalização (HAYKIN eVEEN, 2001). A digitalização tem o objetivo de representar um sinal analógico emníveis de representação discretos no tempo que correspondem aproximadamente àsvariações contínuas no tempo presentes no sinal a ser digitalizado. Para digitalizar um sinal analógico, são necessárias no mínimo quatro etapas: 1. Filtragem Anti-Aliasing; 2. Amostragem; 3. Quantização; 4. Codificação. Contudo, antes de iniciar a descrição dos processos de digitalização é convenientelembrar o Teorema de Amostragem de Nyquist. A frequência de amostragem de um sinal analógico, para que possa posteriormente ser reconstituído com o mínimo de perda de informação, deve ser igual ou maior a duas vezes a maior frequência do espectro desse sinal. Em outras palavras, a quantidade de amostras por unidade de tempo de um sinal,chamada taxa ou frequência de amostragem, deve ser maior que o dobro da maiorfrequência contida no sinal a ser amostrado, para que possa ser reproduzidointegralmente.
  22. 22. 22 A metade da frequência de amostragem é chamada frequência de Nyquist ecorresponde ao limite máximo de frequência do sinal que pode ser reproduzido.3.1.1 Filtro Anti-Aliasing Em Petry (2002), é visto que um sinal de voz muitas vezes não possui uma limitaçãoconstante em frequência e pode possuir componentes de frequência em uma faixa deamplitudes bastante larga. Então como não é possível garantir que o sinal não contenhafrequências acima da frequência de Nyquist (distorções, interferências, ruídos, etc.), énecessário filtrar o sinal com um filtro passa-baixas chamado filtro Anti-Aliasing comfrequência de corte igual (ou menor) a frequência de Nyquist objetivando suprimir ascomponentes de frequência do sinal analógico superior à frequência de Nyquist. Figura 3.1: Filtragem e digitalização do sinal analógico (CIPRIANO, 2001) Na figura 3.1 acima pode-se ter uma visão mais clara do contexto do filtro Anti-Aliasing no processo de digitalização do sinal. Onde primeiramente o sinal analógico éfiltrado e convertido em sinal digital para então ser aplicado a algum processamentodigital. Após a aplicação do filtro Anti-Aliasing é iniciado o processo de conversão A/D(RABINER e JUANG, 1978) composto pelas fases de amostragem, quantização ecodificação que serão brevemente detalhadas a seguir.3.1.2 Amostragem O som se propaga no espaço na forma de onda, essa onda por ser um sinal analógicopossui infinitas variações através do tempo. Para tornar possível a medição dessasvariações, se faz necessário utilizar técnicas que captam amostras regulares do sinalanalógico e os codifique em um conjunto sequencial que expressam a informação daonda sonora de uma forma simplificada, mas os mesmo tempo sem perder a essência desua informação. De acordo com Castro (2006), o processo de amostragem é “o processoatravés do qual o sinal contínuo no tempo é transformado em um sinal discreto notempo”, segundo Filho (2006), “a amostragem é o processo que consiste em caracterizara forma analógica da onda como uma sequência de números tomados a intervalosregulares, onde cada um indica um valor para a amplitude de um sinal em umdeterminado instante” – ver figura 3.2.
  23. 23. 23 Figura 3.2: Exemplo do processo de amostragem do sinal contínuo (FILHO, 2006) Na amostragem é definida uma frequência de amostragem que representa o númerode amostras registradas por segundo, os valores mais comuns para gravação de áudiosão de 8 KHz, 11 KHz, 16 KHz, etc. Quanto maior for a frequência de amostragemmaior será a qualidade do áudio digitalizado, e consequentemente menor a possibilidadedo reconhecimento resultar em erros. Há um índice comparativo descrevendo a reduçãoda taxa de erros de reconhecimento conforme o aumento da frequência de amostragemexpressa pela tabela 3.1 (HUANG, ACERO e HON, 2001). Tabela 3.1: Taxa de erros em relação à frequência de amostragem FREQ. DE AMOSTRAGEM REDUÇÃO RELATICA DA TAXA DE ERROS 8000 Hz Limite Mínimo 11000 Hz +10% 16000 Hz +10% 22000 Hz Sem Redução Na tabela 3.1 percebe-se uma diminuição significativa na taxa de erros conforme oaumento da frequência de amostragem o que comprova a sua importância aoreconhecimento, contudo essa redução sessa ao se alcançar o patamar de 22 KHz onde apartir daí, não há aumento significativo na qualidade do áudio. É importante comentar que, na amostragem, pode ocorrer um efeito negativochamado aliasing e isso é evitado utilizando previamente o filtro Anti-Aliasing descritoanteriormente. Porém somente o processo de amostragem não é suficiente para caracterizar o sinalcaptado, pois não oferece parâmetros próximos o suficiente da correta representação daonda analógica. Para resolver esse fato emprega-se a quantização.
  24. 24. 243.1.3 Quantização Processo que transforma um sinal discreto (resultado da amostragem), nos sinais digitais que são filtrados pelo processador. Tanto a amostragem quanto a quantização são realizadas por um conversor analógico digital, sendo a quantização um processo descrito em nível de bits, e.g., um CD de áudio é amostrado a uma freqüência de 44.100 Hz e quantizado com 16 bits.[...]. Embora ocorram perdas na representação do sinal, o processo de quantização gera uma aproximação bastante satisfatória e mais facilmente tratável em sistemas computacionais (FILHO, 2006). Complementando, Castro (2006) sustenta que quantização é o “processo através doqual um sinal contínuo em amplitude é transformado em um sinal discreto emamplitude”. Figura 3.3: Sinal analógico digitalizado e quantizado (FILHO, 2006). A Figura 3.3(a) mostra um sinal digitalizado, e a figura 3.3(b), o mesmo sinalquantizado. Em 3.3(a) o sinal contínuo é transformado em sinal digital, utilizando umconjunto de possíveis valores discretos, através do processo de amostragem. Em 3.3(b)o sinal é quantizado para obter uma aproximação maior do sinal original. Quanto maior for o nível de quantização maior será a qualidade do sinal digital, porexemplo, se for utilizada uma conversão de 8 bits, obtém-se 256 níveis de quantização(TAFNER, 1996), e com uma possiblidade maior de variações, maior será a semelhançaentre o sinal analógico capturado e sua respectiva representação no formato digital.3.1.4 Codificação O processo de codificação é expresso num formato sequencial binário dos resultadosobtido e refinados nos processos de amostragem e quantização (CASTRO, 2006).
  25. 25. 25 Tabela 3.2: Codificação do sinal em uma sequência numérica de base binária (CASTRO, 2006). Na codificação expressa pela tabela 3.2, cada amostra é mapeada em uma sequênciacom valores associados a um número representado por N bits. Cada número representaum valor, que depende do mapeamento do código adotado.3.1.5 Pulse Code Modulation (PCM) Como visto na seção anterior os valores quantizados precisam ser codificados emsequências de bits. Para realizar esta codificação pode-se utilizar o PCM que é um tipode codificador de forma de onda simples, cujo objetivo é reproduzir o sinal analógicoamostra por amostra através dos processos de amostragem, quantização e codificação(ELIAS, 2006) (KUTWAK, 1999). No PCM cada pulso amostrado de amplitude variável é transformado em umasequência de bits com amplitude fixa e valores binários, com um código tal querepresenta o valor do pulso amostrado original, arredondado pelo erro de quantização(ELIAS, 2006). Figura 3.4: Processo de codificação PCM (ZURMELY, 2010).
  26. 26. 26 Pode-se notar na figura 3.4, que nos instantes de amostragem, os sinais sãoamostrados usando como parâmetro sinalizações ao longo do tempo, já na quantizaçãoos sinais são adicionalmente parametrizados ao longo de sua amplitude, em seguidaestes parâmetros são codificados em um formato binário. A principal vantagem da Codificação PCM é a pouca complexidade e a altaqualidade obtida na digitalização do sinal, sua desvantagem é relativa alta taxa detransmissão (KUTWAK, 1999).3.2 Wave File Format O arquivo PCM normalmente é armazenado em um formato de arquivo de áudioWave. O Wave é um subconjunto da especificação RIFF da Microsoft para oarmazenamento de arquivos multimídia (WILSON, 2003). Um arquivo RIFF começa com um cabeçalho do arquivo seguido por uma sequenciade blocos de dados, conforme pode ser visto na figura 3.6. Figura 3.5: Formato Wave (WILSON, 2003). A área de dados do arquivo Wave é armazenada num vetor de bytes que contémtodos os pontos amostrados. Cada elemento do vetor corresponde a uma amostra de 1byte, correspondendo a valores decimais de +127 a -128 que representam os pulsosquantizados de amplitude. Neste trabalho o bloco do cabeçalho utilizado foi o “Subchunck2Size” que éresultado do cálculo: NumSamples*NumChannels*BitsPerSample/8 (WILSON, 2003).Nele está contido um número em bytes representando o tamanho do bloco data, que
  27. 27. 27contém os dados amostrados. O número de amostras reais do arquivo Wave pode serextraído pela seguinte equação: Onde Na representa o número real de amostras e Wl representa o tamanho total dovetor de bytes Wave.3.3 MMAPI A Mobile Media API (MMAPI) oferece um grande apoio pra se trabalhar commídias em dispositivos móveis. Com ela cria-se uma liberdade e um acessibilidade aosserviços de multimídia nativos em determinados dispositivos móveis, permitindo areprodução de vídeo, áudio, captura de som e imagens, utilizando o Java ME(ORACLE, 2010). Também a MMAPI disponibiliza uma flexibilidade na configuraçãousada para a captura onde o desenvolvedor pode escolher a codificação e suascaracterísticas de conversão A/D (taxa de amostragem, bits por amostra, etc.).3.3.1 MMAPI, JSR 135 Segundo o autor do livro “Pro Java ME MMAPI Mobile Media API for Java MicroEdition” Goyal (2006) a MMAPI, é uma API opcional que prove suporte a recursosmultimídia, como reprodução, edição e captura de áudio e vídeo a partir de diversasfontes. A MMAPI atualmente se encontra na versão 1.1 e já é suportada pela maioriados dispositivos que suportam MIDP 2.0. A JSR 135 que define a MMAPI, nãodepende de protocolos ou formatos de arquivos, esse suporte a diferentes formatos é deresponsabilidade do fabricante do dispositivo. Essa flexibilidade permite a possibilidadede reprodução de qualquer formato de arquivo especificado pelo fabricante. Embora a ênfase principal da MMAPI seja sobre os dispositivos que implementamperfis com base em CLDC, seu projeto também visa apoiar os dispositivos queimplementam perfis com base no CDC. A MMAPI é integrada nesse trabalho, pela vantagem de permitir acesso fácil erápido para captura e execução de áudio em dispositivos móveis. Somado ao fato de quenão há outra API de suporte multimídia semelhante à MMAPI no momento (ORACLE,2010). Funcionamento O processo de funcionamento da MMAPI pode ser dividido em duas fases:  Protocol handling – cuja responsabilidade é a captura da mídia, tal como a captura de áudio.  Content handing – tem a função de processar os dados recebidos, ou seja, decodificar e renderizar enviando para os dispositivos de saída como o alto- falante.
  28. 28. 28 Figura 3.6 - Processo de Funcionamento da MMAPI (GOYAL, 2006). Arquitetura Na JSR 135 são utilizados dois tipos de objetos de alto nível: DataSource querecebe a mídia e faz um encapsulamento do processo de controle do protocolo Player,que controla o conteúdo fornecido por DataSource e, além disso, processa e envia parao dispositivo de saída adequado, que pode ser um display ou alto-falante (GOYAL,2006).3.3.2 MMAPI e PCM A MMAPI dispõe de duas configurações extremas (mínimo/máximo) para acodificação PCM do sinal de áudio capturado pelo dispositivo móvel (GOYAL, 2006):  Mínimo: PCM com uma taxa de frequência de 8000 Hz, e 8 bits por amostra e um único canal (mono);  Máximo: PCM a uma taxa de frequência de 22050 Hz, 16 bits por amostra, e dois canais (estéreo). Configurações intermediárias podem ser livremente escolhidas, desde quesuportadas pelo dispositivo. Para se descobrir as capacidades e as propriedades de codificação de áudiosuportadas por determinado dispositivo móvel basta utilizar a função genuína do JavaME: System.getProperty(“audio.encodigns”), onde será retornado um vetor do tipoString contendo o formato das codificações suportadas (GOYAL, 2006). Estaverificação de formato pode ser obtida em Goyal (2006), na pagina 128 do seu livro, naforma de um aplicativo que exibe na tela do dispositivo as codificações suportadas. No framework SRM o áudio capturado encontra-se em uma configuração PCM fixade 8 bits por amostra, entretanto permitindo a flexibilização da frequência deamostragem.3.4 RMS O Record Management Store (RMS), flexibiliza as aplicações em dispositivosmóveis através do recurso de persistência de dados.
  29. 29. 29 No RMS é possível armazenar as informações manipuladas nas aplicações dosdispositivos de uma maneira persistente, sem que elas sejam perdidas quando odispositivo for desligado. [...] cada record store pode ser visualizado como uma coleção de registros, que continuarão a ser persistente em várias invocações do MIDlet. A plataforma de dispositivo é responsável por fazer o seu melhor esforço para manter a integridade dos record stores do MIDlet durante o uso normal da plataforma, incluindo reinicializações, mudanças de bateria, etc [...] (SUN, 2006). Figura 3.7: Interface Java ME RMS (SUN, 2008) Segundo o site Java Tips (SUN, 2008) um record store é a única forma dearmazenamento persistente que um dispositivo CLDC é obrigado a suportar . O recordstore é um conjunto de elementos de dados não formatado, cada um identificado por umnúmero inteiro único, também chamado de ID. “Esse sistema é implementado através da classe javax.microedition.rms.RecordStore, que fornece o acesso de abertura, fechamento, escrita eleitura de dados no vetor de bytes que o consiste” (COSTA e GRAZZIOTIN, 2007). Nesse trabalho o RMS será usado para armazenar informações importantes aoreconhecimento e ao funcionamento do framework.
  30. 30. 304 EXTRAÇÃO DE INFORMAÇÃO A extração da informação útil do sinal digital de som visa gerar um conjunto decaracterísticas que diferenciam de maneira reconhecível os eventos de cada elocuçãorepresentada digitalmente (PETRY, ZANUT e BARONE, 2000) (CIPRIANO, 2001). A metodologia para a extração de informação do sinal seguida por este trabalho ébaseada em diversas obras da literatura moderna tais como (PETRY, 2002),(CUADROS, 2007), (SILVA, 2009) (PETRY, ZANUT e BARONE, 2000), entreoutros. Também é adicionada a esta metodologia a técnica de pré-processamentochamada Inversão de Sinal proposta por este trabalho e descrita na subseção 6.4.1. Na figura 4.1 a seguir pode-se observar todas as etapas presentes na extração dainformação do sinal no contexto deste trabalho destacando a parte que é implementadapelo framework SRM. Figura 4.1: Etapas que compõe a extração de informação do sinal de som Abaixo então, são detalhados os processos que compõe a fase de extração deinformação. A seção 4.1 descreve a etapa de pré-processamento. Na seção 4.2 é
  31. 31. 31apresentada a analise espectral. E na seção 4.3 o processo de extração dos coeficientesMFCC.4.1 Pré-Processamento O pré-processamento visa preparar o sinal para a análise espectral, auxiliando noprocesso de parametrização enfatizando os eventos contidos em cada sinal. Suaaplicação ao sinal é dividida em etapas de acordo com a figura 4.2. Figura 4.2: Etapas do pré-processamento Abaixo são descritas suas etapas conforme a figura 4.2.4.1.1 Detecção de Extremos A detecção de extremos visa recortar o sinal de som de modo a obter somente osegmento do sinal contendo a elocução, eliminando os períodos considerados comosilêncio. Esta técnica permite aumentar a distinção das informações presente emdiferentes sinais (LIMA, 2000).4.1.2 Inversão de Sinal Como a Inversão de Sinal é um proposta deste trabalho, a mesma não pode sercaracterizada neste capítulo referente à fundamentação teórica, e juntamente com oalgoritmo de detecção de extremos proposto, é explicada na subseção 6.4.1.4.1.3 Pré-Ênfase Normalmente o sinal depois de filtrado pelo filtro Anti-Aliasing e digitalizado peloconversor A/D é em seguida aplicado a um filtro de pré-ênfase (PETRY, ZANUT eBARONE, 2000) (RABINER e JUANG, 1978) (SILVA, 2009), objetivando nivelar seuespectro compensando a atenuação de 6dB/oitava nas altas frequências. Esta atenuaçãoespectral é decorrente de características fisiológicas do trato vocal que podem serremovida através da aplicação deste filtro (PETRY, 2002), O filtro pré-ênfase é aplicadoao sinal através da equação abaixo: [ ] [ ] [ ] Onde y é o sinal pré-enfatizado, s é o sinal de som amostrado, n é a quantidade deamostras e é o coeficiente de pré-ênfase com o valor entre 0.9 e 1 (RABINER eJUANG, 1978). Na figura 4.3 pode-se perceber a mudança no espectro de frequênciasantes e depois da aplicação de pré-ênfase.
  32. 32. 32 Figura 4.3: Espectro de frequências sem e com pré-ênfase (PETRY, 2002) O filtro pré-ênfase também é usado para equalizar o espectro de som e melhorar odesempenho da análise espectral atenuando sinais de baixa frequência e fazendo comque sinais agudos sejam destacados (CIPRIANO, 2001). Neste trabalho o filtro pré-enfase é aplicado logo após o sinal passar pelo processode Inversão de Sinal.4.1.4 Janelamento Em todas as aplicações práticas de processamento de sinais, é necessário se trabalharcom pequenas porções ou frames do sinal. O janelamento consiste em segmentar o sinalpré-enfatizado através da divisão do sinal em janelas a fim de obter estas pequenasporções. Pois se considera que os parâmetros do trato vocal variam lentamente nodecorrer do tempo. Assim para intervalos de 10 à aproximadamente 30 milissegundosassume-se que as variações no modelo do trato vocal não se alteram, podendo serconsideradas estacionárias (RABINER e JUANG, 1978) (CIPRIANO, 2001) (LIMA,2000) (PETRY, ZANUT e BARONE, 2000) (PETRY, 2002) (SILVA, 2009). Uma boa analogia para entender a divisão em janelas do sinal, seria comparar asjanelas a frames em um vídeo, os mesmos representam estaticamente algum momentode imagem, e seu conjunto corresponde a um vídeo em si. Entre as janelas existentes (Retangular, Bartlett, Blackman, Hanning, Welch), a queé tipicamente utilizada por autores de reconhecimento de voz, e consequentemente aque se mostra mais interessante é a janela de Hamming ou do inglês Hamming Window. A janela de Hamming pode usada para realizar a segmentação do sinal, ou pode seraplicada a um sinal já segmentado. Sua função é suavizar as bordas de cada segmentoque por consequência da segmentação podem conter variações abruptas do sinal. Essasuavização é realizada pelo próprio aspecto da janela e também pela sobreposição entrejanelas. Na figura 4.4 se pode compreender o aspecto teórico (a), e prático (aplicado aum sinal qualquer) (b), de uma janela de Hamming:
  33. 33. 33 Figura 4.4: Janela de Hamming E sua função de aplicação ao sinal é dada pela seguinte equação: [ ] { ( ) Aplicar uma janela a um sinal no domínio de tempo corresponde a multiplicar osinal pela função que representa a janela. Uma vez que a multiplicação no domínio detempo equivale a convolução no domínio de frequência, a aplicação da janela nodomínio de tempo altera a forma do sinal também no domínio de frequência (RABINERe JUANG, 1978) (ANDRADE e SOARES, 2005). A sobreposição das janelas pode ser disposta conforme a figura 4.5. Figura 4.5: Janelas de Hamming com sobreposição de 50% A sobreposição das janelas pode variar de 0% a 70%. A figura 4.5 exemplifica umaaplicação de janelas de Hamming com sobreposição de 50%. Uma sobreposição altapermite uma transição mais suave dos parâmetros extraídos, porém, estimativasamplamente suavizadas podem ocultar variações reais do sinal (CIPRIANO, 2001).
  34. 34. 34Caso a última janela ultrapassar os limites do sinal, deve-se completar com zeros até ofinal da janela, como mostrado na janela 5 da figura 4.5. Como explicado, o janelamento permite a fragmentação do sinal de som em quadrosonde o sinal pode ser considerado estacionário. Essa característica é útil para aplicaçãoem seguida da Transformada Rápida de Fourier (FFT). Escolher o tipo, tamanho esobreposição de uma janela, é muito importante para resultados otimizados dereconhecimento e também de performance de processamento, fator este fundamental nocontexto móvel. Outra janela utilizada no processamento de sinal de voz é a janela retangular. Ela é amais simples de ser aplicada, pois na pratica aplicar uma janela retangular significa nãoaplicar janela nenhuma, e somente dividir o sinal em segmentos, mantendo seu valor demagnitude anterior (ANDRADE e SOARES, 2005). Esta janela pode ser útil emalgoritmos de detecção de extremos. Após o processo de janelamento o sinal está pronto para ser modificado quanto a suarepresentação pela análise espectral, nela é realizado o processo para converter suarepresentação do domínio de tempo para o domínio de frequências. Isso se torna útil,pois um sinal no domínio de frequência fornece informações mais convenientes aoreconhecimento sobre suas características.4.2 Análise Espectral A função da análise espectral é representar os parâmetros mais úteis do sinal nodomínio de frequências ao invés do domínio do tempo permitindo uma distinção maisdetalhada da composição fonética do sinal de som (SILVA, 2009). Essa característica éprincipalmente utilizada no reconhecimento de voz, onde a principal diferença entre aspalavras se dá num domínio de frequências. Contudo, neste trabalho também é aplicadaao reconhecimento de sons. Figura 4.6: Análise espectral Na figura 4.6, pode-se entender onde a análise espectral se encaixa na extração deinformação, também é possível perceber que o sinal ao passar pela analise espectral temseu domínio de representação alterado para o domínio de frequências.
  35. 35. 35 A seguir são descritas as etapas que compõe a análise espectral presentes na figura4.6.4.2.1 Transformada Rápida de Fourier (FFT) A transformada rápida de Fourier (FFT) do inglês Fast Fourier Transform consisteem uma família de algoritmos para calcular de uma forma mais eficiente aTransformada Discreta de Fourier (DFT) e sua inversa. A DFT é um membro da famíliade técnicas matemáticas usadas para realizar a análise de Fourier. A DFT permiterepresentar um sinal discreto no domínio tempo e transformar esse sinal para umarepresentação discreta no domínio de frequências (GONÇALVES, 2004) (CERNA eHARVEY, 2000). Considerando–se N amostras do sinal no domínio de tempo, denotadas f[k],k=0,1,2,...,N-1, a DFT é data por um conjunto de N amostras do sinal no domínio defrequência, denotadas por F[n], n = 0,1,2,...,N-1 e definidas pela equação: [ ] ∑ [ ] e sua inversa [ ] ∑ [ ] Porém o cálculo de uma transformada discreta de Fourier exige muitoprocessamento computacional (envolvendo um número considerável de somatórios,integrações e substituições) e se torna inviável para o processo de análise espectral deum sinal de som. Em virtude desta complexidade, algoritmos de resolução datransformada discreta de Fourier foram desenvolvidos e aperfeiçoados no decorrer dotempo. O algoritmo mais conhecido de resolução desta transformada é o FFT. Com oFFT foi possível calcular uma DFT com seu algoritmo de ordem de complexidade n²,com um algoritmo de ordem de complexidade igual n.log2.n (CERNA e HARVEY,2000). Desta maneira a FFT reduz expressivamente os cálculos matemáticos usados pararealizar a análise de Fourier. Para fins explicativos, abaixo é apresentado, através dafigura 4.7, um gráfico com o tempo de processamento que a FFT consumiu conforme oaumento de pontos numa escala de potencia de 2, em um teste realizado no emuladorSDK 3.0, utilizado variáveis ponto-flutuantes do tipo float.
  36. 36. 36 140 120 100 Tempo (ms) 80 60 40 20 0 128 256 512 1024 2048 4096 8192 Número de pontos de entrada Figura 4.7: Desempenho da FFT em relação ao aumento de pontos É importante lembrar que a FFT não é um tipo diferente de transformada e sim umatécnica que possibilita calcular a DFT de forma muito mais rápida e econômica. Existem vários algoritmos usados para computar a FFT, entre eles podem ser citadoso radix-2, radix-8, Split-radix, e prime-factor. O mais conhecido destes é o radix-2, quefoi utilizado neste trabalho embora não seja o mais rápido. Devido a características doalgoritmo radix-2, o cálculo da FFT requisita um tamanho de vetor de entrada igual auma potencia de 2 (128, 256), o que reduz o custo computacional do algoritmodiminuindo consideravelmente o número de operações (YOMA, 1993). Caso o tamanhodo vetor de entrada não seja uma potencia de 2 emprega-se a técnica de Zero Paddingnas janelas que simplesmente complementa o tamanho inicial do vetor para um tamanhoigual a uma potencia de 2 através da atribuição de zeros no final do vetor. Uma vez que a transformada de Fourier é executada como saída tem-se a parte reale a imaginária que correspondem as funções base utilizadas na FFT chamadas funçõescosseno e seno – ver figura 4.8. Figura 4.8: Esquema de saída da FFT e a aplicação de sua inversa (JNECZKO, 2010) Com estes vetores de saída da FFT pode-se calcular o espectro de magnitude, querepresenta os valores de amplitude de toda componente de frequência, e um espectro defase que fornece o valor inicial da fase de cada componente de frequência ao longo da
  37. 37. 37duração do sinal. O espectro de magnitudes pode ser obtido através da seguinte equação(CERNA e HARVEY, 2000): [ ] √ [ ] [ ] e o espectro de fase: [ ] [ ] ( ) [ ] Onde P é o espectro de fase, M é o espectro de magnitude, real é a parte real desaída da FFT, imag é a parte imaginária de saída da FFT e n é o número de pontos de cadajanela imposta à da FFT.4.2.2 Espectro de Potências Cada índice do espectro de magnitude de saída da FFT representa uma frequênciacom uma determinada amplitude. Contudo a primeira metade da magnitude é simétricaem relação a sua segunda metade. Então descarta-se a segunda metade (CUADROS,2007), resultando em um vetor de tamanho N/2. O espectro de potências da FFT pode ser obtido simplesmente elevando o módulo damagnitude ao quadrado: [ ] | [ ]| Onde Pw é o espectro de potências e M é o espectro de magnitude. O espectro depotências terá então um tamanho N/2 devido à simetria do vetor de magnitude, onde N éo tamanho inicial da janela aplicada a FFT, ou seja, o número de pontos da FFT.4.3 Extração dos Parâmetros Esta é a ultima etapa da extração de informação (SPHINX-4, 2008). Após arealização de uma análise espectral do sinal de som, é preciso determinar um conjuntode parâmetros capazes de diferenciar cada evento (CIPRIANO, 2001). A ideia básica daextração de parâmetros é a de uma redução no volume de dados de forma a gerar apenasum conjunto pequeno de parâmetros, porém contendo informações suficientes para acaracterização do sinal. Para isso os parâmetros extraídos no processo de análiseespectral devem ser o máximo invariante de interferências externas, como ruído defundo, transdutor e locutor, reduzindo as taxas computacionais sem muita perda deinformação (CIPRIANO, 2001). Neste trabalho foi utilizada a extração de parâmetros através dos coeficientes Mel-Cepstrais (MFCC do inglês Mel-Frequency Cepstral Coefficients).4.3.1 Coeficientes Mel-Cepstrais (MFCC) De acordo com Petry (2002), Mel é “uma unidade de frequência ou picos percebidosde um som”, amplamente utilizada no reconhecimento de voz e que procura aproximar-se da sensitividade de frequências do ouvido humano.
  38. 38. 38 A ideia da escala Mel surgiu em 1940, através de um experimento realizado porVolkman e Stevens. Neste experimento foi arbitrado que 1000 Hz seriam iguais a 1000Mels, e foi se alterando a frequência de um determinado sinal e perguntando as pessoasque contribuíam para os testes quanto de aumento elas notavam na frequência (LIMA,2000). Terminada esta pesquisa, foi comprovado então que a percepção do ouvidohumano para as frequências sonoras não segue uma escala linear (SILVA, 2009). Issopode ser melhor observado através da figura 4.9. Onde as escalas de frequência em Hz eas em Mel são comparadas. Figura 4.9 - Variação logarítmica da escala Mel em relação a Hz (LIMA, 2000) Na escala Mel cada frequência linear medida em Hz associa-se um valor computadopor essa escala medido em Mels, ou seja, uma representação de frequência na escalaMel. Seja f uma frequência física linear medida em Hz, pode-se calcular a representaçãoMel denotado por m desta frequência pela equação abaixo: ( ) E para transformar uma frequência Mel em uma frequência linear (Hz), aplica-se: ( ) ( ) A técnica de extração de parâmetros MFCC baseia-se no uso do espectro de somalterado segundo a escala Mel (SILVA, 2009). As etapas necessárias segundo ametodologia descrita por Rabiner et al (1978), para a se adquirir os coeficientes MFCCpodem ser observadas através da figura 4.10.
  39. 39. 39 Figura 4.10: Etapas da extração dos parâmetros Para obtenção dos coeficientes MFCC, filtra-se cada janela de espectro de potenciaspor um banco de filtros triangulares na escala Mel. Geralmente usa-se 20 filtros passa-banda igualmente espaçados. Sendo 10 filtros uniformemente espaçados no eixo dafrequência até 1000 Hz e acima de 1000 Hz as faixas são distribuídas segundo umaescala logarítmica (RABINER e JUANG, 1978) (PETRY, 2002) (LIMA, 2000) – verfigura 4.11. Figura 4.11: Exemplo de banco de 20 filtros triangulares espaçados de acordo com a escala Mel (LIMA, 2000). A aplicação do banco de filtros objetiva reduzir o espectro de potencias para umasequencia acumulada de valores de potencia, em bandas de frequência diferentes. Alémdisso, aplicar os filtros também diminui a dimensão do vetor do espectro de potênciaspara um tamanho igual ao número de filtros adotado. Os elementos de um segmento quepassam por um mesmo filtro são somados para originar um único elemento para cadafiltro naquele segmento (RABINER e JUANG, 1978) (SPHINX-4, 2008). As constantes que definem um banco de filtros são o número de filtros, a frequênciamínima, e a frequência máxima. A frequência mínima e a máxima determinam a faixade frequência abrangida pelo filtro. Essas frequências dependem do canal e a frequênciade amostragem que se esta usando (SPHINX-4, 2008). Para telefonia, uma vez que ocanal telefônico corresponde a um filtro passa-banda com frequências de corte de cercade 300Hz e 3700Hz, limites de uso mais amplo do que estes seriam resíduos de largurade banda. Já para voz, a freqüência mínima de interresse geralmente é maior do que100Hz, já que não há informação de som abaixo desta frequência (SPHINX-4, 2008).
  40. 40. 40 Para a construção dos filtros Mel, considera-se que sejam distribuídos k filtros nafrequência de Nyquist sobre o espectro linear (espectro de potencias) P. As frequênciascentrais fc destes filtros, distribuídas linearmente na escala Mel são calculadas segundoas etapas a seguir (BOERSMA e WEENINK, 2001): 1. Cálculo da largura de banda de Nyquist na escala Mel: ( ) 2. Cálculo das frequências centrais dos filtros MFC: ( ) ( ) 3. Cálculo da função de transferência (H): As funções do filtro passa-banda em escala mel são usadas de forma triangular sobre uma escala de frequência linear f. A função do filtro depende de três parâmetros: a fl que correspondente a menor freqüência, a frequência fc que é a frequencia central e fh que é a maior frequência. Em uma escala Mel, as distâncias fc-fl e fh-fc são as mesmas para cada filtro, sendo iguais para a distância entre fc de filtros sucessivos. A função do filtro é expressa pela seguinte equação (ZHOU e HAN, 2009) (BOERSMA e WEENINK, 2001): [ ] { Onde k é o número de filtros e f é o índice correspondendo a frequência proporcional abrangida pelo filtro sobre o espectro de potências. 4. Cálculo do valor acumulado de potencia no k-ésimo filtro: O espectro de potencias P é multiplicado pelo banco de filtros Mel e convertido para o espectro Mel. Onde o valor de energia acumulado para cada filtro é dado por (ZHOU e HAN, 2009): [ ] ∑ [ ] [ ] Onde X[k] é a energia de saída do k-ésimo filtro triangular, P é o espectro de potencias e N é o número de pontos da FFT.
  41. 41. 41 Após estes procedimentos obtém-se um vetor contendo a energia de saída de cada filtro em relação ao espectro de potências, representado pela figura 4.12 abaixo. Figura 4.12: Energia de saída do banco de filtros De posse da energia de saída de cada filtro triangular, calcula-se o logaritmo na base10 (ln) da sequencia obtida através da equação abaixo objetivando obter os coeficientescepestros (ZHOU e HAN, 2009)(YOMA, 1993) (PETRY, 2002) (RABINER e JUANG,1978). [ ] [ ] Então, aplica-se a transformada discreta do cosseno ou DCT (do inglês DiscreteCossine Transform) sobre estes valores para gerar os coeficientes MFCC, pois foiprovado, que para uma sequencia de números reais a DCT é equivalente ao cálculo daFFT inversa (SPHINX-4, 2008). A equação para efetuar a DCT é apresentada a seguir(RABINER e JUANG, 1978) (LIMA, 2000): [ ] ∑ [ ] ( ) Onde n representa o índice do coeficiente MFCC, k o índice do filtro, M o númerototal de filtros e L o logaritmo da energia de saída k-ésimo filtro do banco. Obtendo desta maneira os coeficientes MFCC. Normalmente como processoadicional e observado em (SPHINX-4, 2008)(CUADROS, 2007) (CHEN, PALIWAL,et al., 2005) é descartado o primeiro coeficiente MFCC obtido, pois este geralmentepode carregar muita informação do meio de transmissão, desnecessária para oreconhecimento.
  42. 42. 425 RECONHECIMENTO O sinal de som, após passar pela fase de extração de informação, é expresso em umconjunto de parâmetros que representam informações deste mesmo sinal. A partir disso,pode-se iniciar a etapa de reconhecimento utilizando alguma técnica capaz dereconhecer os parâmetros gerados e definidos como padrões em relação a um conjuntosde parâmetros MFCC representado o sinal a ser reconhecido. Neste trabalho entende-se por padrão um conjunto de coeficientes MFCC extraídosdo processo de extração de informação de um sinal de som que se deseja definir comopadrão. Uma questão chave no reconhecimento de som é como comparar os padrões de sompela sua similaridade (ou equivalência, a distância entre os padrões). Dependendo dotipo de sistema de reconhecimento, a comparação de padrões pode ter uma grande gamade variações (RABINER e JUANG, 1978). O desempenho dos sistemas de reconhecimento gira em torno do número de padrõesestabelecidos para comparação. Quanto maior for o número de padrões a seremcomparados, maior será a requisição de processamento pelo sistema econsequentemente maior será o tempo de reconhecimento (OLIVEIRA, 2002). Emdispositivos portáteis este problema se agrava, principalmente o de processamento (jáque a capacidade de armazenamento está mais flexível atualmente), então torna-senecessário contornar este problema com técnicas que ofereçam baixo custocomputacional mas também permitem um reconhecimento confiável. Com base nos fatores citados acima, este trabalho adotou para o reconhecimento, aDinamic Time Warping (DTW), cujo principal objetivo é determinar distâncias (atravésdo uso em seu algoritmo da distância Euclidiana) dos padrões armazenados. Suaprincipal vantagem é o baixo custo computacional e a capacidade de eliminar variaçõestemporais entre as elocuções. Conforme visto em Yoma (YOMA, 1993), a DTW seencaixa perfeitamente no contexto de reconhecimento de palavras isoladas dependentede locutor.5.1 Dinamic Time Warping (DTW) A Dynamic Time Warping (DTW), ou Modelagem Determinística é um algoritmopara calcular o caminho ótimo entre duas séries temporais (FURTUNĂ, 2008). Oalgoritmo da DTW é introduzido para contornar o problema causado pelas variações develocidade de pronunciação de palavras como pode ser observado na figura 5.1(YOMA, 1993). Em sua versão “solo” a DTW surgiu no final da década de 70, sendoque também é utilizado hoje em dia nos HMM (Modelos Ocultos de Markov), onde émais conhecido como algoritmo de decodificação de Viterbi.
  43. 43. 43 Figura 5.1: Exemplo de diferença temporal Esta modelagem utiliza os parâmetros do sinal de voz como padrões de teste ereferencia, junto com alguma métrica apropriada para a comparação dos mesmos, tendobaixo custo (CIPRIANO, 2001). Uma frequente métrica utilizada para comparação é ocalculo de distância vetorial entre os padrões (FURTUNĂ, 2008). Existem algumastécnicas para o cálculo de distância vetorial, tais como a distância de Malahanobis(PETRY, ZANUT e BARONE, 2000), a distância de Bhattacharyya (PETRY, 2002) e adistância Euclidiana (FURTUNĂ, 2008), esta última, é a mais comumente usada noreconhecimento de voz devido ao seu baixo custo computacional e simplicidade deimplementação. Considerando-se dois padrões de som R e T com N e M quadros de coeficientesMFCC cada, correspondendo ao padrão de referencia e ao padrão de teste,respectivamente. Os padrões R e T podem ser representados, depois de uma adequadaextração de informação, por sequencias espectrais, da seguinte maneira:onde e , n = 1,...,N e m = 1,...M, são os vetores de parâmetros de característicasacústicas (CIPRIANO, 2001). Aplicando o DTW as sequencias R e T são comprimidasao longo do eixo temporal resultante para se obter um alinhamento não-lineareliminando a diferença temporal. Esse processo pode ser observado de forma abstraídapela figura 5.2. Figura 5.2: Alinhamento não-linear gerado pela DTW (CIPRIANO, 2001).
  44. 44. 44 Para este processo os quadros R e T são representados em um plano n-m, esboçadosna figura 5.3, e as distâncias temporais são descritas por uma sequencia de pontosrepresentados em uma matriz de distâncias mínima (CIPRIANO, 2001). Figura 5.3: Plano temporal dos padrões R e T (CIPRIANO, 2001). O objetivo do DTW então é encontrar o menor caminho ou caminho ótimo atravésda menor distância da matriz de distâncias mínimas (FURTUNĂ, 2008). As distânciasentão são somadas e obtém-se uma distância mínima geral. Após a aquisição das distâncias entre o padrão de teste e todos os padrões dereferência, como visto em (YOMA, 1993) pode-se calcular os coeficientes deseletividade de reconhecimento, para verificar se o reconhecimento foi bem sucedido ounão.5.1.1 Coeficientes de Seletividade de Reconhecimento Yoma (1993) descreve detalhadamente em seu trabalho os coeficientes deseletividade de reconhecimento obtidos das distâncias da DTW. Estes coeficientesservem para quantificar e qualificar uma determinada distância em relação às outrasdistâncias obtidas e assim classificar se o reconhecimento pode ser considerado corretoou não. De modo geral a menor distância encontrada tende a ser a palavra reconhecida,porém, quando a palavra de teste pronunciada não corresponde a nenhuma palavracontida no banco de padrões, mesmo a menor distância não pode ser considerada, poisestaria errada. Este problema pode ser observado na figura 5.4.
  45. 45. 45 Figura 5.4 - Exemplo de erro de reconhecimento utilizando somente as distâncias mínimas da DTW Como exposto na figura 5.4, este exemplo acarretaria no reconhecimento da palavra“um”, ou mesmo se a elocução de teste no lugar de “cinco” fosse, por exemplo, “zero”,mas pronunciado de uma maneira não muito clara, mesmo assim, poderia acarretar errosde reconhecimento devido às condições acústicas da palavra de teste. Baseado emYoma (1993) este trabalho adota então uma solução para analisar a qualidade doreconhecimento através dos coeficientes de seletividade definidos por:  C1 = menor distância entre a elocução de teste e as elocuções de referência;  C2= diferença entre a segunda menor distância e C1;  C3 = diferença entre as médias das distâncias e a menor distância entre a elocução de teste e as de referência que não pertencem a mesma palavra da elocução de teste ou que não pertença ao padrão que resultou na menor distância geralmente sendo associada a segunda menor distância. Sendo assim, quanto menor for C1 melhor a qualidade do reconhecimento e quantomaior forem C2 e C3 maior a qualidade do reconhecimento. Em Yoma (YOMA, 1993)também são definidos outros dois coeficientes de seletividade: Sel1 e Sel2, pois asparametrizações geradas por aquele trabalho geraram coeficientes numericamentediferentes, dado que a distância final da DTW era a soma das distâncias entre osquadros ao longo do caminho ótimo de comparação. Esta característica encontra em Yoma (YOMA, 1993), é a mesma presente nestetrabalho, ou seja, as distâncias resultantes da aplicação da DTW em vez decaracterizarem um número maior que 0 e menor que 9, são resultado da soma dasdistâncias do caminho ótimo, resultando em valores fora deste padrão. Então adota-se amesma abordagem encontrada em Yoma (YOMA, 1993) definindo dois novoscoeficientes: Dado que a DTW determina a distância entre duas elocuções por meio da soma dasdistâncias entre quadros ao longo do caminho ótimo de comparação, e que esta soma é
  46. 46. 46normalizada em relação à duração dos padrões de teste e de referencia, é muito razoávelsupor que os coeficientes acima são uma boa mediada da qualidade de parametrização.Isto porque a normalização C2 e C3 em relação a C1 na determinação de Sel1 e Sel2elimina as diferenças numéricas entre as diferentes parametrizações e permite acomparação direta dos diferentes procedimentos de extração de parâmetros. Da maneiraem que Sel1 e Sel2 foram definidos quanto maiores eles forem melhor será a qualidadeou seletividade do reconhecimento.5.2 Distância Euclidiana A distância euclidiana é uma métrica para computar a semelhança através dadistância entre duas distribuições vetoriais. Quanto menor for a distância calculada,mais semelhantes são os padrões comparados. A distância euclidiana pode ser obtidapara duas sequencias através da seguinte equação: ∑| [ ] [ ]| Onde x e y são duas sequencias de mesmo tamanho N. Embora a distância euclidiana não seja usada diretamente neste trabalho ela éaplicada internamente no algoritmo de DTW.5.3 Coeficiente de Correlação de Pearson O coeficiente de correlação de Pearson é uma medida do grau de relação linear entreduas variáveis quantitativas. Este coeficiente varia entre os valores -1 e 1. O valor 0(zero) significa que não há relação linear, o valor 1 indica uma relação linear perfeita eo valor -1 também indica uma relação linear perfeita mas inversa, ou seja quando umadas variáveis aumenta a outra diminui. Quanto mais próximo estiver de 1 ou -1, maisforte é a associação linear entre as duas variáveis (MEDSTATWEB, 2009). O coeficiente de correlação de Pearson é normalmente representado pela letra r e asua fórmula de cálculo é a apresentada abaixo (MEDSTATWEB, 2009): ∑ ̅ ̅ √ ∑ ̅ ∑ ̅ Neste trabalho o coeficiente de correlação de Pearson é utilizado somente para oprocesso de treinamento de amostras (descrito na seção 6.8) que poderão ser definidascomo padrão, pois tem a vantagem de apresentar um baixo custo, e aliado à analise daduração de tempo entre as elocuções tornou-se uma ferramenta útil no processo detreinamento.

×