Você está na página 1de 4

IME - SE/3 - Mestrado em Engenharia El etrica

Reconhecimento de Voz por M aquinas - Denic oes


e Simulac ao de Caso
Lvia Rocha Queiroz Soares
ResumoEste artigo descreve o uso do reconhecimento de
voz por m aquinas e alguns m etodos para sua implementac ao. O
programa usado para simulac ao de processamento de voz foram
MATLAB neste estudo.
Palavras-ChaveReconhecimento por voz , Processamento
Digital, MATLAB.
I. INTRODUC AO
Este artigo e referente sobre entrada e reconhecimento
de voz por dispositivos, sendo foco principal uma simples
simulac ao deste caso, utilizando a medida de frequ encia e
espectro como par ametro para reconhecimento fon etico das
palavras (acoustic phonetic approaching) das letras ou palavras
utilizando o software MATLAB e entro outros m etodos como
estoc astico e vetor de quantizac ao. Al em disso, ser a apre-
sentada a discuss ao de alguns m etodos para reconhecimento
autom atico de voz (ASR) e possveis aplicabilidades. Esta area
de estudo e uma das mais interessantes e ao mesmo tempo,
complexa que desperta interesse pela sua ampla aplicabilidade
desde comandar m aquinas, rob os ou simples acender de luzes.
Os pacotes de programac ao prontos e bibliotecas utilizadas
pelo Windows e MATLAB s ao em ingl es. No caso, o sistema
operacional Windows e programa MATLAB utilizam padr ao
MIKE , sendo assim , foram gravadas amostras de letras e
palavras em portugu es por exemplo, mediu-se as frequ encias
com predic ao linear para minimizar os erros e tentar identicar
as letras por frequ encia como demonstrac ao. Em seguida ,
utilizou-se a pr opria biblioteca do MATLAB para convers ao
dos sinais sonoros e o reconhecimento de voz identicando
os locutores. O principal foco de estudo e demonstrar alguns
m etodos de reconhecimento autom atico de voz (ASR) e sua
aplicabilidade.
II. DEFINIC OES
A. Reconhecimento de Fala
Reconhecimento de Fala (tamb em e conhecido como Au-
tomatic Speech Recognition (ASR), ou reconhecimento de
voz autom atico) e o processo de convers ao de um sinal de
voz a uma sequ encia de palavras, por meio de um algoritmo
implementado por programa de computador o qual e possvel
a identicac ao do locutor e as palavras faladas.
B. Tipos de Reconhecimento de Fala
Sistemas de reconhecimento de fala podem ser separadas
em v arias classes diferentes de descrever quais os tipos de
Lvia Rocha Queiroz Soares Sec ao de Engenharia El etrica, Instituto Militar
de Engenharia, Rio de Janeiro-RJ, Brasil, E-mail: liviarqueiroz@ig.com.br
pronuncia que tem a capacidade de reconhecer. Estas classes
s ao classicados como as seguintes:
Palavras Isoladas: Reconhecedores de palavra geralmente
exigem para cada express ao ter aus encia ( falta de um
sinal de audio ), em ambos os lados da janela de amostra
. Ele aceita palavras ou unico pronunciamento de uma
vez . Estes sistemas t em estados Ouvir / N ao - Ouvir,
onde eles exigem que o alto-falante que em estado
de espera entre as express oes (normalmente fazendo o
processamento durante as pausas ).
Palavras Conectadas: Sistemas de Palavras conectadas (
ou declarac oes conectadas) s ao semelhantes ` as palavras
isoladas, mas permite declarac oes separadas serem co-
ladas com uma pausa mnima entre elas.
Discurso contnuo: Reconhecedores de fala contnua per-
mitem que os usu arios falem quase naturalmente , en-
quanto que o computador determina o conte udo (basica-
mente, ditado ao computador). Reconhecedores (recog-
nizers) com capacidades de fala contnua s ao alguns dos
mais difceis para criar porque utilizam m etodos especiais
para determinar limites entra as palavras.
Fala espont anea: A um nvel de base , que pode ser
pensada como a fala que e natural som e n ao ensaiado.
Um sistema ASR com capacidade espont anea de discurso
deve ser capaz de lidar com uma variedade de recursos
naturais caractersticas da fala.
Abaixo, um c odigo simples em matllab, apenas para ilustrar
uma tentativa de reconhecimento de voz atrav es de gravac ao
de voz e comparac ao entre os arquivos wave (.WAV) gerados:
Codigo Matlab
%IME - Instituto Militar de Engenharia
% autora: Livia Soares -
% Mestrado engenharia eletrica
for i = 1:1
file = sprintf(%s%d.wav,rec,i);
input(Pressione enter p/ gravar
seu nome: );
y = wavrecord(88200,44100);
soundsc(y,44100);
wavwrite(y,44100,file);
end
name = input (Entre com nome que deve
ser identificado: ,s);
for j = 1:1
file = sprintf (%s%d.wav,rec,j);
%Local do arquivo
path=C:\Desktop\IME\PSD I\trabalho\;
IME - SE/3 - Mestrado em Engenharia El etrica
file=cat(2,path,file);%file
[t, fs] = wavread (file);%file
% Janela contendo apenas o que foi falado
s = abs (t);
end
%Comparando as amostras
input (Pressine ENTER novamente para
gravar outra amostra)
usertemp = wavrecord (88200,44100);
sound (usertemp,44100);
rec = input (Pressione 1 para gravar
novamente ou pressione ENTER
para prosseguir);
while rec == 1
do rec = 0;%tirar o do antes do rec
input (Pressione Enter quando estiver
pronto)
usertemp = wavrecord (88200,44100);
soundsc (usertemp,44100);
rec = input (Pressione 1 para gravar1
s1 = abs (usertemp);
subplot(2,1,1);
plot(s);
title(Sua voz original);
subplot(2,1,2);
title(Voz testada);
plot(s1);
if s==s1
fprintf(Voce e %s,name);
else
fprintf(Voce nao e %s,name);
end
O resultado que ocorrer a se a entrada de voz for por
microfone, sempre dar a mismatch (n ao reconhecido), este
m etodo s o funciona de comparac ao se a entrada for exatamente
igual (arquivo wave por exemplo), onde todas as caractersticas
forem exatamente iguais. Por isso, a import ancia do tratamento
do sinal de voz atrav es de m etodos onde alguns ser ao descritos
neste artigo.
III. PRINC

IPIOS DE ALGUNS M

ETODOS PARA
RECONHECIMENTO DE VOZ
A. Ac ustica fon etica
As primeiras abordagens para o reconhecimento de voz
foram baseadas em encontrar sons da fala e identicar de
forma apropriada (labels) estes sons. Primeiro e fazer an alise
espectral do som, segundo passo e segmentar em regi oes
fon eticas para facilitar a identicac ao e terceiro passo e
comparar com os sons pr e-denidos atrav es de sintaxes ou
vocabul arios j a denidos tamb em.
Tabela1 - Par ametros considerados tpicos para extrac ao das
caractersticas de fala
B. Coincid encia de Padr ao (pattern matching)
Este m etodo envolve dois passos essenciais ou seja, a
formac ao de padr oes e comparac ao de padr oes. A carac-
terstica essencial desta abordagem e que ela utiliza uma
bem formulada estrutura matem atica e estabelece entre as
falas representac oes consistentes de padr ao por comparac ao
con avel destes padr oes, a partir de um conjunto de amostras
de treinamento rotuladas atrav es de um algoritmo de treina-
mento formal.
C. Baseado em refer encia (Template )
Uma colec ao de padr oes de fala que s ao prot otipos ar-
mazenados como padr oes de refer encia que representam o
dicion ario de palavras possveis. Reconhecimento e ent ao
realizado por combinac ao da palavra falada desconhecida com
cada um desses modelos de refer encia e selecionando a catego-
ria dos melhores que correspondem de padr ao. Normalmente,
modelos para palavras inteiras s ao construdos. Isto tem a
vantagem de que, devido a segmentac ao e classicac ao de
menores unidades de vari aveis ac usticas tais como fonemas,
os erros podem ser evitados. Por sua vez, cada palavra deve
ter a sua refer encia na base gravada previamente para poder
ter comparac ao de padr oes e este m etodo e invi avel para uma
base da dados extensa.
D. Modelo Estoc astico
Modelagem estoc astica implica na utilizac ao de modelos
probalsticos para lidar com informac oes incertas ou incom-
pletas em reconhecimento de voz, a incerteza e a incompletude
surgem de muitas fontes, por exemplo, sons confusos, variabil-
idades de quem fala, efeitos contextuais e palavras com mesma
pron uncia e escrita diferente. Assim, modelos estoc asticos s ao
abordagens particularmente adequadas ao recocnhecimento de
fala contnua. A abordagem estoc astica mais popular hoje e
modelagem oculta de Markov. Um modelo de Markov oculto e
caracterizado por um modelo de Markov de estado nito e um
conjunto de distribuic oes de sada. Os par ametros de transic ao
na cadeia de modelos Markov, variedades temporais, enquanto
que os par ametros no modelo de distribuic ao de sada, var-
iedades espectrais s ao dois tipos ess encias para reconheci-
mento de voz. O modelo oculto de Markov ( HMM- Hidden
Markov Model) trabalha com as entradas ( no caso com
arquivos de som como waves) calculando as probabilidades
com os possveis estados ( o tom ou rapidez , por exemplo, que
a mesma palavra pode ser falada pela mesma pessoa) , onde a
sequ encia n ao e conhecida e o locutor e identicado mesmo
assim e o que est a sendo falado. Em reconhecimento de voz
existem as fases de entrada de dados para base, treinamento
das vari aveis (training) e reconhecimento da fala. Um HMM
gera sequ encias de observac oes pulando de um estado para
outro, emitindo uma observac ao a cada salto. Geralmente e
utilizado um modelo simplicado de HMM conhecido como
modelo left-right, ou modelo de Bakis , no qual a sequ encia
de estados associada ao modelo tem a propriedade de, ` a
medida que o tempo aumenta, o ndice do estado aumenta (ou
permanece o mesmo), isto e, o sistema caminha da esquerda
para a direita no modelo.
Os estados s ao identicados numericamente e postas numa
matriz onde s ao feitos c alculos com o valor da entrada (Xi)
mais os valores posteriores (Xf) com as respectivas probabili-
dades e proximidade com um objeto denido anteriormente no
IME - SE/3 - Mestrado em Engenharia El etrica
sistema (Cadeira de Markov), os quais s ao guardados na base
de dados . Assim, mesmo que uma palavra seja dita de formas
diferentes pelo mesmo locutor, a identicac ao e possvel.
E. DTW - Dynamic Time Warping
Dynamic Time Warping e um algoritmo para medir a
similaridade entre duas sequencias as quais possam variar
no tempo ou velocidade. Nessa inst ancia, similaridade , o
objeto e identicado em velocidade maior ou mais devagar,
durante o curso de uma das observac oes. DTW e aplicado
para vdeo, audio , gr acos em geral, ou qualquer dado que
podem ser transformados numa representac ao linear que possa
ser analisada com este m etodo.
F. Quantizac ao de Vetor (VQ - Vector Quantization)
Um dos m etodos mais indicado para o sistema ASR (Au-
tomatic Speech Recognition), as amostras s ao gravadas em
pastas (codebooks), com suas carcatersticas e os c alculos
(MFCC) s ao armazenados em vetores. A frequ encia de en-
trada e comparada com as que est ao no sistema previamente
gravadas e a resposta mais aproximada e validada.
IV. T

