7 rec voz 2004 epusp ic e paper

Upload: anderson-martins

Post on 06-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    1/27

    RECONHECEDOR DE VOZ VIA REDES NEURAIS

    Daniel Richetti Lemos1

    Gabriel Junqueira Rodrigues2

    Emlio Del Moral Hernandez3

    Resumo

    Este projeto prope uma soluo para a tarefa de reconhecimento de vozutilizando redes neurais. A utilizao do modelo de neurnios artificiais resulta em umsistema robusto com baixa taxa de erros de reconhecimento. A robustez do sistema resultado da caracterstica intrnseca de adaptabilidade das redes neurais, tanto maior ouso maior a robustez.

    O projeto trabalha com um conjunto pr-definido de palavras e pode ser utilizadopara a realizao de comandos de voz em qualquer tipo de sistema, ou ainda, comocadeado eletrnico via voz.

    Palavras Chave: Redes Neurais; Reconhecimento de Voz; Classificao dePadres; Processamento de Sinais de Voz; Banco de Filtros.

    Abstract

    This project propose a solution for the voice recognition task, utilizing neuralnetworks. The use of artificial neuron model results on a robust system with low miss-recognition rates. The system robustness comes from the intrinsic adaptabilitycharacteristic of the neural networks, the more the use the more the robustness.

    The project works with a pre-defined set of words and it can be used to give voicecommands to any kind of system and also as an electronic lock.

    Key words: Neural Networks; Voice Recognition; Pattern Recognition; VoiceSignal Processing; Filter Bank.

    1. Introduo

    A proposta do projeto foi realizar o reconhecimento de voz utilizando redesneurais. Pode-se fazer uma analogia entre o sistema desenvolvido e o mecanismo de

    interpretao de sons do corpo humano. Assim o projeto pode ser dividido em duaspartes: o crebro e o ouvido. O ouvido responsvel por captar sons e transform-los demaneira adequada a facilitar o reconhecimento. O crebro o rgo que efetivamente

    1Aluno de graduao de Departamento de Sistemas Eletrnicos da EPUSP. Trabalho de IniciaoCientfica sem bolsa.2Aluno de graduao de Departamento de Sistemas Eletrnicos da EPUSP.3Professor do Departamento de Sistemas Eletrnicos da EPUSP.

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    2/27

    PIC-EPUSP N2, 2004

    1510

    realiza o reconhecimento, aprendendo ao longo da vida como distinguir padresdiferentes.

    O reconhecimento de voz no uma tarefa que pode ser facilmente implementadacomputacionalmente. H um nmero muito grande de parmetros envolvidos em umsinal de voz, por exemplo: timbre, cadncia, durao, volume alm de variaes

    intencionais da pronncia. A mesma palavra nunca pronunciada exatamente igual duasvezes. A variao existente entre duas amostras ainda maior entre locutores distintos.Ento, quando os sinais de voz devem ser considerados iguais? O mecanismo utilizado

    pelo crebro para transformar os impulsos neurais provocados pelo som em informaeslingsticas no to claro. No se sabe de antemo quais so as variaes decaractersticas aceitas, de modo que a palavra continue a ser igualmente interpretada. Adificuldade de se realizar computacionalmente o reconhecimento reside no fato de serimpossvel determinar claramente os critrios de distino de palavras.

    As redes neurais so modelos computacionais que simulam o comportamento dosneurnios biolgicos. Podem realizar diversos tipos de funes, e tm muito bomdesempenho na resoluo de problemas de classificao de padres, e problemas que

    no apresentam definio rigorosa. Esse justamente o caso para o reconhecimento devoz. As redes neurais aprendem a desempenhar a funo desejada atravs daapresentao de exemplos. No necessrio, portanto, se descrever detalhadamente oscritrios que separam uma palavra da outra. O sistema se torna mais robusto quando apresentado ao maior nmero de exemplos possvel, simulando o comportamento docrebro.

    Um modelo computacional de reconhecimento de voz pode ter diferentesobjetivos:

    A - Identificao de palavras:a mesma palavra pronunciada por pessoasdiferentes deve ser tida como igual, ou seja, os padres a serem reconhecidos so

    as palavras.

    Aplicao possvel: sistemas em que diferentes usurios do os mesmoscomandos vocais.

    Exemplos: acionamento de equipamentos, auxilio para navegao emsoftwares para microcomputadores

    B - Identificao de pessoas:h o reconhecimento da pessoa atravs dapronncia de alguma palavra.

    Aplicao possvel: sistemas de segurana

    Exemplos: controle de acesso em ambientes ou sites da internet

    C - Identificao de pessoa/palavra: Uma amostra s reconhecidaquando uma determinada pessoa pronuncia uma determinada palavra. aimplementao mais simples. Aplicao possvel: misto das anteriores, emverses menos dinmicas.

    Foi desenvolvido um software demonstrativo, RV-RN, que um exemplo de umaaplicao prtica do sistema. Realiza o reconhecimento como descrito pelo tipo A,

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    3/27

    PIC-EPUSP N2, 2004

    1511

    acima. Sua funcionalidade movimentar um objeto na tela segundo comandos de vozde diferentes usurios. Os comandos so pr-definidos (sobe, desce, esquerda edireita). O sistema de reconhecimento por redes neurais permite que quando o sistemaseja adaptado sempre que cometa erros de reconhecimento.

    2. Materiais e Mtodos

    O material utilizado para o desenvolvimento do projeto foi um microcomputadorequipado com alto-falantes, microfone e software MATLAB.

    Com este equipamento foram colhidas amostras de voz de diversas pessoas. Apsavaliao da qualidade destas amostras estas eram utilizadas no desenvolvimento etestes de performance do sistema.

    3. Resultados

    O sistema reconhecedor dividido em trs etapas conforme o diagrama de blocosabaixo. O detalhamento de cada etapa apresentado nos tpicos seguintes.

    3.1. Pr-Processamento

    Caractersticas do sinal de entrada que refletem o ambiente de gravao e o canalde comunicao (assim como variaes no estilo da fala), normalmente, atrapalham atarefa do bloco reconhecedor. O sinal deve ento ser parcialmente limpo, para queessas caractersticas sejam retiradas ou tenham sua influncia na caracterstica geral dosinal, diminuda. A tarefa de retirada de fatores estranhos ao sinal feita por um estgioanterior ao bloco reconhecedor, opr-processamento. Se as condies do ambiente soestacionrias ou suas variaes podem ser determinadas, as caractersticas indesejadas

    podem ser removidas. Como mencionado na introduo deste documento, existe umaanalogia entre este estgio funcional do projeto e o sistema de audio humano (ouvidosexterno e mdio).

    As funes que compe este bloco e suas estratgias de funcionamento serodescritas adiante.

    3.1.1. Metodologia

    Caractersticas do sinal de voz original que normalmente prejudicam oreconhecimento so causadas por variaes no ambiente de gravao como: rudos dealta freqncia, variaes no distanciamento do microfone, variao do nvel deamplitude, variaes de perodos de silncio (antes do incio do sinal e no seu fim).

    Extraode

    Parmetros

    Reconhecedor(Redes Neurais)

    Sinal deEntrada

    Pr-Processamento

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    4/27

    PIC-EPUSP N2, 2004

    1512

    Para anular a influncia destas variaes e facilitar o trabalho de reconhecimento,foram desenvolvidas 3 funes: filtragem anti-rudos, retirada do nvel DC,normalizao da amplitude e corte dos perodos de silncio no incio e fim do sinaloriginal. Estas funes, assim como o restante do sistema, foram desenvolvidas emambiente Matlab. O diagrama de blocos abaixo explicita a seqncia em que estasfunes ocorrem.

    Para retirar os rudos de alta freqncia, eventualmente, originados pelo ambiente,o sinal original filtrado por um filtro passa-baixas de dcima ordem e freqncia decorte de 5kHz. Isto no prejudica de nenhuma forma o sinal original pois asinformaes mais relevantes carregadas por um sinal de voz esto na faixa de 200 a5600Hz. Continuando a analogia com o sistema de audio humano, este blocodesempenha a mesma funo do ouvido mdio, que atua como um filtro passa-baixascom atenuao de 15 dB/oct acima de 1 kHz.

    Muitas vezes os sinais de voz apresentam uma componente contnua e para queuma comparao em valores absolutos possa ser realizada necessrio retirar estacomponente DC. A eliminao deste nvel coloca todos os sinais em relao a mesmareferncia. A funo que realiza isto, retiradc, calcula a mdia do sinal somando ovalor de amplitude de cada amostra do sinal e em seguida divide esta soma pelo nmerode amostras do sinal. Uma vez calculada a mdia do sinal, ocorre um deslocamento emrelao a esta mdia, isto , o valor mdio calculado subtrado da amplitude de cadaamostra do sinal. Todos sinais de entrada do sistema so gravados com 10.000 amostras

    a uma taxa de amostragem de 11.025Hz (taxa de amostragem padro do Matlab).

    Para eliminar as que variaes de amplitude do sinal, geradas na gravao pordiferentes distanciamentos do microfone e diferentes intensidades de produo necessrio normalizar o sinal com relao a sua amplitude. Dessa forma a amplitude dossinais fica limitada entre 1 e +1. Esta tarefa realizada dividindo o valor de cadaamostra do sinal pelo maior valor de amplitude do sinal. Esta estratgia mostrou-se maiseficaz quando comparada, por exemplo, com normalizao logartmica ou pela mdia.

    Filtro Passa-Baixa5kHz

    Retirada do NvelDC

    Normalizaoda Amplitude

    Deteco deIncio e Fim

    Sinal Original

    Entrada

    do

    Banco

    de

    Filtros

    PR-PROCESSAMENTO

    Funes do Pr-Processamento

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    5/27

    PIC-EPUSP N2, 2004

    1513

    Os perodos de silncio antes e aps o sinal, alm de no possurem nenhumainformao valiosa para o reconhecimento, podem conter rudos, sinais indesejados e adurao destes perodos pode ser muito varivel. Portanto, necessrio retirar estesintervalos sem prejuzo para a parte que realmente contm informaes relevantes. Paraexecutar esta tarefa foi desenvolvida uma funo, corte, que elimina estes intervalosde acordo com parmetros ajustveis. A funo corte recebe como entradas um valor

    de limiar (vlim), um valor mdio de amplitude (vmlim) e um nmero de amostras (n).Com estes dados a rotina procura a primeira amostra cujo valor de amplitude ultrapassao limiar indicado (esta procura parte do incio para o fim). Este valor de limiar experimental e pode ser ajustado de acordo com o desempenho apresentado pela funo.Aps localizada a amostra que ultrapassa o limiar, a rotina passa a calcular a mdia dasamplitudes das n amostras subseqentes at que este valor mdio ultrapasse o valor devmlim. Quando isso ocorre todas as amostras anteriores so descartadas. Esta estratgia adotada para que a eliminao dos perodos sem informao seja otimizada, ou seja, sefosse usado apenas o valor de limiar existiria uma possibilidade de um rudo serentendido como o incio do sinal, acarretando na permanncia de um perodo desilncio. O mesmo mtodo utilizado para a retirada do final do sinal, aps o trminoda fala do locutor. A rotina analisa o sinal de trs para frente, utilizando os mesmos

    parmetros de entrada.

    A seguir apresentamos, graficamente, os resultados do bloco de pr-processamento. Atravs dos grficos apresentados ficam claras as alteraes causadaspor este bloco no sinal original e podemos verificar que o resultado esperado foiatingido. Para esta simulao foi utilizada a palavra desce como sinal original.

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    6/27

    PIC-EPUSP N2, 2004

    1514

    A plotagem do sinal com sua componente DC j retirada mostra o resultado dafuno de retirada do nvel DC. Como neste caso o deslocamento do sinal muito

    pequeno, fica mais fcil observar o resultado da aplicao da funo quando reparamosno deslocamento da componente de maior amplitude. Nas pginas seguintes pode-seobservar tambm o resultado da funo de normalizao da amplitude e em seguida oresultado da deteco de incio e fim da palavra.

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    7/27

    PIC-EPUSP N2, 2004

    1515

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    8/27

    PIC-EPUSP N2, 2004

    1516

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    9/27

    PIC-EPUSP N2, 2004

    1517

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    10/27

    PIC-EPUSP N2, 2004

    1518

    3.2. Extrao de Parmetros

    Uma importante parte do processo de reconhecimento de voz diz respeito escolha das caractersticas presentes em uma onda de voz que influenciaro a tomada dedeciso pelo reconhecedor. Caractersticas baseadas no espectro do sinal de voz temamplo uso em estruturas de reconhecimento de voz. Tcnicas baseadas em FFT tambm

    tem servido para gerar padres de voz que podem ser classificados. Neste projeto estatarefa foi realizada por um modelo de Banco de Filtros. A extrao dos parmetros fundamental para o sucesso do reconhecimento uma vez que permite a classificao de

    padres atravs de algumas caractersticas do sinal.

    No modelo de extrao de parmetros por banco de filtros, o sinal passado porum conjunto de filtros passa-faixa. Este conjunto de filtros foi escolhido para cobrir afaixa de freqncia mais importante em um sinal de voz, 50 4800Hz. Mais uma vez aanalogia com o sistema de audio humano foi importante, levando a uma distribuiodas faixas centrais dos filtros segundo a escala de Mel ou Bark.

    3.2.1. Metodologia

    Aps sucessivos testes, estudos e analises de desempenho das redes, determinou-se o uso da energia do sinal como entrada do bloco reconhecedor. Para tal, o sinal desada de cada filtro do banco foi dividido em trechos menores e ento a energia de cadaum destes trechos foi calculada. Este mtodo permitiu a preservao da caractersticatempo-frequncia do sinal, que muito importante para a classificao dos padres.

    O banco de filtros formado por 19 filtros passa-faixa com caractersticas debanda de passagem e freqncia central projetadas segundo a escala de Mel ou Bark. Aescala de Bark vai de 1 at 24 Barks, correspondendo s primeiras 24 bandas crticas daaudio. Calculando-se os coeficientes de Mel pela aproximao apresentada a seguir

    possvel chegar-se at a escala publicada por Bark, apresentada na tabela 1.

    +=

    7001log2595)(

    ffm

    O grfico abaixo o registro da resposta em freqncia do banco de filtrosprojetado. Neste grfico pode ser observada, em detalhes, a influncia da escala de Melna distribuio das freqncias centrais e das bandas de passagem. Todos os filtros sode segunda ordem e foram projetados atravs da funo butter do Matlab (depois decalculadas a freqncia central e a banda de cada um).

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    11/27

    PIC-EPUSP N2, 2004

    1519

    Tabela 1

    Freqncias centrais e bandas depassagem do banco de filtros

    0Filtro 1 fc1= 50 Hz

    100

    Filtro 2 fc2= 150 Hz200

    Filtro 3 fc3= 250 Hz300

    Filtro 4 fc4= 350 Hz400

    Filtro 5 fc5= 450 Hz510

    Filtro 6 fc6= 570 Hz630

    Filtro 7 fc7= 700 Hz770

    Filtro 8 fc8= 840 Hz

    920Filtro 9 fc9= 1000 Hz1080

    Filtro 10 fc10= 1170 Hz1270

    Filtro 11 fc11= 1370 Hz1480

    Filtro 12 fc12= 1600 Hz1720

    Filtro 13 fc13= 1850 Hz2000

    Filtro 14 fc14= 2150 Hz2320

    Filtro 15 fc15= 2500 Hz

    2700Filtro 16 fc16= 2900 Hz

    3150Filtro 17 fc17= 3400 Hz

    3700Filtro 18 fc18= 4000 Hz

    4400Filtro 19 fc19= 4800 Hz

    5800

    Na tabela acima verificamos a freqncia central e a banda de cada um dos 19filtros do banco. Os valores imediatamente acima e abaixo da freqncia central so os

    limites da banda de passagem, ou seja, valores onde h atenuao de 2dB no sinal.

    O diagrama de blocos apresentado a seguir ilustra a tcnica de extrao deparmetros utilizada no projeto:

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    12/27

    PIC-EPUSP N2, 2004

    1520

    A sada de cada filtro dividida em trechos menores para preservao dacaracterstica tempo-freqncia. O nmero de trechos determinado a partir do nmerode entradas da rede neural (nmero de entradas da rede / 19). Para que tenhamos sempreum nmero inteiro de trechos, a nica restrio para o nmero de entradas da rede queeste seja mltiplo de 19. O sinal pr-processado atravessa o banco, a sada de cada filtro dividida em trechos de acordo com o nmero de entradas desejado para a rede, emseguida, calcula-se a energia de cada trecho. Este clculo de energia feito segundo arelao de Parseval:

    +

    =n

    nxN

    2][

    1

    A funo que realiza a diviso das respostas dos filtros em trechos e o clculo daenergia de cada trecho recebe como parmetro apenas o nmero de entradas da rede deneurnios. O resultado da etapa de extrao de parmetros pode ser visto no grfico

    SinalPr-Processado

    Filtro Passa-FaixaH1( e

    jw )

    Filtro Passa-FaixaH2( e

    jw)

    Filtro Passa-FaixaH3( e

    jw)

    Filtro Passa-FaixaH19( e

    jw)

    REDE

    DE

    NEURNIOS

    ARTIFICIAIS

    Trecho 1Energia Trecho 1

    Energia Trecho 2

    Energia Trecho 3

    Energia Trecho 4

    Energia Trecho q

    Energia Trecho n

    Trecho 2

    Trecho 3

    Trecho 4

    Trecho n

    Trecho 1 Energia Trecho 1

    Energia Trecho 2

    Energia Trecho 3

    Energia Trecho 4

    Energia Trecho q

    Energia Trecho n

    Trecho 2

    Trecho 3

    Trecho 4

    Trecho n

    Trecho 1 Energia Trecho 1

    Energia Trecho 2

    Energia Trecho 3Energia Trecho 4

    Energia Trecho q

    Energia Trecho n

    Trecho 2

    Trecho 3

    Trecho 4

    Trecho n

    Trecho 1 Energia Trecho 1

    Energia Trecho 2

    Energia Trecho 3

    Energia Trecho 4

    Energia Trecho q

    Energia Trecho n

    Trecho 2

    Trecho 3

    Trecho 4

    Trecho n

    Banco de Filtros

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    13/27

    PIC-EPUSP N2, 2004

    1521

    abaixo, onde foi informado ao sistema que a rede teria 190 entradas. Neste grficoobservamos a energia associada a cada trecho de sada dos filtros (190 trechos).

    Para simplificar a utilizao foi elaborada uma rotina que agrupa as funes depr-processamento e extrao de parmetros. As entradas desta funo so: o nmero deentradas da rede de neurnios e os limiares da funo de corte. As sadas geradas pelafuno servem diretamente como entradas da rede neural.

    importante o acompanhamento dos grficos apresentados, tanto do pr-processamento quanto da extrao de parmetros para que seja possvel avaliar se odesempenho destas etapas est satisfatrio.

    3.3. Redes Neurais

    Nesse projeto, as redes de neurnios artificiais, ou redes neurais, so responsveispor realizar o reconhecimento da voz em si. As redes neurais so modeloscomputacionais que resolvem problemas que no apresentam uma especificaorigorosa, especialmente do tipo de reconhecimento de padres, como o caso desse

    projeto. Embora seja absolutamente intuitiva para os humanos, a tarefa dereconhecimento de voz muito difcil de ser implementada computacionalmente, pois

    jamais a mesma palavra pronunciada igualmente duas vezes.

    As redes neurais so sistemas baseados no comportamento dos neurnios reais, noque se refere s suas interconexes e tratamento de sinais de entrada para gerao dosinal de sada. As redes so constitudas de vrios neurnios interconectados, que narealidade so clulas de processamento com parmetros ajustveis. Elas efetivamente

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    14/27

    PIC-EPUSP N2, 2004

    1522

    aprendem a realizar a funo desejada atravs da realizao de seu treinamento. Nessaetapa se apresenta para a rede exemplos do funcionamento que se quer que ela tenha.

    exatamente essa a funcionalidade de nosso projeto e do programademonstrativo, RV-RN. Atravs de exemplos gravados pelo usurio, que constituem a

    base de treinamento do sistema ou o banco de dados do sistema, a rede neural treinada

    para executar a funo de reconhecimento de padres os padres dos comandos devoz pr-definidos.

    3.3.1. Modelo das Redes Neurais

    O tipo de rede neural utilizado foi o MLP Multi Layer Perceptron, queconsiste na composio de uma rede conectando-se vrios neurnios do tipo Perceptron.

    Cada perceptron (neurnio artificial) modela o comportamento dos neurniosnaturais. Possui pesos sinpticos (wi) que simulam suas conexes aos neurnios deentrada e uma funo de transferncia, que simula seu comportamento entrada-sada. Asada calculada com base em suas entradas, que na rede so as sadas de outros

    neurnios. Segue o modelo do perceptron:

    O perceptron , portanto, uma clula simples de processamento com parmetrosajustveis. Toma decises baseadas em suas entradas e consegue resolver problemassimples, como por exemplo, classificao de padres com separabilidade linear.

    Cada neurnio calcula a somatria dos pesos sinpticos pelos respectivos sinais deentrada, alm do sinal de Bias, constante igual a +1. Aps calculado esse valor (sinal deativao, vk), calculado o sinal de sada, atravs da funo de ativao (). A funo

    de ativao utilizada foi a sigmide, que tem a expresso abaixo

    (vk) = 1____

    1+ exp(-ks x vk)

    Sada

    ()

    w

    w

    w

    Entradas doneurnio

    BIAS

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    15/27

    PIC-EPUSP N2, 2004

    1523

    uma funo mpar e limitada entre 1 e +1. Note que ela no-linear, o que uma caracterstica muito importante, pois caso contrrio, a rede toda poderia acabartendo a funcionalidade de um simples perceptron isolado. Pode-se obter variaes dafuno variando o valor da constante da sigmide, ks. O grfico abaixo mostra trsformas de sigmide e suas respectivas derivadas (as sigmides so os sinais de menoramplitude).

    A estrutura tpica de MLP contm uma camada de neurnios de entrada e uma

    camada de neurnios de sada alm de camadas escondidas. Essas camadas escondidaspossibilitam que a rede aprenda tarefas complexas, extraindo parmetrosprogressivamente mais significativos a partir dos parmetros de entrada. O sinal sepropaga atravs da rede em sentido nico, camada a camada, isto , no h feedback.Cada neurnio tem como entrada as sadas de todos os neurnios da camada anterior.

    SadasEntradas

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    16/27

    PIC-EPUSP N2, 2004

    1524

    3.3.2. Treinamento da Rede

    As redes neurais podem desempenhar uma infinidade de funes complexas, masao contrrio de mecanismos usuais de programao a funcionalidade do algoritmo no descrita explicitamente. As redes devem ser treinadas para adquirir a funcionalidadedesejada, atravs da execuo de Treinamento Supervisionado. Atravs de exemplos de

    funcionamento ensina-se s redes a desempenhar o processamento desejado.

    Este procedimento submete as redes a uma seqncia de amostras de aprendizadoem que se sabe qual o resultado desejado que a rede dever apresentar. Aplica rede umconjunto de entrada e caso haja erro em sua sada, corrige seus parmetros, de modo queela apresente o comportamento apropriado. A rede, portanto, se auto-ajusta atravs deexemplos, para aprender a realizar a funo desejada.

    O algoritmo de treinamento utilizado foi o Back Error Propagation, baseado noaprendizado por erro. Este algoritmo aplica um conjunto de entradas a uma rede neural,e verifica se h erro de classificao, isto , se a sada da rede no corresponde sadaesperada para as entradas aplicadas (caso o padro apontado pela rede seja diferente do

    padro esperado para o dado vetor de entradas). Se houver erro, o mesmo propagadopara trs, em direo primeira camada da rede, camada a camada atravs das conexessinpticas.

    Os algoritmos desenvolvidos sero descritos mais adiante.

    Assim como o desenvolvimento do software demonstrativo RV-RN, aimplementao das redes neurais foi realizada utilizando Matlab. Sua funcionalidade obtida utilizando-se dois sub-programas, um para execuo do processamento da redeneural em si (REDE), e outro para realizao do treinamento da rede (TREINA). Os

    prximos itens descrevem esses sistemas detalhadamente.

    O conhecimento adquirido sobre redes neurais aplicadas a reconhecimento de vozpode ser utilizado para funes diversas. O sistema demonstrativo elaborado, RV-RN,possui a funcionalidade de reconhecer comandos de voz pr-definidos,independentemente do usurio. Os comandos (sobe, desce, esquerda e direita)devem ser reconhecidos e interpretados pelo sistema. Cada um deles deve correspondera execuo de uma ao, mesmo se pronunciados por locutores diferentes. Dessa formano necessrio que o sistema seja capaz de realizar a diferenciao dos usurios, o que

    permite reduzir o tamanho da rede, e conseqentemente seu tempo de processamento ede treinamento, permitindo-nos focar nos objetivos da funcionalidade proposta eorientar as melhorias de performance nesse sentido.

    A identificao de usurios uma caracterstica essencial em outros tipos de

    sistemas, como os de acesso de segurana, por exemplo. No entanto no foi realizadoesforo para o desenvolvimento dessa linha de funcionalidade e de outras que no aproposta no escopo inicial, pois no desejvamos ter atrasos no projeto devido aoalargamento do escopo.

    Embora no faa parte do escopo do projeto, a flexibilidade do sistema permitetambm que a funcionalidade do sistema demonstrativo seja facilmente adaptada paraexecutar outras funcionalidades, conforme ser descrito a seguir.

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    17/27

    PIC-EPUSP N2, 2004

    1525

    Outra premissa importante para a elaborao dos programas foi com relao aoaprendizado do sistema a partir de seus erros. Quando cometer algum erro dereconhecimento, isto , quando realizar uma ao no-correspondente ao comandodado, o usurio pode ensinar ao sistema que errou e como corrigir seu erro. Das

    prximas vezes o erro no se repetir porque p sistema aprendeu com o erro. Dessaforma o RV-RN pode adquirir funcionamento mais robusto, em tempo de execuo.

    Uma das metas ao se desenvolver essas sub-rotinas era se garantir a flexibilidadedas mesmas, portanto a metodologia de desenvolvimento dos dois programas, REDE eTREINA, foi orientada nessa direo. Ambos tm um grande nmero de parmetros quedevem ser ajustados (otimizados) para a utilizao no software. Muitos deles influem nodesenvolvimento do cdigo, mas durante a etapa de elaborao do cdigo a maioriaainda no estava definida e a adaptao do cdigo caso a caso, de modo que fosse

    possvel testar-se vrias configuraes, teria sido extremamente onerosa.

    O procedimento da definio de parmetros no buscava apenas obterfuncionamento apropriado, mas tambm alguma otimizao. Portanto, para faz-lo demodo adequado, foi necessrio realizar-se muitos testes, obtendo resultados de

    performance para o maior nmero possvel de combinaes de valores que os diversosparmetros poderiam assumir. Isso s foi possvel devido ao carter flexvel dosprogramas de redes neurais que permitiam que os testes que envolviam grande variaodas caractersticas das redes, inclusive mudana de arquitetura, fossem executados demodo muito prtico e sem nenhuma alterao de cdigo.

    No decorrer do desenvolvimento do projeto nos deparamos com diversas decisesque orientariam o projeto entre dois caminhos absolutamente distintos. Para ilustrarmelhor essas decises, sua descrio ser feita junto ao detalhamento dos resultadosobtidos, no prximo item do relatrio. Dessa forma, explicitamos a soluo adotada, e acomparamos s outras opes, justificando sua escolha.

    Em geral, as decises com relao definio dos rumos do desenvolvimento doprojeto foram realizadas utilizando-se uma ou mais das aes abaixo:

    - Criao de uma ou mais alternativas para resoluo de algum problema

    - Apresentao das alternativas ao professor orientador

    - Discusso com o professor a respeito das alternativas propostas e denovas alternativas propostas por ele

    - Busca de embasamento terico em referncias bibliogrficas

    - Realizao de testes comparativos com todas as alternativas, quandonecessrio, isto , quando o bom-senso no era capaz de eliminar algumasdelas.

    3.3.3. O programa de Redes Neurais (REDE)

    Este programa implementa o funcionamento de uma rede neural MLP, isto , dadoum conjunto de entradas, que um vetor de caractersticas extradas da amostra de voz aser analisada, so calculadas as sadas da rede, que classificam o sinal de entrada. Oreconhecimento de cada palavra analisada, portanto, realizado executando-se essa

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    18/27

    PIC-EPUSP N2, 2004

    1526

    rotina a partir do vetor de caractersticas extradas do sinal pela etapa anterior (pr-processamento + extrao de parmetros).

    O programa totalmente flexvel e pode simular uma infinidade de arquiteturas deredes MLP. Essa flexibilidade, caracterstica tida como essencial nesse projeto, obtidaatravs da utilizao de muitos parmetros. Tudo o que se pode variar na rede est na

    forma de parmetros. Mostraremos agora a estrutura da rede neural implementada etodos os parmetros do programa.

    Modelo Macroscpico da Rede Neural:

    O nmero de sadas (Ns) e o nmero de entradas (Ne) podem ser alterados.

    Modelo Microscpico da Rede Neural:

    O vetor de caractersticas aplicado primeira camada, onde seus neurniosgeram suas respectivas sadas, que por sua vez so as entradas da prxima camada. O

    processo ocorre at que se atinja a camada de sada.

    Segue lista de todos os parmetros do programa:

    W:Pesos Sinpticos da rede a ser simulada, de onde o programa extrai:

    Ne:Nmero de Entradas da rede neural

    Nn:Nmero de Neurnios por camada

    Rede

    NeuralEntradas

    (vetor de caractersticas)

    (Ne: nmero de entradas)

    Sadas

    (Ns: Num de sadas)

    Nc

    (Nn

    Entradas

    (Ne)

    Sadas

    (Ns)

    Primeira

    Camada

    Camada de

    Sada

    Camadas

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    19/27

    PIC-EPUSP N2, 2004

    1527

    Nc:Nmero de Camadas da rede

    Ns:Nmero de Sadas da rede

    Xe:Vetor de entrada da rede a ser simulada

    Ks: Constante da sigmide utilizada nos neurniosInicialmente o desenvolvimento do projeto foi orientado para que houvesse uma

    rede neural para cada uma das palavras que constituem a base de dados do sistema, isto, uma rede para cada usurio para cada um dos quatro comandos. Aps execuo devrios testes essa abordagem foi abandonada porque necessitava de muito tempo paraexecutar os clculos referentes rede neural e para executar o treinamento da rede.Alm disso, o re-treinamento das redes era muito lento a cada vez que uma novaamostra fosse incorporada base de dados da rede, uma vez que deveriam ser re-treinadas muitas redes. Alm de onerosa, essa soluo no apresentava melhoraaparente nos resultados obtidos com relao soluo definitiva.

    Posteriormente a soluo adotada foi utilizar apenas uma rede. Pensou-se entoque a utilizao de uma s rede neural poderia dificultar muito o trabalho declassificao feito pelas redes, pois teria que criar padres que independem do usurio.Isto , a sada ativa da rede apenas depende do comando falado, e no do usurio. O

    padro ento deveria englobar diferentes usurios. Para evitar esse agravante facilitandoo trabalho das redes, adotou-se ento um conjunto de sadas para cada usurio, isto ,havia uma sada para cada comando para cada usurio cadastrado no sistema. Comoeram quatro comandos (sobe, desce, esquerda e direita) deveria haver quatrosadas para cada usurio. Como resultado, o treinamento da rede apresentava melhortempo de treinamento, mas ainda era demasiado demorado. Alm disso, a preocupaocom a dificuldade de reconhecimento no se mostrou necessria, pois as redes foramcapazes de executar a classificao utilizando-se apenas quatro sadas. Melhores

    resultados foram obtidos com essa configurao.O sistema RV-RN, portanto, conta com apenas uma rede neural, que possui, de

    acordo com as premissas estabelecidas no item 2.1, cinco sadas. Cada sadacorresponde a uma palavra, no diferenciando o usurio.

    Abaixo, vemos a descrio da semntica das sadas:

    - Sada 1: comando Sobe

    - Sada 2: comando Desce

    - Sada 3: comando Esquerda

    - Sada 4: comando Direita

    - Sada 5: palavras que devem ser rejeitadas

    Seus valores podem variar entre 1 e +1, sendo que +1 corresponde aidentificao e 1 a rejeio. Dessa forma, se dado um vetor de entrada, alguma dassadas estiver prxima de +1, o sinal ser interpretado pela rede como sendo aquela

    palavra. Exemplo:

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    20/27

    PIC-EPUSP N2, 2004

    1528

    Sada 1: -0,87

    Sada 2: -0,92

    Sada 3: +0,91

    Sada 4: -0,57Sada 5: -0,77

    Nesse caso, o sistema reconhecer a amostra testada como a palavracorrespondente sada 3, ou seja, o comando esquerda.

    No entanto nem sempre a deciso ser to fcil quanto foi nesse exemplo. H porexemplo casos em que nenhuma das amostras estar suficientemente prxima de +1

    para que possamos afirmar que se trata, com certeza, de algum dos comandos pr-definidos. Para isso foi estabelecido um limiar mnimo de aceitao, de +0,5, isto , senenhuma das sadas apresentar sada superior a esse valor, o sistema no reconhecer a

    palavra e no executar nenhuma ao. Por outro lado, pode acontecer de que mais deuma sada esteja prxima de +1. Nesse caso o sistema tambm no tomar nenhumaao.

    Lembre-se de que, no RV-RN, para esses casos em que o sistema errou ou no foicapaz de tomar uma deciso, o usurio pode ensin-lo, baseando-se em seu erro. Nas

    prximas vezes que essas palavras forem ditas no haver mais problemas dereconhecimento, pois o sistema efetivamente aprendeu a desempenhar oreconhecimento da forma determinada pelos exemplos apresentados a ele.

    Note que o nmero de entradas(Ne) geralmente maior que o nmero deneurnios por camada (Nn). O compromisso entre esses nmeros muito importante,

    pois por um lado podemos ter uma rede muito pequena que no capaz de realizar oreconhecimento apropriadamente, e por outro podemos ter uma rede muito grande (comnmero de neurnios por camada igual ao nmero de entradas) com tempos de

    processamento e treinamento proibitivamente altos.

    Alm disso, o nmero de entradas da rede tambm um parmetro a serotimizado. Pode-se preparar o sistema para trabalhar com qualquer nmero de entradas

    para a rede neural. E novamente h aqui um compromisso entre tempo e qualidade deprocessamento. Essa preocupao tambm existe no dimensionamento da rede, ao sedeterminar o nmero de camadas. Um dos principais objetivos ao se desenvolver o

    programa de redes neurais, portanto, foi justamente a questo de se obter bomfuncionamento e tempos aceitveis. O sistema como um todo deve ter tempo apropriadode treinamento e de execuo, sem deixar de funcionar apropriadamente. Obviamente impossvel dizer que o sistema foi otimizado, pois, por mais testes que se faa, impossvel se prever como sero as amostras encontradas no futuro, e apenas pode serobtida uma otimizao para as amostras utilizadas nos testes, e no para amostrasgenricas. No entanto, atravs de uma srie de testes chegamos a valores de parmetrosque apresentam um bom comportamento balanceado entre tempo e qualidade deresultado, atendendo a nossas necessidades. Os valores dos parmetros utilizados nosistema demonstrativo so mostrados abaixo. Os dados sobre confiabilidade do sistema

    podem ser vistos no contedo desenvolvido pelo aluno Gabriel.

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    21/27

    PIC-EPUSP N2, 2004

    1529

    3.3.4. O programa de Treinamento das Redes Neurais (TREINA)

    durante a etapa de treinamento que as redes neurais assimilam a funcionalidadeque desejamos que tenha. Atravs da apresentao de amostras de voz e das sadasesperadas, os pesos sinpticos so adaptados de modo que a rede execute a funodesejada, ao menos para os conjuntos de entradas apresentados. A etapa de treinamento

    , portanto, extremamente importante.

    Foi utilizado o algoritmo de back error propagation, que amplamente utilizadopara redes MLP. Resumidamente, o algoritmo faz o seguinte:

    - Aplica um dos conjuntos de treinamento rede,

    - Compara sua sada a sada esperada, se no houve erro, no faznada e aplica a prxima entrada,

    - Se houve erro, o mesmo propagado para trs, camada a camadaat a camada de entrada, atravs dos pesos sinpticos e utilizando-se aderivada da funo de transferncia dos neurnios.

    - O processo repetido, aplicando-se repetitivamente todo oconjunto de treinamento, variando-se a ordem de aplicao das amostras.

    - Quando parar? Quando a rede apresentar comportamentoapropriado para todos os conjuntos de entradas. O critrio de parada que oerro em todas as sadas, para todos os conjuntos, deve ser inferior a um valor

    pr-determinado empiricamente (Em)

    - H outro critrio de parada: nmero de iteraes. Quando onmero de iteraes mximo (Nit) atingido, o treinamento interrompidosem sucesso.

    O conjunto de treinamento constitudo pelas amostras de voz gravadas paraensinar a rede. a base de dados. Usualmente so gravadas duas amostras de cadacomando por cada usurio. No decorrer da utilizao do sistema RV-RN, o usurioacrescenta novas amostras base de dados medida que a rede realiza erros dereconhecimento. Quando a rede treinada so passados como parmetros todas asamostras de treinamento e as respectivas sadas. Exemplo: se uma amostra correspondeao comando desce, a sada esperada passada para o programa de treinamento ser:

    Sada 1: -1

    Sada 2: +1

    Sada 3: -1

    Sada 4: -1

    Sada 5: -1

    O programa de Treinamento de Redes Neurais tambm totalmente flexvel. Podegerar qualquer estrutura de rede MLP, baseado ou no em uma rede j previamente

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    22/27

    PIC-EPUSP N2, 2004

    1530

    existente. Ao se treinar uma nova rede neural, ou ao se re-treinar uma pr-existente,deve-se definir os seguintes parmetros:

    Parmetro Descrio Valorutilizado

    Ne Nmero de Entradas da rede neural 190

    Ns Nmero de Sadas da rede 5

    Nn Nmero de Neurnios por camada 40

    Nc Nmero de Camadas da rede 4

    Xt Vetores de entrada, conjuntos detreinamento

    -

    Yt Sadas esperadas para cada um dosvetores do conjunto de treinamento

    -

    Ks Constante da sigmide utilizada nosneurnios

    1

    Ka Constante de aprendizado inicial 0,2

    Em Erro mnimo aceito para trmino dotreinamento

    0,1

    Nit Nmero mximo de iteraes permitidas 1000

    Wi Pesos Sinpticos da rede a ser re-treinada,

    utilizado como valor inicial

    -

    Note que o treinamento uma etapa muito sutil e apresenta possibilidade de noser bem sucedido. Isto pode ocorrer caso as amostras de entrada (conjunto detreinamento) sejam de baixa qualidade. O que seria baixa qualidade? Por exemplo, seduas amostras da mesma palavra, do mesmo locutor, que devem ser interpretadasigualmente pela rede, forem muito diferentes. Grandes diferenas de velocidade ecadncia da pronncia, ou timbre ou ainda corte inapropriado na gravao podemrepresentar grandes obstculos ao algoritmo de treinamento, tornando-o muito extenso,ou at impossvel.

    Um fator muito importante a ser analisado nesse programa seu tempo deexecuo. Como j foi dito o treinamento a parte mais importante para aimplementao das redes neurais, e tambm a mais demorada. Alm disso, sensvel, ealgumas vezes no pode ser completado com sucesso dentro do nmero mximo deiteraes permitido. Por outro lado, se o nmero de iteraes for aumentado, o tempo detreinamento se torna excessivamente longo. Durante o desenvolvimento tomou-secuidado com relao a esse aspecto, e o resultado final em geral tem sido bom, comaltos ndices de treinamentos bem-sucedidos e com tempo aceitvel de execuo.

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    23/27

    PIC-EPUSP N2, 2004

    1531

    Visando melhorar o tempo de execuo desse programa foi utilizado o recurso devariao da constante de aprendizado (ka). A constante de aprendizado um valormultiplicativo aplicado correo dos pesos sinpticos durante o treinamento. Quantomaior for o seu valor, maior ser a variao dos pesos a cada iterao e maior avelocidade do treinamento. Por outro lado, quanto menor for o seu valor, maior ser a

    preciso do algoritmo e menor a velocidade de treinamento. H aqui um equilbrio entre

    velocidade de treinamento e preciso. O recurso implementado visa obter o mximo dosaspectos positivos de cada lado da balana, isto , obter velocidade e preciso. Aconstante de aprendizado iniciada com um valor alto (ka) para que as etapas iniciaisdo treinamento obtenham avanos significativos em direo ao resultado final, isto ,

    para que a evoluo seja mais rpida. No entanto, no decorrer do treinamento, o valor daconstante reduzido, visando obter-se a preciso necessria ao final do processo. Areduo de seu valor baseada na variao total de todos os pesos sinpticos entre umaiterao e outra, portanto ela reflete qual o tipo de ao est sendo tomada na rede:correo com altos valores ou correo com preciso.

    No que tange ao tempo de execuo do programa de treinamento deve-se fazermais uma considerao: o sistema poderia apresentar performance significativamente

    melhor caso fosse utilizada alguma linguagem compilada, por exemplo, linguagem C.Note que isto foge ao escopo proposto pelo projeto. O programa de redes neuraistambm poderia ter sua performance melhorada dessa forma, o que seria importantecaso se pensasse em uma aplicao de tempo real, que no o caso.

    A adio de amostras base de dados da rede uma funcionalidade implementadaintrinsecamente no programa. Ao se adicionar uma nova palavra ao vocabulrio, bastaexecutar o treinamento da rede tendo como valores iniciais dos pesos sinpticos, osvalores previamente existentes. Pensou-se que isso poderia acarretar alguma espcie dedificuldade, mas no houve motivos para preocupao.

    3.3.5. O Software Demonstrativo

    Tambm em Matlab foi desenvolvido um software para realizar a demonstraodos resultados obtidos com o sistema de reconhecimento

    A partir da tela inicial pode-se:

    - Abrir o mdulo de gravao

    - Executar o treinamento da rede neural

    - Abrir o mdulo de teste

    - Resetar a base de dados do sistema

    A plataforma de demonstrao constituda dos mdulos descritos a seguir.

    3.3.5.1. Mdulo de Gravao

    Nesse mdulo so gravadas as amostras de voz que do rede seu treinamentoinicial, ou seja, so gravados os conjuntos de treinamento iniciais. Pode-se criar novosusurios e so gravadas amostras para os quatro comandos habilitados (sobe, desce,

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    24/27

    PIC-EPUSP N2, 2004

    1532

    esquerda e direita, alm de palavras que devem ser rejeitadas). O usurio pode, aqualquer momento, gravar amostras visando melhorar o desempenho da rede. Htambm a possibilidade de se escutar as amostras existentes e apag-las, evitando queamostras ruins faam parte da base de dados de treinamento do sistema.

    3.3.5.2. Treinamento da Rede Neural

    O usurio deve solicitar ao sistema que execute o treinamento da rede neural.Nesta etapa o sistema efetivamente preparado para ser utilizado. O treinamento realizado aplicando rede todas as amostras de voz existentes na sua base de dados.

    3.3.5.3. Mdulo de Teste

    Este mdulo constitui a demonstrao da utilizao do sistema em si. Nele ousurio d comandos de voz e verifica o objeto se movendo na tela de acordo.

    Caso o sistema cometa algum erro de reconhecimento, o usurio pode ensinar aosistema sobre seu prprio erro, clicando em erro.

    Os sinais coloridos esquerda indicam como o foi o reconhecimento da amostrarecm-testada. Vermelho indica que o sistema no a reconheceu, ou seja, que nenhumasada superou o limite mnimo. Verde significa o oposto, isto , que o sistemareconheceu. Amarelo significa indeciso, mais de uma sada est em alto.

    3.3.5.4. Mdulo de Adaptao

    Caso o sistema cometa algum erro de reconhecimento, isto , execute uma aono correspondente ao comando de voz, o usurio pode ensinar a rede, baseado no seuerro, a no comet-lo novamente.

    O que ocorre que a amostra de voz que resultou em erro de classificao ser

    incorporada base de dados do sistema, com a semntica que for definida pelo usurio,ou seja, a correta.

    Neste mdulo o usurio ouve a palavra que est sendo incorporada para ter certezade que uma amostra vlida e seleciona a semntica correta.

    3.4. Testes de Desempenho

    Visando melhorar o desempenho do sistema apresentado nas primeiras anlises,foi planejado uma bateria de testes de desempenho para avaliar:

    - A eficincia do reconhecimento (acertos e erros)

    - O comportamento do reconhecimento com a variao de parmetrosfundamentais da rede, como nmero de neurnios, nmero de camadas,constante da sigmide e aprendizado.

    O resultado dos testes foi utilizado para obter melhoras de desempenho e paraquantificar a eficcia do reconhecimento. Essa quantificao representada na forma deuma matriz de confuso. A matriz de confuso traz informao tanto sobre o acertocomo sobre os erros cometidos no reconhecimento. Nesta matriz possvel encontrar,

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    25/27

    PIC-EPUSP N2, 2004

    1533

    por exemplo, a porcentagem de acerto no reconhecimento da palavra desce. Tambm possvel encontrar a porcentagem de vezes que desce foi reconhecida comoesquerda, por exemplo. Desta maneira a eficincia da rede fica bem caracterizada.

    Para gerar estes resultados, foi elaborada uma rotina, tambm em Matlab, querealiza uma srie de variaes nos parmetros (nmero de neurnios, nmero de

    camadas, constante da sigmide e aprendizado) da rede e automaticamente treina a redecom um certo nmero de amostras e depois executa o teste de reconhecimento. A rotinarecebe 5 amostras de 4 palavras: sobe, desce, esquerda e direita. Com estascinco amostras so feitas todas as combinaes possveis de 3 amostras distintas. Com 3amostras de cada palavra a rotina treina a rede e com as outras duas restantes realiza oteste de reconhecimento. A cada teste so registrados os parmetros da rede e oresultado do reconhecimento.

    Para melhorar ainda mais o resultado desta avaliao, a faixa de variao dosparmetros foi bem larga, acarretando em extenso do tempo de processamento dabateria de testes. Para cada conjunto de amostras (3 de cada palavra) a rede treinadapara toda faixa de variao dos parmetros. Isto interessante pois permitiu a avaliao

    da influncia destes parmetros no desempenho do reconhecimento.

    3.4.1. Matriz de Confuso

    A matriz de confuso abaixo condensa o resultado dos testes e permite umaavaliao do desempenho do sistema reconhecedor. A rede foi submetida a 240amostras, sendo 30 de cada uma das palavras.

    resultadoamostra

    SOBE DESCE ESQUERDA DIREITA

    SOBE 85% 0% 15% 0%

    DESCE 0% 100% 0% 0%

    ESQUERDA 0% 0% 80% 20%

    DIREITA 0% 0% 10% 90%

    4. Discusso

    Diversas alternativas para a tarefa de reconhecimento de voz vm sendo

    desenvolvidas. A implementao utilizando redes de neurnios artificiais mostrou sermais interessante pela analogia com um sistema biolgico, pela sua flexibilidade e porque ainda possvel encontrar muitos estudos e desenvolvimentos atuais sobre estetema. A medio de resultados como taxa de acerto, velocidade de reconhecimento etamanho do vocabulrio aceito podem ser usados na comparao entre este mtodo eoutros mtodos de reconhecimento de voz, porm, este no foi o objetivo deste projeto.

    A extrao de parmetros busca enfatizar as caractersticas do sinal possibilitandoum trabalho mais eficaz do bloco reconhecedor. Alm do Modelo de Banco de Filtros

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    26/27

    PIC-EPUSP N2, 2004

    1534

    utilizado neste projeto existem outros mtodos que desempenham esta funo. Durantea etapa de escolha da melhor alternativa, tivemos contato com outras tcnicas como porexemplo, extrao de parmetros baseada na FFT. O modelo de extrao de parmetros

    por banco de filtros foi adotado pelos seus bons resultados, comprovados em outrosprojetos publicados nesta rea, portanto, no houve necessidade de adoo de modelosmais sofisticados.

    Os resultados obtidos foram altamente satisfatrios e o sistema mostrou-serobusto. O grau de desenvolvimento atingido permite uma expanso do sistema,atribuindo feies comerciais. Este carter pode ser conseguido, por exemplo, por umaimplementao em hardware com funcionamento em tempo real.

    5. Concluso

    O projeto desenvolvido no pode ser resumido apenas ao demonstrativoapresentado. Suas implicaes so muito mais abrangentes e tem atuao em diversas

    reas. A maior contribuio deste sistema facilitar a execuo de atividades querecebem comandos externos. Dentro desta abordagem enquadram-se o auxlio nanavegao em microcomputadores (navegao em menus, internet, alternncia entre

    janelas, execuo de comandos padronizados como copiar e colar). Alm destaaplicao pode ser implementado o acionamento de equipamentos (mquina de lavar,microondas, TV) e controle de condies ambiente (temperatura, iluminao,ventilao, abertura e fechamento de janelas).

    Outra aplicao para o sistema a identificao de usurios em sistemas desegurana, em que uma palavra gravada como senha.

    A princpio todas as aplicaes apresentadas podem parecer simples comodidades

    agregadas a tarefas comumente desempenhadas sem o uso da voz. No entanto, hcampos onde um sistema como este tem carter essencial. o caso de sistemasadaptados a deficientes fsicos. Estes sistemas podem melhorar a qualidade de vidadestas pessoas uma vez que possibilitam acesso a recursos de microinformtica,essenciais nos dias de hoje. Alm do auxlio de navegao podem ser implementadossistemas que transcrevem a fala do locutor. Isto permite textos sejam redigidos por

    pacientes com quadros de tetraplegia ou deficincias que impedem interao com oteclado.

    Agradecimentos

    Ao Professor Emlio Del Moral Hernandez pela orientao e estmulo durantetodo o projeto.

    Referncias Bibliogrficas

    S. Haykin,Neural Networks: a Comprehensive Foundation

  • 7/21/2019 7 Rec Voz 2004 Epusp Ic e Paper

    27/27

    PIC-EPUSP N2, 2004

    L. R. Rabiner, R.W. Schafer, Digital Processing of Speech Recognition,Englewood Cliffs, Prentice-Hall, 1978

    B. Gold and N. Morgan, Speech and Audio Signal Processing, New York, JohnWiley & Sons, Inc., 2000

    Flanagan, J.L., Speech Analysis: Synthesis and Perception (Springer-Verlag,1972)

    A. Biem, S. Katagiri: Filter bank desgn based on discriminative featureextraction. In International Conference on Acoustics, Speech, and Signal Processing,volume 1, pages 485-489, Apr. 1994.