Buscar

PDS ReconhecimentoDe VozEComandos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal de
Ouro Preto
Instituto de Cieˆncias Exatas e Aplicadas
Projeto de Reconhecedor de Comandos de
Voz: Ana´lise e Implementac¸a˜o
DOUGLAS DO AMARAL MONTEIRO
douglas.ammaral@yahoo.com.br
11.2.8041
GEOVANE ALVES DE OLIVEIRA
geovane-pretty@hotmail.com
11.2.8116
PAULO RICARDO DE FREITAS
paulo94freitas@gmail.com
12.2.8093
SI´LVIO MENDES CE´SAR
smg.cesar@yahoo.com
11.2.8085
Projeto de Reconhecimento de Palavras
Isoladas e Execuc¸a˜o de Comandos a ser
apresentado ao Professor Ma´rcio Feliciano
Braga na disciplina CEA 671 - Processa-
mento Digital de Sinais, da Universidade
Federal de Ouro Preto.
Joa˜o Monlevade, 10 de Marc¸o de 2017
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
Conteu´do
1 OBJETIVO 1
2 INTRODUC¸A˜O 1
3 ME´TODO 2
3.1 Fase de Ensino - Desenvolvimento de Algoritmo de Detecc¸a˜o . . . . . . . . . . . . . . . . 2
3.2 Fase de Ana´lise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 RESULTADOS E CONCLUSA˜O 7
Engenharia Ele´trica Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
1 OBJETIVO
O objetivo desse projeto e´ implementar um software em Matlab que fac¸a o reconhecimento de palavras
isoladas, dependente do locutor, e interaja com um circuito externo de forma que a cada palavra do banco
de dados esteja associada uma ac¸a˜o.
2 INTRODUC¸A˜O
O processamento de a´udio pode ser dividido em treˆs principais a´reas atualmente: reproduc¸a˜o musical
de alta definic¸a˜o, como aquela contida na fabricac¸a˜o dos discos r´ıgidos compactos, mais conhecidos como
CDs; a´udio de telecomunicac¸o˜es, que abrange todo tipo de tratamento de sinal dentro da indu´stria de
telecomunicac¸o˜es e o discurso sinte´tico, que esta basicamente focado na ana´lise computacional de a´udios
de pessoas, buscando identificar, compreender e reproduzir sequeˆncias de voz. Neste projeto, o foco sera´
a terceira aplicac¸a˜o citada, com foco no reconhecimento de palavras isoladas para realizac¸a˜o de tarefas
atrave´s de um circuito agregado.
Figura 1 – A´reas de aplicac¸a˜o do Processamento Digital de Sinais.
Dentro do processamento de sinais analo´gicos, encontra-se o processamento de a´udio, que e´ o tema
presente neste trabalho, limitado ao reconhecimento de voz humanas predefinidas em um banco de dados
para executar comandos. Basicamente, este trabalho e´ composto de treˆs processos distintos: a fase de
arquivamento e processamento, a tomada de decisa˜o e a execuc¸a˜o dos comandos.
O arquivamento de palavras e´ feito por um algoritmo no Matlab que capta sons atrave´s de um
microfone comum, faz um pre´-processamento desse sinal, e armazena-o em um banco de dados esta´tico,
que servira´ como paraˆmetro para a captac¸a˜o dinaˆmica de palavras na fase de teste.
A tomada de decisa˜o e´ formada por duas sub-rotinas distintas e simultaˆneas: o processamento do sinal
de teste, dinaˆmico, captado do usua´rio do sistema e a comparac¸a˜o desses dados com o banco de dados
esta´tico armazenado previamente e finalizando com a melhor resposta poss´ıvel para os dados coletados.
Engenharia Ele´trica 1 Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
Finalmente, tem-se a execuc¸a˜o do comando associado atrave´s de um co´digo bina´rio gerado pela tomada
de decisa˜o utilizando-se o processador Ardu´ıno Uno.
Para a realizac¸a˜o desse projeto e´ necessa´rio um bom entendimento sobre diversas te´cnicas de ana´lise
e tratamento de sinais. Dentre as ferramentas utilizadas, pode-se citar com destaque a Transformada
Discreta de Fourier (DFT), a Transformada Ra´pida de Fourier (FFT), e os filtros de tipo IIR e FIR, com
destaque para o filtro de Wiener. Muito outros conceitos relacionados sa˜o explorados ao longo do texto o
de correc¸a˜o de n´ıvel DC, taxa de amostragem (teorema de Nyquist), normalizac¸a˜o spectral e algoritmos
de autocorrelac¸a˜o e correlac¸a˜o-cruzada.
3 ME´TODO
3.1 Fase de Ensino - Desenvolvimento de Algoritmo de Detecc¸a˜o
Um computador e´ uma dispositivo eletroˆnico que trabalha com sinais digitais, na˜o analo´gicos. O sinal
de voz humano e´ um sinal cont´ınuo, com milhares de componentes de frequeˆncia diferentes. Para gravar
este sinal, apropriadamente no computador, a fim de se efetuar os ca´lculos, faz-se primeiro necessa´rio
entender os conceitos de amostragem e correc¸a˜o de sinais analo´gicos. Um sinal analo´gico, deve ser
convertido para um sinal digital atrave´s de uma taxa de amostragem. Durante essa conversa˜o, o conversor
utilizado, em corrente continua, introduz uma componente cont´ınua ao sinal convertido, dificultando a
ana´lise precisa dos dados captados.
A primeira modificac¸a˜o feita no sinal e´ em relac¸a˜o ao n´ıvel DC do sinal. Quando uma amostra de
sinal e´ capturada e´ normal estar presente um offset, este n´ıvel invariante na˜o tem significado em ana´lises
digitais, como a que aqui esta´ sendo desenvolvido. De fato o n´ıvel DC pode interferir na ana´lise digital,
principalmente quando e´ feito um trabalho no domı´nio da frequeˆncia. O que e´ feito no algoritmo enta˜o e´
dividir o vetor de amostras dos sinais pela me´dia dos valores inclu´ıdos nos mesmos. Esta te´cnica e´ capaz
de reduzir a amplitude das amostras e juntamente com a eliminac¸a˜o de espac¸os com baixa energia, o sinal
capturado e´ reduzido apenas a` parte que nos interessa. Todos os sinais utilizados nos testes do algoritmo
passam inicialmente por um filtro de pre´ eˆnfase do tipo do modelo da equac¸a˜o 1, onde o valor α varia
entre 0,9 e 1. Este filtro tem a finalidade de aumentar a energia do sinal a` altas frequeˆncias, por isso o
nome dado na bibliografia.
Y [n] = X[n] = αX[n− 1] (1)
Engenharia Ele´trica 2 Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
E´ conhecido que cada indiv´ıduo tem um sistema pro´prio pelo qual o sinal de fala passa, este sistema
e´ responsa´vel por gerar sinais u´nicos de voz para cada palavra. As mesmas palavras ditas por pessoas
de mesmo sexo e idade podem ter formatos de espectro distintos e energia em frequeˆncia diferentes, isso
pode dificultar o reconhecimento de palavras isoladas por observac¸o˜es superficiais. Portanto faz-se ne-
cessa´rio o uso de um algoritmo de correlac¸a˜o cruzada que analisa a semelhanc¸a entre dois ou mais sinais
considerando o deslocamento no tempo entre um deles (time shift), esta etapa verifica a semelhanc¸a entre
a palavra que esta sendo testada e as palavras do banco de dados. Utilizando o MATLAB, quando dois
sinais de tamanho igual a N sa˜o comparados utilizando relac¸a˜o cruzada sera´ retornado um vetor resultado
de comprimento igual a 2N, sendo que quando dois sinais apresentam zero relac¸a˜o entre si o valor ma´ximo
da sa´ıda do algoritmo de relac¸a˜o cruzada estara´ posicionada no ı´ndice N.
Quando a correlac¸a˜o cruzada entre dois sinais ideˆnticos e´ feita, o resultado plotado deve ser perfei-
tamente sime´trico. Entretanto, como em casos reais e´ muito dif´ıcil ter dois sinais ideˆnticos, mesmo que
sejam a mesma palavra e venham da mesma pessoa, havera´ algumas diferenc¸as em relac¸a˜o a` teoria. Por
outro lado, por se tratar de palavras iguais o espectro deve ser no mı´nimo parecido, o que resulta em
uma sa´ıda pro´xima da simetria.
x(t) =
N∑
i=1
Aicos(2pift+ φi) (2)
A frequeˆncia sonora da voz humana varia entre 100 e 3500 Hz. Uma taxa adequada para este caso e´
tal que respeite o teorema de Nyquist, que afirma que a frequeˆncia de amostragem de um sinal deve ser,
no minimo, duas vezes o valor da maior frequeˆncia existente nesse sinal, para este possa ser recuperado
sem perda de informac¸o˜es. Portanto,para o se trabalhar com a´udio vocal, uma taxa de amostragem
de 8000 Hz e´ mais do que suficiente. Entretanto, quanto maior a frequeˆncia de amostragem, melhor
o sinal sera´ capturado, sendo maior a qualidade, assim, frequeˆncias comuns em tratamentos de a´udio
em computadores pessoais sa˜o de 10kHz, 16kHz, ate´ 44kHz. Vale notar que quanto maior a taxa de
amostragem, maiores recursos computacionais sa˜o utilizados. A figura abaixo representa um sinal sonoro
no tempo.
Engenharia Ele´trica 3 Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
Figura 2 – Sinal de a´udio no tempo
Existem duas ferramentas que sa˜o de muita valia na ana´lise de sinais discretos: a Transformada
Discreta de Fourier e a Transformada Ra´pida de Fourier - FFT, do ingleˆs Fast Fourier Transform.
Basicamente, estas sa˜o as mesmas ferramentas. O que diferencia uma da outra e´ sua implementac¸a˜o.
A FFT e´ adequada para a ana´lise computacional de sinais. Ambas as ferramentas foram utilizadas na
ana´lise dos sinais capturados, pois providenciam muitas informac¸o˜es valiosas no domı´nio da frequeˆncia
que podem ser utilizadas na extrac¸a˜o de dados do sinal, como por exemplo a componente fundamental,
a energia total presente e qual componente mais contribui energeticamente para o sinal.
E = |X(ω)2| (3)
A relac¸a˜o acima compo˜e uma boa te´cnica para reconhecimento de palavras. Como mencionado, cada
sinal possui um conjunto de frequeˆncias, assim pode-se concluir dentro deste sinal existira˜o frequeˆncias
que contribuira˜o mais ou menos para a energia do sinal. O quanto cada componente de frequeˆncia
contribui e´ a chave para comparar os sinais capturados. Nesse ponto, torna-se evidente a importaˆncia de
normalizar o espectro de frequeˆncias do sinal, ja´ que os sinais capturados podem variar bastante em sua
magnitude. A linearizac¸a˜o e´ feita por
Engenharia Ele´trica 4 Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
y = (x− xmin)/(xmax − xmin)
A figura abaixo mostra o espectro de frequeˆncias da palavra Pisca e a quantidade de energia corres-
pondente a cada componente de frequeˆncia. Claramente, pode-se observar o intervalo de frequeˆncia que
mais contribui para o sinal, esta´ entre 0 e 500 Hz.
Figura 3 – Sinal de a´udio na Frequeˆncia
Todos os passos ate´ agora sera˜o realizados tanto na parte de ensino, quanto na parte de treino do
algoritmo. Daqui para a frente, sera´ descrita a teoria para construir um algoritmo que compare os sinais
do banco de dados com o sinal coletado.
3.2 Fase de Ana´lise
Existe uma imensa quantidade de dados no espectro de frequeˆncias de um sinal de voz de uma pessoa,
que varia em raza˜o de sua idade e geˆnero. Ainda para um mesmo locutor, o espectro de frequeˆncias de seu
sinal de voz pode variar drasticamente dependendo do tipo de palavra, que produz diferentes vibrac¸o˜es
em suas cordas vocais.
O filtro de Wiener, tambe´m descrito como Filtro O´timo em Tempo Discreto, foi utilizado para com-
parar o sinais gravados no banco de dados com o sinal gravado no teste. Proposto na de´cada de 40, esta
Engenharia Ele´trica 5 Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
te´cnica pressupo˜e um sinal aleato´rio estaciona´rio como entrada, que passara´ pelo filtro e um sinal no
banco (teste), como ilustrado na figura abaixo.
Figura 4 – Aplicac¸a˜o do Filtro de Wiener a um sinal w[n]. Sinal com-
parado s[n]
A func¸a˜o de sistema do filtro e´ dada por
W (z) =
p−1∑
n=0
w(n)z−1
onde w(n) e´ a resposta unita´ria do filtro.
A sa´ıda do filtro d′(n) e´ dada pela convoluc¸a˜o de w(n) com x(n), a entrada do filtro, logo tem-se que
d′(n) =
p−1∑
n=0
w(n)z−1
ξ =
p−1∑
0
w(l)x(n− l).
Passa-se o filtro FIR no sinal captado no banco de dados e estima-se um sinal dado pelo filtro. A
comparac¸a˜o entre os sinais e´ realizada pelo mo´dulo do quadrado da diferenc¸a dos sinais. Logo, o cerne
do problema esta´ em encontrar os coeficientes mı´nimos do filtro tais que o erro entre o sinal testado e do
banco seja o menor poss´ıvel. Em outras palavras,
ξ = |e(n)|2 = |d(n)− d′(n)|2
Para tanto, e´ necessa´rio e suficiente que que a derivada de ξ em relac¸a˜o a w ∗ (k) seja igual a zero,
para k =0, ..., p-1. Esta derivada, resulta na equacao
Ed(n)x ∗ (n− k)−
p−1∑
l=1
w(l)Ex(n− l)x ∗ (n− k) = 0
Engenharia Ele´trica 6 Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
que pode ser reescrita como a equac¸a˜o de Wiener-Hopf.
p−1∑
l=1
w(l)Rx(k − l) = rdx;k=0,...,p−1
Matricialmente, tem-se
Rxw = rdx
Logo,
w = R−1rdx
Portanto, os coeficientes w sa˜o encontrados fazendo a multiplicac¸a˜o matricial da inversa da auto-
correlac¸a˜o, Rx do sinal pela correlac¸a˜o-cruzada do sinal, rdx.
4 RESULTADOS E CONCLUSA˜O
Durante a fase de testes, pode ser observado que o sistema funciona bem para o caso em que o
a´udio gravado no banco de dados e´ o mesmo da pessoa que efetuou o teste, na˜o funcionado tao bem
se em algum desses casos ha um interlocutor diferente. Foi verificado tambe´m que, para palavras fo-
neticamente parecidas, como e´ o caso de Liga e Desliga, e´ aconselhado utilizar filtros diferentes de pre
enfase diferentes, reforc¸ando o sinal em pontos distintos. Isso possibilita uma melhor comparac¸a˜o dos
sinais de espectro de frequeˆncias parecido. Alem disso, outro observac¸a˜o experimental desse projeto
se deve ao n´ıvel de ruido presente no ambiente, tanto na hora da gravac¸a˜o do banco de dados, quanto
na parte de teste. Um ambiente conturbado aumenta significativamente o erro na detecc¸a˜o dos comandos.
As diversas te´cnicas utilizadas no projeto, combinadas, resultaram em um alto n´ıvel de reconhecimento
de diferentes palavras, respeitadas as condic¸o˜es expostas anteriormente, que exigem um ambiente sem
silencioso e que o locutor que teste o sistema esteja previamente cadastrado no banco de dados.
Engenharia Ele´trica 7 Projeto de Reconhecedor de Comandos de Voz
PROCESAMENTO DIGITAL DE SINAIS UNIVERSIDADE FEDERAL DE OURO PRETO
Refereˆncias
[1] OPPENHEIM, A.; SCHAFER, S. D. Discrete-Time Signal Processing. 3 rd Edition. Prentice Hall.
1137 p.
[2] MUDA, Lindasalwa; MUNTAJ Begam; Elamvazuthi I. ”Voice recognition algorithms using mel fre-
quency cepstral coefficient (MFCC) and dynamic time warping (DTW) techniques.”(2010).
[3] NAKASHIMA, G. Y. Aplicac¸a˜o do filtro de Wiener para tratamento de sinais eletromiogra´ficos. 2003.
Total de folhas. 59 f. Dissertac¸a˜o - Escola de Engenharia de Sa˜o Carlos - Universidade de Sa˜o Paulo.
Sa˜o Carlos, 2003.
Engenharia Ele´trica 8 Projeto de Reconhecedor de Comandos de Voz
	OBJETIVO
	INTRODUÇÃO
	MÉTODO
	Fase de Ensino - Desenvolvimento de Algoritmo de Detecção
	Fase de Análise
	RESULTADOS E CONCLUSÃO

Outros materiais