ECNICAS
As duas t ecnicas consideradas mais importantes para
detecc ao e reconhecimento de voz autom atico ser ao descritas
abaixo:
A. Preditor linear (Linear Predictive Coding)

E uma das t ecnicas mais utilizadas para an alise e sntese dos


sinais de voz. De maneira simplicada, o LPC e uma t ecnica
baseada na modelagem de predic ao linear associada ao fato
de o sinal a ser codicado ser vozeado ou n ao. A partir dessa
ultima informac ao, pode-se denir se haver a (vozeado) ou n ao
(n ao vozeado) o envio da informac ao de pitch. Assim, h a
diferenca de excitac ao no decodicador para os sinais sonoros
e os surdos: os primeiros, por apresentarem altura denida,
s ao representados por um trem de impulsos espacados pelo
pitch. J a os segundos, acabam por ser representados por um
rudo branco gaussiano de m edia zero e vari ancia unit aria.
B. An alise Cepstral
O cepstrum e transformac ao comum usada para obter
informac oes do sinal de voz de uma pessoa. Ele pode ser
utilizado para separar o sinal de excitac ao (que cont em as
palavras e o passo) e a func ao de transfer encia (que cont em
a qualidade de voz). Isso e semelhante a um codicador
de voz de canal ou LPC nas suas aplicac oes, mas usando
o cepstrum como um analisador espectral e um processo
totalmente diferente.
V. FERRAMENTAS
A. Matlab
Voicebox e uma das ferramentas do MATLAB que consegue
reconhecer a fala e transformar em texto (speech to text)
e e uma ferramenta pode ser utilizada para manipulac ao de
dispositivos por podermos integrar com outras linguagens de
programac ao como C++, java. A biblioteca pode ser obtida
atrav es do site da Mathworks , fabricante do software de
forma gratuita. Al em das ferramentas disponveis, podemos
construir algoritmos de predic ao linear e modular as entradas
de som (erro de predic ao) para que identique a caracterstica
(espectro) do que est a sendo falado. Usando um dos m etodos
descritos acima, o reconhecimento de voz e possvel.
VI. APLICABILIDADE
O uso do reconhecimento de voz pode ser aplicado princi-
palmente por quem tem diculdade locomotora para realizac ao
de tarefas, utilizando a voz para acionamento de disposi-
tivos como acendimento autom atico de luzes, realizac ao de
chamadas entre outros. Aplica-se para automac ao na telefonia
em solicitac ao de informac oes sem intervenc ao humana por
parte da prestadora, tamb em interac ao com rob os. No setor
militar para controle de artefatos via voz. Em seguranca e
tecnologia da informac ao, a identicac ao por voz pode ser
uma forma segura de autenticac ao combinada com conjunto
de letras de senha.
VII. SIMULAC

AO
A. Caso 1 - Comparac ao Caractersticas Fon eticas - Recon-
hecimento da Fala
Foram gravados 5 sinais sonoros correspondentes a cada
uma das 5 vogais a uma frequ encia de amostragem de 8000Hz.
Foram gravados cinco arquivos de audio, que correspondem
a cada uma das 5 vogais. Com a implementac ao do m etodo
dos mnimos quadrados, extraiu-se um conjunto de coe-
cientes que permite exprimir o sinal como uma combinac ao
linear do sinal de ordem 10 (predictor order) possibilitando a
identicac ao da vogal, apesar dos tons diferentes da mesma
letra.
Vogal/ Coeciente das letras: a = -28.621 -41.639 35.178
-15.182 0.5076 -14.872 31.935 -35.447 23.103 -0.7953 / e=
0.5491 0.3983 0.6863 -0.8325 -0.4680 -0.2636 0.6661 0.3542
-0.0358 -0.3800 / i= -0.2281 17.010 12.326 -18.152 -17.957
0.9485 15.868 -0.1111 -0.6761 -0.2117 / o= 24.121 -18.792
-0.8770 21.453 -0.1786 -17.791 11.186 0.4351 -0.7512 0.2853
/ u= 29.827 -22.460 -13.892 18.744 0.5653 -0.3264 -0.8423
-0.3886 12.964 -0.5417
C odigo Matlab
p=10;
vector = [a(1:9000,1) e(1:9000,1)
ii(1:9000,1) o(1:9000,1) u(1:9000,1)];
aux = [6001 7001 5001 7001 7001];
alfa = zeros(p,5);
for k=1:5
x=vector(:,k);
ni=aux(k);
IME - SE/3 - Mestrado em Engenharia El etrica
nf=ni+159;
r=zeros(p,1);
R=zeros(p,p);
for i=1:p
r(i)=0;
for n=ni:nf
r(i)=r(i)+x(n)
*
x(n-i);
end
for j=1:p
R(i,j)=0;
for n=ni:nf
R(i,j)=R(i,j)+x(n-i)
*
x(n-j);
end
end
end
alfa(:,k) = R\r;
end
B. Caso 2 - VQ - Vector Quantization - Reconhecimento do
Falante
Inserindo o comando programado speakerrecognition ,
foram gravadas 10 amostras de vozes e identicados com ID
(n umeros) em seus respectivos codebooks. Ap os a gravac ao,
a entrada e feita por microfone, entrando no est agio de
treinamento. As informac oes s ao armazenadas em arquivos
.wav e a identicac ao e feita na segunda entrada atrav es de
c alculos de proximidade.
Neste momento , executando os c alculos Mel Frequency
Cepstrum Coecients (MFCC) e as vari aveis sendo checadas
para comparac ao das caractersticas da voz. Na gura a seguir,
o programa mostra o resultado de identicac ao do locutor com
exito.
VIII. CONCLUS

AO
Conclui-se neste artigo que o m etodo para reconheci-
mento de voz deve obedecer os seguintes crit erios de escolha
como: o tamanho da base de dados de armazenamento de
arquivos porque quanto mais extenso for a base de dados
a ser armazenada, deve-se adotar um m etodo mais enxuto
para diminuir o processamento; observar se a prioridade e a
seguranca e certeza de que a voz foi identicada corretamente
independente do tempo de processamento das vari aveis ou
apenas interessa a identicac ao da palavras que foi falada.
Sem o tratamento e ltro adequado, torna-se impossvel a
identicac ao do locutor. Foram testados os m etodos de an alise
fon etica e VQ que foram comparados:
M etodo Tempo M edio Amostras
Ac ustico 15S 10
VQ 75S 10
Observou-se que o m etodo que o m etodo de quantizac ao
de vetor leva mais tempo de processamento, por em o grau
de acerto e maior, onde foram tiradas 10 amostras de cada
m etodo.No m etodo por aproximac ao ac ustica obteve-se 20
porcento de acertos e no m etodo VQ 100 porcento de acerto.
REFER ENCIAS
[1] ANUSUYA M.A., KATTI S.K., Speech Recognition by Machine: A
Review, International Journal of Computer Science and Information
Security,Vol. 6, No. 3, 2009.
[2] D. A. Reynolds, L. P. Heck, Automatic Speaker Recognition - Recent
Progress, Current Application, and Future Trends, Apresentado na
AAAS 2000 Meeting Humans, Computer and Speech Symposium, Fev.
2000
[3] FURUI S., Speech-to-text and speech-to-speech summarization of spon-
taneous speech ,IEEE Trans. Speech and Audio Processing, 12, 4, pp.
401-408, 2004.
[4] MATHWORKS,Matlab: Voice Recognition, Site www.mathworks.com
Acessado em 24 de abr. 2014
[5] MUBIN Omar,BARTNECK Christoph. Improving Speech Recognition
with the Robot Interaction Language., Disruptive Science and Technol-
ogy. Volume 1, Number 2, 2012.
[6] YNOGUTI, Carlos Alberto. Reconhecimento de fala contnua usando
modelos ocultos de Markov., Campinas, 1999.