View
222
Download
0
Category
Preview:
Citation preview
ALLAN SHIGUETO AKISHINO GRR20040179
MARCOS PAULO RIKI YANASE GRR20042822
PESQUISA, DESENVOLVIMENTO E TESTES DE UM
SISTEMA DE RECONHECIMENTO DE PALAVRAS FALADAS
Trabalho de conclusão do curso de
graduação em Engenharia Elétrica, do
Setor de Tecnologia da Universidade
Federal do Paraná.
Orientador: Eduardo Parente Ribeiro
Co-orientador: Marcelo de Oliveira Rosa
CURITIBA
2008
i
RESUMO
Este trabalho expõe os conceitos básicos envolvidos em sistemas de
reconhecimento de palavras faladas. Traz informações relativas aos parâmetros que
podem ser extraídos de um sinal de voz e como obtê-los. Em um trabalho prático, a
teoria é aplicada através do desenvolvimento de um sistema simples de
reconhecimento de fala, cujo objetivo é verificar os conceitos envolvidos e tentar
reconhecer dígitos pronunciados em língua portuguesa.
ii
SUMÁRIO
LISTA DE TABELAS ............................................................................................................... iv
LISTA DE FIGURAS ................................................................................................................. v
1 INTRODUÇÃO ...................................................................................................................... 1
2 FUNDAMENTAÇÃO ............................................................................................................ 2
2.1 SISTEMAS DE RECONHECIMENTO DE FALA ............................................................ 2
2.1.1 FUNCIONAMENTO DE UM SISTEMA DE RECONHECIMENTO DE FALA ...... 3
2.1.2 MODELO DE PRODUÇÃO DA VOZ ........................................................................ 4
2.1.2.1 Fonemas ................................................................................................................. 5
2.2 EXTRAÇÃO DOS PARÂMETROS ................................................................................... 6
2.2.1 PRÉ-ÊNFASE ............................................................................................................... 6
2.2.2 AMOSTRAGEM .......................................................................................................... 6
2.2.3 DIGITALIZAÇÃO ....................................................................................................... 7
2.2.4 JANELAMENTO ......................................................................................................... 7
2.2.5 PARÂMETROS TEMPORAIS .................................................................................... 9
2.2.5.1 Energia ................................................................................................................... 9
2.2.5.2 Taxa de Cruzamento por Zero ............................................................................. 10
2.2.6 PARÂMETROS ESPECTRAIS ................................................................................. 11
2.2.6.1 Transformada de Fourier a Curto Prazo (Short-Time Fourier Transform (STFT)) .......................................................................................................................................... 12
2.2.6.2 Parâmetros Cepstrais ........................................................................................... 13
2.2.6.3 MFCC (Mel-Frequency Cepstrum Coefficients) ................................................. 14
2.2.6.4 Parâmetros Dinâmicos ......................................................................................... 16
2.2.6.5 Análise LPC ......................................................................................................... 17
2.2.6.6 Parâmetros LPC Cepstrais ................................................................................... 18
2.3 DISTÂNCIA ...................................................................................................................... 19
2.3.1 DISTÂNCIA EUCLIDEANA .................................................................................... 19
2.3.2 DISTÂNCIA DE MAHALANOBIS .......................................................................... 20
2.3.3 DISTÂNCIA DE ITAKURA-SAITO ......................................................................... 20
3 METODOLOGIA E RESULTADOS ................................................................................... 21
3.1 DESENVOLVIMENTO DA APLICAÇÃO ...................................................................... 21
3.1.1 A BASE DE DADOS ................................................................................................. 21
3.1.2 APLICAÇÃO 1: DISTÂNCIA EUCLIDEANA MÍNIMA ENTRE DÍGITOS ......... 23
3.1.3 APLICAÇÃO 2: DISTÂNCIA EUCLIDEANA MÍNIMA ENTRE FONEMAS ...... 27
3.1.4 APLICAÇÃO 3: REGIÕES DEFINIDAS POR MÚLTIPLOS DO DESVIO PADRÃO .............................................................................................................................. 33
3.1.5 APLICAÇÃO 4: PONDERAÇÃO DE DISTÂNCIA EUCLIDEANA POR REGIÕES
iii
BASEADAS EM HISTOGRAMAS .................................................................................... 36
3.2 APLICAÇÃO DE TESTES ............................................................................................... 40
4 CONCLUSÕES .................................................................................................................... 41
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 42
ANEXO I .................................................................................................................................. 43
iv
LISTA DE TABELAS
Tabela 3.1 – Transcrição fonética dos dígitos pronunciados .................................... 22
Tabela 3.2 – Métodos de acesso à base de dados .................................................. 22
Tabela 3.3 – Cenários de teste para a aplicação 1 .................................................. 25
Tabela 3.4 – Tabela de resultados para aplicação baseada na distância euclideana
entre centróides de dígitos inteiros .......................................................................... 26
Tabela 3.5 – Quantidade de amostras de treino e teste .......................................... 28
Tabela 3.6 – Taxas de acerto para cada cenário e cada fonema de teste ............... 29
Tabela 3.7 – Taxas de acerto para cada cenário e cada fonema de teste com
centróides calculados com base na tabela 3.3 ........................................................ 31
Tabela 3.8 – Taxas de acerto para a aplicação 4 ..................................................... 38
v
LISTA DE FIGURAS
Figura 2.1 – Modelo simplificado de um sistema de reconhecimento automático de
fala ............................................................................................................................. 3
Figura 2.2 – Modelo simplificado de produção da voz ............................................... 4
Figura 2.3 – Janela de Hamming (a) e sua transformada discreta no tempo (b) ....... 8
Figura 2.4 – Seção de sinal de voz com janelas de análise a curto prazo ................ 9
Figura 2.5 – Taxa de cruzamento por zero e energia a curto prazo ......................... 11
Figura 2.6 – Gráfico mostrando a relação freqüência – freqüência mel ................... 15
Figura 2.7 – Banda de filtros mel .............................................................................. 16
Figura 3.1 – Determinação de centróides para as amostras de testes .................... 24
Figura 3.2 – Centróide do dígito de testes e dígitos 0 e 1 ........................................ 25
Figura 3.3 – Ilustração da separação de amostras de treino e teste ....................... 27
Figura 3.4 – Fonemas com duração menor que 15ms ............................................. 30
Figura 3.5 – Gráfico comparativo de resultados globais .......................................... 32
Figura 3.6 – Gráfico comparativo de desempenho para silêncio (#) ........................ 33
Figura 3.7 – Figura ilustrativa das regiões de classificação ..................................... 34
Figura 3.8 – Comparação de resultados globais para constante k=3 e 3,5 ............. 35
Figura 3.9 – Histograma do primeiro coeficiente ao longo dos quadros da letra a .. 36
Figura 3.10 – Regiões baseadas em histogramas ................................................... 37
Figura 3.11 – Comparação de histogramas ............................................................. 39
1
1 INTRODUÇÃO
O presente trabalho apresenta as teorias envolvidas no reconhecimento da
fala, principalmente em relação à extração de parâmetros do sinal de voz. A teoria é
aliada à parte prática através do desenvolvimento de sistemas simplificados,
modularmente flexíveis para o reconhecimento de voz.
Na parte teórica é apresentada:
• Uma visão geral de um sistema de reconhecimento de voz;
• O modelo simplificado do sistema de produção da voz;
• Os diferentes parâmetros que podem ser extraídos do sinal de voz, sendo
eles temporais, freqüenciais e cepstrais;
• Diferentes medidas de distância que podem ser usadas para a comparação
dos parâmetros.
Na parte prática são desenvolvidos sistemas simples baseados no
reconhecimento de fonemas e vogais, tendo como foco principal os parâmetros Mel-
Cepstrais e as medidas de distância euclideana entre vetores extraídos
estatisticamente das amostras de fala. Para cada sistema é apresentada a taxa de
acerto obtida e uma breve conclusão.
2
2 FUNDAMENTAÇÃO
2.1 SISTEMAS DE RECONHECIMENTO DE FALA
Os sistemas de reconhecimento de fala podem ser classificados de diversas
maneiras: quanto ao modo de reconhecimento, em relação à dependência ou não do
locutor, de fala contínua ou isolada, tamanho do vocabulário, etc.
Em um sistema dependente do locutor, o sistema é treinado para reconhecer
o que é dito por determinado usuário. Já um sistema independente do locutor
reconhece a fala independente do usuário, não sendo treinado para nenhum usuário
específico. Os sistemas dependentes do locutor, apesar de serem mais eficientes no
reconhecimento, têm uma aplicabilidade mais limitada, pois há aplicações em que a
realização de treinamento para cada locutor é impossível.
Os sistemas de reconhecimento de fala contínua, apesar de serem mais
amigáveis ao usuário em diversas aplicações, têm complicações adicionais na
implementação e uma menor eficiência de reconhecimento, já que é necessária a
determinação de fronteiras entre palavras ou unidades fonéticas.
Com relação ao tamanho do vocabulário, é lógico que quanto maior o
número de palavras que podem ser reconhecidas, maior a probabilidade de erro de
reconhecimento, já que o sistema tem de optar dentro de um universo maior de
palavras.
Existem também os sistemas de reconhecimento de falante, cujo objetivo é a
identificação de usuários. Nestes sistemas é necessária uma fase de treinamento
para cada usuário, além de haver diversas características intra-locutor que dificultam
na implementação de tal sistema.
Em todos os sistemas de reconhecimento de voz, há diversos fatores que
afetam seu desenvolvimento e utilização, e que precisam ser ou solucionados ou
contornados. Como exemplo pode-se citar o ruído presente no sinal de voz,
proveniente tanto do ambiente de captação do sinal quanto da especificção e
qualidade dos materiais utilizados na transdução.
3
2.1.1 FUNCIONAMENTO DE UM SISTEMA DE RECONHECIMENTO DE FALA
O desenvolvimento de um sistema de reconhecimento de fala possui duas
etapas principais: a etapa de treinamento, onde criamos padrões ou modelos de
referência para nosso sistema; e a utilização propriamente dita, realizada a partir do
sistema devidamente treinado. A figura 2.1 mostra um modelo simplificado do
funcionamento de um reconhecedor automático de fala.
Figura 2.1 – Modelo simplificado de um sistema de reconhecimento automático de fala
Seu funcionamento pode simplificadamente ser descrito assim:
A voz é captada por um microfone e o sinal analógico proveniente é
transmitido a um sistema onde é feita a amostragem e a digitalização do sinal. A
partir disto, o sinal é dividido em pequenos intervalos de tempo sobrepostos e, para
cada um destes intervalos é feito o cálculo de parâmetros espectrais e/ou temporais.
A partir destes parâmetros, são realizadas comparações entre o padrão do sinal e o
da referência previamente criada, de acordo com o método escolhido. A seguir, o
sistema passa para a tomada de decisão, optando pela palavra com maior chance
de ser igual à palavra pronunciada.
4
2.1.2 MODELO DE PRODUÇÃO DA VOZ
Figura 2.2 – Modelo simplificado de produção da voz
A produção da voz pelo aparelho fonador humano pode ser aproximada por
um modelo simplificado que consiste de duas partes: a produção do sinal excitador e
a formação da característica espectral. Tal modelo está representado na figura 2.2.
Este modelo funciona da seguinte maneira: a excitação sonora é modelada
por um gerador de trem de pulsos, cujo espectro pode ser representado por P(f); a
excitação surda é modelada por um gerador de ruído branco, com espectro N(f).
Através de u e v a intensidade de cada excitação pode ser representada de maneira
satisfatória. A saída de ambas as excitações é então somada e alimenta o modelo
do trato vocal simplificado representado por H(f). Finalizando, as características dos
lábios podem ser modeladas por R(f) [3].
Basicamente são estes os parâmetros que modelam o sistema de produção
do sinal de voz. Para realizar o reconhecimento da voz, os parâmetros acima têm de
ser computados do sinal a cada intervalo de tempo e encaminhados ao
reconhecedor de voz, para o qual a maior parte da informação importante está
contida no modo em como a forma espectral do sinal muda com o tempo. Daí a
necessidade do cálculo ser realizado em curtos intervalos de tempo.
5
2.1.2.1 Fonemas
Neste tópico são citadas as principais classificações dos fonemas, sem
muitos detalhes por não ser este o enfoque deste trabalho.
Os fonemas podem ser divididos basicamente em vogais e consoantes.
Vogal é o fonema produzido pelo ar que, expelido dos pulmões, faz vibrar as
cordas vocais e não encontra nenhum obstáculo na sua passagem pelo aparelho
fonador. Há diversas classificações para as vogais [4], donde pode ser feita de
acordo com a intensidade (tônica, subtônica e átona), timbre (abertas e fechadas),
modo de articulação (orais e nasais), e quanto ao ponto de articulação (anteriores e
posteriores) além das semivogais.
Já as consoantes são fonemas assilábicos que são produzidas após
ultrapassar um obstáculo que se opõe à corrente de ar no aparelho fonador. Assim
como as vogais, podem ser classificadas de diversas maneiras:
• Quanto ao papel das cordas vocais: surdas (f, k, p, s, t, ch) e sonoras (b, d, g,
j, l, lh, m, n, nh, r, v, z)
• Quanto ao modo de articulação: oclusivas: (b, p, d, t, g, k), fricativas (f, v, j, ch,
s, z), laterais (l, lh), vibrantes (r, rr). nasais (m, n, nh).
• Quanto ao ponto de articulação: bilabiais (p, b, m), dentais ("th" do inglês),
alveolares (t, d, n, s, z, l, "r" fraco), labiodentais (f, v), palatais (j, ch, lh, nh),
retroflexivas("r" caipira), velares (k, g e rr na maioria dos dialetos), uvulares( o
“r” forte do dialeto fluminense ou o "h" do inglês) e glotais (não há consoantes
glotais em português e em praticamente nenhum dos idiomas ocidentais).
Neste trabalho a única classificação usada é a distinção entre os fonemas
surdos e sonoros, por ser uma característica bem visível através do sinal de voz e de
seus parâmetros.
6
2.2 EXTRAÇÃO DOS PARÂMETROS
Para a extração dos parâmetros do sinal de voz, primeiro é necessário
realizar uma preparação neste sinal, o que é tratado nos próximos tópicos. Logo a
seguir há algumas informações sobre os parâmetros temporais, espectrais e
cepstrais.
2.2.1 PRÉ-ÊNFASE
Devido a uma queda de freqüência provocada pelos lábios e pelo pulso
glotal do locutor, é necessária a aplicação de um filtro pré-ênfase para realizar a
compensação [3]. Este filtro passa-altas pode ser aplicado por um circuito analógico,
antes da quantização, ou depois, por um filtro digital.
Esta queda é de aproximadamente 6dB/oitava, o que pode ser compensado
com o uso de um filtro FIR de primeira ordem: ���� = ���� − ��� − 1� (Eq. 1)
O valor de utilizado no filtro varia de acordo com a compensação desejada
e outras características, podendo ter valores como 0,9 [2], 0,97 [3], em geral,
estando no intervalo entre 0,9 e 1 [1].
2.2.2 AMOSTRAGEM
O microfone capta um sinal contínuo de voz, que então é enviado a um
sistema que faz a amostragem do sinal a uma freqüência adequada, lembrando
sempre de respeitar o teorema de Nyquist, que diz que é necessário amostrar o sinal
a, pelo menos, uma freqüência de duas vezes o valor da maior freqüência do sinal.
Apesar da voz ter um amplo espectro de freqüências, contendo até mesmo
freqüências ultrasônicas para alguns sons fricativos [3], do uso do telefone analógico
é sabido que uma banda de 4 kHz de sinal contém toda a informação necessária
para o entendimento da voz humana. Sendo assim, um valor mínimo para a taxa de
amostragem seria de 8kHz. Aumentando esta taxa de amostragem, pode-se diminuir
a taxa de erro no reconhecimento, mas a partir de 16 kHz já não se nota melhoras
tão significativas [5].
7
2.2.3 DIGITALIZAÇÃO
A amostragem discretiza o sinal no tempo, mas ele ainda é contínuo em
amplitude. Então é necessário transformar esta amplitude em valores discretos para
que possam ser armazenados e processados em sistemas computacionais. Apesar
de 8 bits serem até suficientes para a representação do sinal de voz, geralmente é
utilizado um valor de 16 bits para a digitalização [1].
2.2.4 JANELAMENTO
Devido à natureza da variação do sinal de voz, é comum processar a voz em
blocos (frames), que mantém certas propriedades da forma de onda da voz. Isto nos
conduz ao princípio básico de análise a curto prazo, que pode ser representada de
forma geral pela equação 2 [1]:
��� = � ���������� − ����� � �� (Eq. 2)
onde ��� representa o parâmetro de análise de curto prazo (ou vetor de parâmetros)
em um tempo de análise ��. O operador ��� representa a natureza da função de
análise, e ���� − �� representa a seqüência de janelas deslocadas no tempo, cujo
propósito é selecionar um segmento da seqüência ���� na vizinhança da amostra � = ��.
A função da janela é suavizar as extremidades do segmento, diminuindo o
efeito das extremidades, pois na segmentação do sinal podemos acabar gerando
componentes de alta freqüência que não pertencem ao sinal [2].
Uma das janelas mais usadas para esta função é a janela de Hamming, que
pode ser matematicamente representada como na equação 3.
� ��� = ! 0.54 + 0.46 cos *+�, - , −, ≤ � ≤ ,0, 01�2 02�34á4627 (Eq. 3)
O tamanho da janela e da sobreposição de janelas consecutivas são valores
que são escolhidos por experiência e ajustados empiricamente de acordo com os
resultados desejados, havendo diversos estudos a este respeito. Como exemplos de
valores práticos, pode-se citar:
8
• Janela de Hamming com 12 a 32ms de duração e deslocamento de 6 a
15ms [2]
• Janela com 40ms de duração e 15ms de deslocamento [1]
• 16 a 25ms de duração e 10ms de deslocamento [3]
Na figura 2.3 temos a representação em tempo discreto da janela de
Hamming (a) e sua transformada discreta no tempo (b). Na figura 2.4 tem-se uma
visão geral da sobreposição das janelas de Hamming aplicadas ao sinal.
Figura 2.3 - Janela de Hamming (a) e sua transformada discreta no tempo (b) [1]
9
Figura 2.4 - Seção de sinal de voz com janelas de análise a curto prazo [1]
O objetivo do processamento do sinal de voz a curto prazo é fornecer um
conjunto de parâmetros que representem os diferentes intervalos do sinal de voz e
que possam ser empregados nos estágios posteriores de reconhecimento de
padrões acústicos. Estes parâmetros devem separar, ou pelo menos tentar, os
padrões de diferentes fonemas ou alofones a partir das características físicas do
sinal acústico. Para isso podem-se utilizar tanto parâmetros temporais como
espectrais.
2.2.5 PARÂMETROS TEMPORAIS
Duas análises básicas a curto prazo para os sinais de voz são a energia do
sinal e a taxa de cruzamento por zero a curto prazo. Estas funções são simples de
computar, e elas são úteis na estimação das propriedades da função de excitação
no nosso modelo de produção de voz [1].
2.2.5.1 Energia
A energia de curto prazo é definida através da equação 4.
9�� = � (�������� − ��):����� = � �:����:��� − ���
���� (9;. 4)
10
Neste caso o operador ��� é simplesmente o quadrado das amostras
janeladas. Geralmente é possível também expressar os operadores de análise a
curto prazo como uma convolução ou uma operação de filtro linear. Neste caso, 79�� = �:��� ∗ ℎ>���|���� onde a resposta ao impulso do filtro linear é ℎ>��� = �:��� [1].
2.2.5.2 Taxa de Cruzamento por Zero
Similarmente, a taxa de cruzamento por zero a curto prazo é definida como
uma média ponderada do número de vezes em que o sinal de voz muda de sinal
dentro da janela de tempo. A equação 5 representa este operador em termos de
filtragem linear.
@�� = � 0.5 |�A������� − �A����� − 1��|����� ���� − �� (9;. 5)
onde �A���� = B1 � ≥ 0−1 � < 07
Como 0.5 |�A������� − �A����� − 1��| é igual a 1 se ���� e ��� − 1� têm
diferentes sinais algébricos e igual a 0 se eles têm o mesmo sinal, então @�� é a
soma ponderada de todos os eventos de alternância de sinal que estão dentro da
região da janela deslocada ���� − ��. A equação 5 é apenas uma representação
geral desta taxa, e o cálculo de @�� pode ser feito de outras maneiras.
A figura 2.5 mostra um exemplo gráfico da energia e da taxa de cruzamento
por zero a curto prazo para um segmento de voz com uma transição entre um sinal
de voz surdo e um sonoro. Nesta figura, é utilizada uma janela de Hamming com
duração de 25ms (equivalente a 401 amostras a uma taxa de amostragem de 16
kHz).
11
Figura 2.5 - Taxa de cruzamento por zero e energia a curto prazo [1]
Note que durante o intervalo de sinal surdo, a taxa de cruzamento por zero é
relativamente maior quando comparado ao da taxa do sinal sonoro. Enquanto isso, a
energia é relativamente menor na região de sinal surdo quando comparada à
energia da região de sinal sonoro.
A energia e a taxa de cruzamento por zero a curto prazo são importantes
porque eles fornecem informações valiosas sobre o sinal de voz, e além disso são
simples de calcular. Elas podem ser usadas como base para um algoritmo de
decisão para decidir se o sinal de voz tem característica surda ou sonora.
2.2.6 PARÂMETROS ESPECTRAIS
Pode-se afirmar que o sinal de voz é uma seqüência de sinais em pequenos
intervalos onde a distribuição espectral de potência é relativamente constante. Ou
seja, a informação é composta pela dinâmica da variação dessas características
espectrais. Sabendo disso, torna-se interessante submeter o sinal de voz à análise
de Fourier, em intervalos de curta duração.
Para calcular de modo eficiente a transformada de Fourier, utiliza-se os
algarismos da FFT (Fast Fourier Transform) [2]. Os parâmetros da análise de Fourier
são dados pelos coeficientes da Transformada Discreta de Fourier (DFT - Discret
Fourier Transform).
12
Para esse tipo de parametrização, vale salientar que a resolução em
freqüência é limitada pelo passo em freqüência ∆F = 1 G�H , onde N é o comprimento
do quadro medido em número de amostras e T é o período de amostragem. Assim a
resolução em freqüência aumenta de maneira diretamente proporcional ao número
de amostras por quadro. Na parametrização temporal, contudo, a resolução aumenta
à medida que o tamanho dos quadros diminuem, e o número de amostras por
quadro se tornam mais concentradas.
O entendimento da resolução é essencial quando se trata de analisar
fonemas não-oclusivos ou oclusivos. Para fonemas não-oclusivos a identidade
espectral está fortemente relacionada à densidade espectral sendo mais importante,
neste caso, a resolução em freqüência. Por outro lado, fonemas oclusivos são
melhor identificados pela mudança de estacionariedade do sinal sendo, portanto,
mais vantajoso possuir uma resolução maior no domínio do tempo [2].
2.2.6.1 Transformada de Fourier a Curto Prazo (Short-Time Fourier Transform
(STFT))
As funções de análise de curto prazo são a base para a maioria dos
algoritmos de processamento de voz. Uma importante função é a transformada de
Fourier a curto prazo, definida equação 6.
���IJKLM N = � �������� − ��J�KLM ������ (9;. 6)
Esta transformada é a base para uma vasta gama de sistemas de análise,
codificação e síntese de voz. Por definição, para um tempo de análise fixo ��, a STFT
é a transformada discreta de Fourier (DTFT) do sinal selecionado e ponderado pela
janela deslocada ���� − ��. Então, a STFT é uma função de duas variáveis: �� o
índice de tempo discreto denotando a posição da janela e OM representando a
freqüência de análise. Como a última equação é uma seqüência de DTFTs, a função
bidimensional ��� no tempo discreto �� é uma função periódica de freqüência contínua
radiana OM com período 2+ [1].
13
2.2.6.2 Parâmetros Cepstrais
2.2.6.2.1 Cepstrum
O cepstrum foi definido por Bogert, Healy e Tukey como sendo a
transformada inversa de Fourier do logaritmo da magnitude espectral de um sinal [6].
Oppenheim, Schafer e Stockham mostraram que o cepstrum está relacionado ao
conceito mais geral de filtragem homomórfica de sinais que são combinados por
convolução [1]. Eles deram a definição de cepstrum de um sinal discreto no tempo
como na equação 7.
0��� = 12+ P logS�IJKLNSJKL� TOU�U (9;. 7)
onde logS�IJKLNS é o logaritmo da magnitude da DTFT do sinal, e eles estenderam o
conceito definindo o cepstrum complexo como na equação 8.
0��� = 12+ P logW�IJKLNX JKL� TOU�U (9;. 8)
onde logW�IJKLNX é o logaritmo complexo de �IJKLN definido pela equação 9. �ZIJKLN = logW�IJKLNX = logS�IJKLNS + [ 14A\�IJKLN] (9;. 9)
Neste trabalho não é considerado o logaritmo complexo, devido a uma série
de fatores e dificuldades adicionais em seu cálculo [1].
2.2.6.2.2 O cepstrum de tempo curto
A aplicação destas definições de cepstrum requerem que a DTFT seja
substituída pela STFT. Então o cepstrum de curto prazo é definido pela equação 10.
0����� = 12+ P logS���IJKLM NSJKLM � TOMU�U (9;. 10)
onde ���IJKLM N é a STFT definida pela equação 6.
Apesar da definição de cepstrum ser dada em termos da DTFT, e isto ser útil
para definições básicas, não o é para uso em processamento de sinais de voz
amostrados. Felizmente, para isto existem outras opções computacionais, seja
usando a DFT, a transformada z, ou usando computação recursiva. O detalhamento
destes métodos não será abordado neste trabalho.
14
Os cepstrum podem ser usados tanto para detecção de pitch ou em
reconhecimento de padrões.
2.2.6.3 MFCC (Mel-Frequency Cepstrum Coefficients)
A distância ponderada cepstral tem uma interpretação diretamente
equivalente em termos de distância no domínio da freqüência. Isto é significante
quanto aos modelos de percepção humana do som, que são baseados na análise
freqüencial desempenhada pelo ouvido interno. Com isto em mente, Davis e
Mermelstein [1] formularam um novo tipo de representação cepstral que veio a ser
vastamente usada e conhecida como coeficientes de freqüência mel-cepstrais
(mfcc).
A transformação entre freqüência e freqüência mel pode ser representada
pela equação 11.
F�>_(F) = 1127.01 ln a1 + F700b (9;. 11)
Ou de maneira equivalente, em relação ao logaritmo decimal, como na
equação 12.
F�>_(F) = 2595 log a1 + F700b (9;. 12)
Na figura 2.6 há um gráfico mostrando a relação entre estas freqüências.
15
Figura 2.6 - Gráfico mostrando a relação freqüência – freqüência mel[3]
A idéia básica é computar a análise freqüencial baseado no banco de filtros
com espaçamento de bandas críticas. Para uma banda de 4 kHz, aproximadamente
20 filtros são usados. Na maioria das implementações, uma análise de Fourier a
curto prazo é feita primeiro, resultando na DFT ��� para o tempo de análise ��. Então
os valores de DFT são agrupados juntos em bandas críticas e ponderados por
funções triangulares como mostrados na figura 2.7. Note que as bandas são
constantes para freqüências centrais abaixo de 1 kHz e então aumentam
exponencialmente até metade da freqüência de amostragem 4 kHz resultando em
um total de 22 “filtros”. O espectro mel freqüencial no tempo de análise �� é definido
pela equação 13.
,c���4� = 1de � |fe���������|:ghi�jh
(9;. 13)
onde fe é a função triangular para o 4-ésimo filtro indo do índice DFT ke a le, e onde
16
de = � |fe���|:ghi�jh
(9;. 14)
é o fator de normalização para o 4 -ésimo filtro mel [1].
Figura 2.7 – Banda de filtros mel
Há autores que utilizam deste normalização [1], enquanto outros não [2] [3].
Para cada frame, uma transformada cosseno discreta do logaritmo da magnitude da
saída dos filtros é computada para formar a função �F00��, ou seja,
�F00����� = 1m � log(,c���4�) cos n2+m a4 + 12b �ope�q (9;. 15)
Tipicamente, �F00�� é calculado para um número de coeficientes M menor
que o número de filtros mel, por exemplo, M=13 e R=22.
2.2.6.4 Parâmetros Dinâmicos
Os MFCCs são computados para um segmento de voz em intervalos de
tempo curto de aproximadamente 10 ms. Para melhor refletir as mudanças
dinâmicas dos MFCCs em tempo, a primeira e segunda derivadas em tempo podem
também ser computadas, por exemplo, computando a diferença entre dois
coeficientes diferindo de r índices no passado e no futuro do tempo levado em
consideração. Para a primeira derivada nós temos a equação 16: ∆�F00��(�) = �F00��st(�) − �F00���t(�), � = 0,1, … , − 1 (9;. 16)
17
E para a segunda derivada temos a equação 17. ∆∆�F00��(�) = ∆�F00��st(�) − ∆�F00���t(�), � = 0,1, … , − 1 (9;. 17)
onde r está geralmente no intervalo 2 ≤ r ≤ 4 [3].
2.2.6.5 Análise LPC
A análise de predição linear é uma das mais poderosas e usadas técnicas de
análise de voz. A importância deste método está na habilidade de fornecer
estimativas precisas de parâmetros de voz e sua velocidade relativa de computação.
Como já vimos do modelo de produção de voz, uma amostra de sinal de voz
é modelada como a saída de um sistema linear de variação lenta excitada por
impulsos quasi-periódicos (durante sinal de voz sonora) ou ruído aleatório (durante
sinal de voz surda).
Para curtos intervalos de tempo, o sistema linear pode ser descrito por um
sistema só de pólos na forma:
v(w) = �(w)9(w) = x1 − ∑ 1iw�izi�q (9;. 18)
Na análise de predição linear, a excitação é definida implicitamente pelo
modelo de trato vocal, isto é, a excitação é qualquer coisa que é necessária para
produzir ���� na saída do sistema. A maior vantagem deste modelo é o parâmetro de
ganho G, e os coeficientes de filtro �1i� podem ser estimados em uma maneira
eficiente pelo método de predição linear.
Assim, as amostras de voz ���� estão relacionadas com a excitação através
da equação 19.
���� = � 1i��� − �� + xJ���zi � q (9;. 19)
Um preditor linear com coeficientes de predição i é definida como um
sistema cuja saída é
�̃��� = � i��� − ��zi � q (9;. 20)
E o erro de predição, definido pelo quanto �̃��� falha em predizer a amostra
exata ����, é
18
T��� = ���� − �̃��� = ���� − � i��� − ��zi � q (9;. 21)
A análise LPC resulta em parâmetros referentes a um filtro excitado por um
sinal denominado erro de predição. Este filtro é obtido através de aplicação de
teoremas (Yule-Walker e Wold) e modelos para processos estocásticos (auto-
regressivo).
O objetivo da análise é obter os coeficientes que minimizam a energia do
sinal residual. Há diversos métodos para estimar os valores dos coeficientes, mas
nenhum deles será detalhado neste trabalho, visto que através do software MatLab
pode-se realizar com relativa facilidade o cálculo destes coeficientes.
2.2.6.6 Parâmetros LPC Cepstrais
Os parâmetros LPC-Cepstrais podem ser obtidos basicamente através da
aplicação do na análise LPC, como na equação 22. log�v(w) ∙ 9(w)� = log�v(w)� + log�9(w)� (9;. 22)
Essa operação permite separar a excitação do trato vocal, que é o que
determina o timbre dos fonemas.
Os parâmetros dessa análise são obtidos recursivamente através da
equação 23,
0� = � + � � − 6���q}�q }0��q , � ≥ 1 (9;. 23)
onde 0=iα para i > p (p é a ordem da análise LPC) [2].
19
2.3 DISTÂNCIA
Um valor importante tanto para a codificação, a análise e o reconhecimento
de voz é a medida de distância entre os quadros. O objetivo é medir a diferença de
identidade fonética entre dois segmentos de voz de igual duração (como os quadros
janelados), através da distância numérica, métrica ou não [2], entre os coeficientes
ou parâmetros extraídos do sinal de voz dentro do intervalo em questão. Como o
caráter fonético da voz está muito correlacionado com a distribuição espectral de
potência do sinal, a maior parte dos parâmetros extraídos são freqüenciais. Assim,
as distâncias que trabalham com estes coeficientes fornecem uma aproximação
numérica razoável para uma caracterização bastante perceptiva.
Existem três tipos de distância mais utilizados: Euclideana; Mahalanobis e
Itakura-Saito.
Dado os vetores de parâmetros sob teste �~ = ( �q, �: , … , �i ) e de
referência �~ = ( �q, �: , … , �i ), para k parâmetros, define-se a distância entre eles
segundo os diferentes métodos tratados nos próximos tópicos.
2.3.1 DISTÂNCIA EUCLIDEANA
A medida de distância euclideana é a distância “padrão” entre dois vetores
em um espaço vetorial N-dimensional. É a medida de distância mais conhecida e
mais utilizada nos reconhecedores que não utilizam a análise LPC [2] [3].
Para calcular a distância euclideana, é necessário computar a raiz quadrada
da soma dos quadrados das diferenças entre as componentes individuais dos
vetores. Assim:
T = ��(�} − �}):i}�� (9;. 4.1)
20
2.3.2 DISTÂNCIA DE MAHALANOBIS
A distância euclideana ponderada funciona bem se não há correlação entre
as propriedades individuais, como se as propriedades selecionadas para nosso
espaço vetorial fossem estatisticamente independentes uma das outras [1].
Como generalização da distância euclideana, há a distância de Mahalanobis,
que por meio da matriz de covariâncias W pondera os parâmetros de acordo com a
sua importância. Assim, a distância de Mahalanobis pode ser definida como:
T = (�~ − �~)� ∙ �� �q ∙ (�~ − �~) (9;. 4.2)
onde, se W = I (Matriz Identidade), caímos no caso da distância euclideana [2].
2.3.3 DISTÂNCIA DE ITAKURA-SAITO
O método Itakura-Saito é comumente aplicado nos parâmetros LPC e possui
como parâmetros ganhos LPC ( Xσ e Yσ ) e matrizes de autocorrelação ( XR e YR ).
T = ��: ∙ �~� ∙ m~� ∙ �~��: ∙ �~� ∙ m~� ∙ �~ + log ���:��:� − 1 (9;. 4.3)
Outro fundamento importante no reconhecimento de voz é a quantização
vetorial, que consiste em estabelecer limites de decisão entre vetores passíveis de
serem observados. Esse processo tem dependência com a probabilidade do evento
[2]. Os detalhes sobre a quantização vetorial não serão abordados no presente
trabalho.
21
3 METODOLOGIA E RESULTADOS
3.1 DESENVOLVIMENTO DA APLICAÇÃO
A aplicação em questão tem como objetivo principal a pesquisa e não o
desenvolvimento de um produto comercial específico. O que se deseja é abordar
alguns conceitos envolvidos e existentes na área de reconhecimento de fala, não se
preocupando com a invenção.
Todo o desenvolvimento foi feito utilizando o aplicativo matemático MatLab.
Os métodos foram escritos de um modo flexível e modular, ou seja, de modo a
permitir que parâmetros e/ou chamadas de métodos pudessem ser variados a fim de
visualizar diferentes resultados. O desempenho das aplicações não constitui
preocupação principal do projeto e em muitos dos métodos optou-se pela facilidade
do uso ao desempenho.
Foram desenvolvidas quatro aplicações intermediárias que, baseados na
taxa de acerto, objetivaram estudar empiricamente a implicação de determinados
parâmetros relacionados com o reconhecimento de fala.
Todos os métodos escritos estão dispostos e sumarizados no Anexo I deste
trabalho e são apenas citados no texto de acordo com a necessidade.
3.1.1 A BASE DE DADOS
A base de dados constituiu-se de amostras de fala de três falantes, dos
quais dois deles são homens e uma é mulher. O microfone utilizado na coleta das
amostras foi um microfone dinâmico, omnidirecional da marca SONY e modelo
FV33. Como auxílio na gravação e edição dos sinais de voz coletados foi utilizada
uma ferramenta de software de distribuição livre, denominada Audacity. Todos os
falantes pronunciaram naturalmente os dígitos de 0 a 9 que foram, então separados
e subdivididos em fonemas. A separação dos fonemas e dígitos foi feita visual e
auditivamente e foram exportados em arquivos de áudio puro (.wav), para criação da
base de dados. A base de dados foi armazenada diretamente no sistema de pastas
do Windows, tendo, dentro de sua pasta raiz, pastas secundárias correspondentes
aos falantes, dígitos e fonemas.
22
A transcrição fonética de cada dígito foi feita segundo a tabela 3.1. Além dos
caracteres de representação presentes nesta tabela, também foi criado o caractere
de representação ‘#’ que representa silêncio.
Transcrição Fonética dos Dígitos Dígito Transcrição Variação
0 zEro
1 um
2 dois
3 treis tres 4 kuatro
5 sinko sinku
6 seis
7 sEte sEXi (sEtchi)
8 oito oitu
9 nOve Tabela 3.1: transcrição fonética dos dígitos pronunciados.
Devido ao fato de se utilizar o próprio sistema de pastas do Windows para
armazenar as amostras da base de dados, criou-se alguns métodos de acesso ao
mesmo. Esses métodos são conforme tabela 3.2.
Método Descrição Parâmetros de Entrada
getDBPath Retorna o caminho principal dos arquivos da base de dados -
getDBMatPath Retorna o caminho absoluto das matrizes de parâmetros (.mat) -
getDBMatDigitPath Retorna o caminho das matrizes de parâmetros dos Digitos (.mat) -
getDBMatPhonPath Retorna o caminho das matrizes de parâmetros dos Fonemas (.mat) -
getDBMatTestPath Retorna o caminho das matrizes de parâmetros dos Fonemas para teste (.mat) -
getDBMatTrainPath Retorna o caminho das matrizes de parâmetros dos Fonemas para teste (.mat) -
getDBPhonPath Retorna o caminho dos arquivos dos fonemas, formato .wav, da base de dados
spk - string que representa o falante do sinal. dig - string que representa o digito
23
getDBDigitPath Retorna o caminho dos arquivos dos dígitos, formato .wav, da base de dados
spk - string que representa o falante do sinal
getWavDigit
Retorna os valores digitalizados referentes a um arquivo .wav de um digito. Recebe como argumento duas string, a primeira representa o falante e a segunda o digito
spk - string que representa o falante do sinal. dig - string que representa o digito
getWavPhon
Retorna os valores digitalizados referentes a um arquivo .wav de um digito. Recebe como argumento duas string, a primeira representa o falante e a segunda o fonema
spk - string que representa o falante do sinal. dig - string que representa o digito. phon - string que representa o fonema.
Tabela 3.2: métodos de acesso à base de dados.
Nas aplicações desenvolvidas, os falantes são definidos pelas palavras:
“konr”, “shig” e “kati”. Há também um conjunto de amostras denominadas pela
palavra “shig3” que foi utilizada em uma das etapas da aplicação 1, conforme será
descrito adiante.
3.1.2 APLICAÇÃO 1: DISTÂNCIA EUCLIDEANA MÍNIMA ENTRE DÍGITOS
Nesta aplicação, utilizou-se o método computeDigits para efetuar o
janelamento e cálculo de coeficientes Mel-Cepstrais para dígitos inteiros,
armazenando as matrizes resultantes em arquivos de extensão mat na base de
dados. Com o método computeRegion, calculou-se os centróides de cada matriz.
Um centróide consiste em um único vetor de parâmetros que representa
todos os vetores da matriz de treino. Na presente aplicação, utilizaram-se dois tipos
de centróides: mediana e média. A figura 3.1 ilustra o cálculo de um centróide para
vetores de parâmetros de 4 quadros.
24
Figura 3.1: Determinação de centróides para as amostras de testes.
O método reconDigit é utilizado para reconhecer os dígitos, baseando-se no
critério de distância euclideana mínima entre centróides.
A figura 3.2 ilustra a maneira com que o reconhecimento é feito utilizando
como base apenas dois dígitos. Na figura é mostrado um vetor centróide de um
digito de teste que antecipadamente é conhecido como sendo digito 0. Dois outros
centróides de treino são mostrados um correspondente ao digito 0 e outro ao digito
1. O digito de teste é reconhecido então como sendo 0 se seu centróide estiver
euclideanamente mais próximo do centróide do digito 0, caso contrário será
reconhecido como 1. Na figura 3.2, todos os centróides foram calculados a partir da
média dos vetores de parâmetros Mel-cepstrais de todos os quadros de cada dígito
Recapitulando o funcionamento desta aplicação: Dada uma amostra de
teste, essa amostra é computada (computeDigit), tendo como resultado uma matriz
de coeficientes Mel-cepstrais calculados. O centróide dessa matriz é então calculado
como sendo o vetor médio ou o vetor mediana dos seus vetores de parâmetros
(computeRegion). Esse centróide é comparado com os centróides da base de
0 2 4 6 8 10 12-20
-15
-10
-5
0
5
10parametros do quadro 1parametros do quadro 2parametros do quadro 3parametros do quadro 4centroide
25
dados, sendo o mais próximo, por distância euclideana, o dígito reconhecido.
Figura 3.2: centróide do digito de testes e dígitos 0 e 1.
A tabela 3.3 mostra os cenários utilizados para a verificação de taxas de
acerto para esta aplicação. O objetivo destes cenários é verificar o efeito, na taxa de
acerto, dos seguintes parâmetros:
• Tamanho e sobreposição dos quadros;
• Utilização de janelamento de hamming;
• Utilização de pré-enfase;
• Cálculo do centróide utilizando média e mediana.
Centróide
Valor de pré-
Ênfase
Tamanho dos
Quadros
Sobreposição dos Quadros
Ordem de
Análise Hamming
Cenário 1 Média 0 10 0,5 12 0
Cenário 2 Média 0,9 10 0,5 12 0
Cenário 3 Média 0,97 10 0,5 12 0
Cenário 4 Média 0,97 10 0,5 12 0
Cenário 5 Média 0,97 10 0,8 12 0
Cenário 6 Média 0,97 12 0,8 12 0
0 2 4 6 8 10 12-20
-10
0
10
20
30
40centroide de treino - digito 0centroide de treino - digito 1centroide de teste - digito 0
26
Cenário 7 Média 0,97 12 0,8 12 1
Cenário 8 Média 0,97 15 0,8 12 1
Cenário 9 Mediana 0 10 0,5 12 0
Cenário 10 Mediana 0,9 10 0,5 12 0
Cenário 11 Mediana 0,97 10 0,5 12 0
Cenário 12 Mediana 0,97 10 0,5 12 0
Cenário 13 Mediana 0,97 10 0,8 12 0
Cenário 14 Mediana 0,97 12 0,8 12 0
Cenário 15 Mediana 0,97 12 0,8 12 1
Cenário 16 Mediana 0,97 15 0,8 12 1 Tabela 3.3: cenários de teste para a aplicação 1.
A coluna ‘centróide’ da tabela 3.3 se refere apenas ao modo de cálculo dos
centróides para a base de dados. Em se tratando das amostras de testes foi utilizado
sempre o vetor médio das matrizes de vetores.
Os resultados obtidos para cada cenário são conforme tabela 3.4, onde o
número 1 representa um acerto e em todos os cenários mostrados na tabela 3.3,
utilizou-se a análise Mel-cepstral com 20 filtros (canais) mel.
Como amostras de treino foram utilizadas as amostras dos três falantes
“kati”, “konr” e “shig”, e como amostras de testes o conjunto “shig3”.
Dígito nº de Acertos
0 1 2 3 4 5 6 7 8 9
Cenário 1 1 1 1 0 0 0 1 1 0 0 5
Cenário 2 1 1 0 1 0 0 0 1 0 1 5
Cenário 3 1 1 0 1 1 0 0 1 0 1 6
Cenário 4 1 1 0 1 1 0 0 1 0 1 6
Cenário 5 1 1 0 1 0 0 0 1 0 1 5
Cenário 6 1 1 0 1 0 0 1 1 0 1 6
Cenário 7 1 1 1 1 1 0 1 1 0 1 8
Cenário 8 1 1 1 1 1 0 0 1 0 1 7
Cenário 9 1 1 1 1 0 0 0 1 0 0 5
Cenário 10 1 1 0 1 1 0 1 1 1 0 7
Cenário 11 1 1 0 1 1 0 1 1 1 0 7
Cenário 12 1 1 0 1 1 0 1 1 1 0 7
Cenário 13 1 1 0 1 1 0 1 1 1 0 7
Cenário 14 1 1 0 1 1 0 1 1 1 0 7
Cenário 15 1 1 1 1 0 0 0 1 1 0 6
Cenário 16 1 1 0 1 1 0 0 1 1 0 6
Tabela 3.4: tabela de resultados para aplicação baseada na distância euclideana entre centróides de dígitos inteiros.
27
Como se pode observar na tabela 3.4, o melhor resultado foi atingido para o
cenário 7, onde utilizaram-se quadros de 12ms sobrepostos 80%; cálculo dos
centróides a partir da média das amostras de treino, pré-ênfase de 0.97 e
janelamento de Hamming.
Esses mesmos cenários foram testados para análise LPC-Cepstral de
mesma ordem, obtendo um número de acerto muito inferior (média de dois acertos
por cenário). Ainda para os LPC-Cepstrais mais um teste foi realizado substituindo o
critério de reconhecimento, da distância euclideana para distância de Itakura-Saito
[2], mas isso implicou em diminuição do número de acertos (média de um acerto por
cenário). Uma situação semelhante pode ser verificada para a análise LPC.
3.1.3 APLICAÇÃO 2: DISTÂNCIA EUCLIDEANA MÍNIMA ENTRE FONEMAS
Em uma segunda etapa de desenvolvimento, utilizaram-se como dados de
treino os vetores de parâmetros calculados separadamente para cada fonema. Para
testes dessa aplicação, utilizou-se o método separateVectors para separar em duas
partes as matrizes, calculadas e salvas pelo método computePhons: 75% de suas
linhas foram usadas para treino, ou seja, foram utilizadas como padrões na
determinação de parâmetros estatísticos; e a outra parte (25%) são referentes aos
quadros de testes, os quais são comparados com parâmetros estatísticos dos outros
75%. A figura 3.3 ilustra essa separação.
Figura 3.3: ilustração da separação de amostras de treino e teste.
A relação entre quadros de teste e treino é mostrada de forma quantitativa
na tabela 3.5. Para essa tabela utilizaram-se quadros de 12ms com sobreposição de
0,8 e todos os fonemas da base de dados
28
Quadros # X a d e f i k m n o p r s t u v z
Treino 605 106 131 16 356 344 320 35 102 148 629 184 20 911 136 275 71 79
Teste 201 35 43 5 118 115 107 11 34 49 209 61 7 303 45 91 24 26
Tabela 3.5 – Quantidade de amostras de treino e teste
Novamente o critério utilizado para o reconhecimento dos fonemas foi a da
menor distância euclideana. Assim, dado um vetor de parâmetros de teste x, este é
dito fonema ‘a’ se sua distância euclideana até o centróide dos vetores de treino de
‘a’ for menor que a distância euclideana até os demais centróides comparados.
Os mesmos cenários simulados para a aplicação 1, foram simulados para a
aplicação 2, tendo como foco principal o reconhecimento de fonemas e a utilização
dos parâmetros Mel-cepstrais com vinte filtros. A taxa de acerto resultante para cada
um dos cenários e para cada fonema é conforme tabela 3.6. Três análises podem
ser feitas a partir dessa tabela: análise de resultados globais, análise ponderada
pelo número de ocorrências dentro do vocabulário e análise específica por fonema.
29
Cenário (Taxa de Acerto em %) Máximo Valor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# 59,02 46,72 100,00 100,00 98,40 100,00 100,00 100,00 57,38 36,89 70,49 70,49 67,31 73,95 81,99 76,12 100,00
X 90,91 100,00 100,00 100,00 98,18 95,65 95,65 97,14 90,91 100,00 100,00 100,00 98,18 95,65 95,65 97,14 100,00
a 40,74 74,07 74,07 74,07 75,00 67,86 85,71 83,72 25,93 51,85 59,26 59,26 63,24 57,14 51,79 34,88 85,71
d 25,00 25,00 50,00 50,00 60,00 62,50 37,50 40,00 25,00 50,00 50,00 50,00 60,00 75,00 50,00 40,00 75,00
e 62,50 61,11 56,94 56,94 58,92 54,55 63,64 67,80 34,72 13,89 16,67 16,67 15,68 9,09 1,95 1,69 67,80
E 86,96 91,30 91,30 91,30 91,62 95,97 99,33 100,00 86,96 92,75 92,75 92,75 95,53 96,64 99,33 98,26 100,00
i 38,24 67,65 72,06 72,06 75,44 82,27 73,05 73,83 42,65 75,00 70,59 70,59 75,44 81,56 85,11 84,11 85,11
k 22,22 33,33 11,11 11,11 19,05 25,00 31,25 36,36 44,44 22,22 11,11 11,11 19,05 25,00 25,00 27,27 44,44
m 42,86 38,10 47,62 47,62 49,06 43,18 40,91 44,12 33,33 38,10 38,10 38,10 41,51 43,18 43,18 41,18 49,06
n 9,68 19,36 12,90 12,90 11,39 13,85 0,00 10,20 32,26 29,03 3,23 3,23 12,66 20,00 6,15 24,49 32,26
o 21,71 38,76 37,98 37,98 40,24 43,75 50,37 47,85 24,81 47,29 46,51 46,51 50,92 41,91 54,04 60,29 60,29
O 43,24 62,16 54,05 54,05 60,00 68,35 58,23 60,66 56,76 81,08 75,68 75,68 85,26 81,01 77,22 85,25 85,26
r 85,71 71,43 71,43 71,43 62,50 58,33 75,00 71,43 71,43 71,43 71,43 71,43 68,75 58,33 58,33 57,14 85,71
s 36,22 60,54 48,65 48,65 49,36 51,65 30,79 29,70 35,14 56,76 43,78 43,78 43,43 43,77 33,59 33,66 60,54
t 16,67 10,00 10,00 10,00 8,00 4,92 0,00 0,00 33,33 33,33 33,33 33,33 52,00 54,10 0,00 6,67 54,10
u 66,07 78,57 76,79 76,79 82,52 89,08 93,28 93,41 62,50 69,64 73,21 73,21 73,43 87,40 92,44 94,51 94,51
v 28,57 64,29 64,29 64,29 62,16 61,29 74,19 70,83 28,57 50,00 57,14 57,14 48,65 58,07 58,07 62,50 74,19
z 68,75 75,00 68,75 68,75 76,19 73,53 38,24 73,08 68,75 75,00 75,00 75,00 80,95 73,53 35,29 92,31 92,31
Resultado global para
cenários 46,95 56,52 58,22 58,22 59,89 60,65 58,17 61,12 47,49 55,24 54,90 54,90 58,44 59,74 52,73 56,53
Tabela 3.6: Taxas de acerto para cada cenário e cada fonema de teste.
30
Analisando os resultados de forma global, observa-se que o melhor
desempenho foi obtido no cenário 8, onde são utilizados quadros de 15ms
sobrepostos 80%. Embora, essa seja uma boa indicação para o uso desse tamanho
de janela, constatou-se que alguns fonemas não possuem duração maior que 14ms,
sendo problemática a computação realizada com quadros nesse tamanho. Dentro da
base de dados utilizada, podem-se citar os fonemas r e t que, pronunciadas por
alguns dos falantes, possuem duração conforme mostra a figura 3.4. Portanto,
apesar de se obter o melhor resultado global, a utilização de quadros de 15ms pode
não ser a melhor opção.
Figura 3.4: Fonemas com duração menor que 15ms.
Descartando-se os cenários 8 e 16, devido à observação de tamanho de
quadros já apontada e se concentrando na análise dos tipos de centróides (média e
mediana), podemos observar que para determinados fonemas, obteve-se um melhor
resultado para os centróides calculados a partir da mediana: '#' (silêncio), 'i', 'O', 's' e
'z'. Para uma verificação dos resultados que se obteriam considerando apenas esses
fonemas calculados como mediana, independentemente da coluna ‘centróide’ da
tabela 3.3, calculou-se a tabela 3.7.
0 2 4 6 8 10 12 14-0.05
0
0.05
0.1
0.15Fonema ' r '
Tempo [ms]
0 2 4 6 8 10 12 14-0.2
0
0.2
0.4
0.6Fonema ' t '
Tempo [ms]
31
Cenário - centróides mediana/média (taxa de acerto em %) Valor máximo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# 60,66 42,62 74,59 74,59 74,68 27,20 15,71 21,39 57,38 36,89 70,49 70,49 67,31 73,95 81,99 76,12 81,99
X 90,91 100,00 100,00 100,00 98,18 95,65 95,65 97,14 90,91 100,00 100,00 100,00 98,18 95,65 95,65 97,14 100,00
a 40,74 74,07 74,07 74,07 75,00 67,86 85,71 83,72 25,93 51,85 59,26 59,26 63,24 57,14 51,79 34,88 85,71
d 25,00 50,00 50,00 50,00 60,00 75,00 50,00 60,00 25,00 50,00 50,00 50,00 60,00 75,00 50,00 40,00 75,00
e 55,56 61,11 55,56 55,56 57,84 56,49 55,84 65,25 34,72 13,89 16,67 16,67 15,68 9,09 1,95 1,69 65,25
E 84,06 91,30 91,30 91,30 91,62 95,97 99,33 99,13 86,96 92,75 92,75 92,75 95,53 96,64 99,33 98,26 99,33
i 44,12 70,59 72,06 72,06 76,02 81,56 78,72 83,18 42,65 75,00 70,59 70,59 75,44 81,56 85,11 84,11 85,11
k 22,22 33,33 11,11 11,11 19,05 25,00 31,25 36,36 44,44 22,22 11,11 11,11 19,05 25,00 25,00 27,27 44,44
m 42,86 38,10 47,62 47,62 49,06 43,18 45,45 44,12 33,33 38,10 38,10 38,10 41,51 43,18 43,18 41,18 49,06
n 12,90 22,58 12,90 12,90 13,92 13,85 21,54 24,49 32,26 29,03 3,23 3,23 12,66 20,00 6,15 24,49 32,26
o 27,91 48,84 46,51 46,51 51,22 44,85 55,51 60,29 24,81 47,29 46,51 46,51 50,91 41,91 54,04 60,29 60,29
O 43,24 67,57 62,16 62,16 63,16 69,62 60,76 70,49 56,76 81,08 75,68 75,68 85,26 81,01 77,22 85,25 85,26
r 71,43 71,43 71,43 71,43 62,50 58,33 75,00 71,43 71,43 71,43 71,43 71,43 68,75 58,33 58,33 57,14 75,00
s 30,81 48,11 43,24 43,24 44,70 47,84 30,53 29,04 35,14 56,76 43,78 43,78 43,43 43,77 33,59 33,66 56,76
t 30,00 36,67 50,00 50,00 48,00 55,74 81,97 75,56 33,33 33,33 33,33 33,33 52,00 54,10 0,00 6,67 81,97
u 62,50 69,64 73,21 73,21 74,13 87,39 92,44 94,51 62,50 69,64 73,21 73,21 73,43 87,39 92,44 94,51 94,51
v 28,57 57,14 71,43 71,43 62,16 58,06 67,74 66,67 28,57 50,00 57,14 57,14 48,65 58,06 58,06 62,50 71,43
z 68,75 68,75 68,75 68,75 78,57 73,53 29,41 84,62 68,75 75,00 75,00 75,00 80,95 73,53 35,29 92,31 92,31
Resultado global para
cenários 46,79 58,44 59,77 59,77 61,10 59,84 59,59 64,86 47,49 55,24 54,90 54,90 58,44 59,74 52,73 56,53
Tabela 3.7: Taxas de acerto para cada cenário e cada fonema de teste com centróides calculados com base na tabela 3.3
32
Comparando os resultados das tabelas 3.6 e 3.7, pode-se observar que
ocorreu um aumento não muito significativo na taxa de acerto para os cenários que
utilizam a média no cálculo dos centróides (veja, figura 3.5). Esse aumento, porém,
implicou em uma diminuição muito mais significativa na taxa de acerto para o
fonema silêncio (figura 3.6).
Figura 3.5: Gráfico comparativo de resultados globais.
45,00
47,00
49,00
51,00
53,00
55,00
57,00
59,00
61,00
63,00
65,00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Cenário
Comparação de resultados globais
centróide calculados de acordo com os cenários
centróides calculados diferenciadamente para fonemas específicos
33
Figura 3.6: Gráfico comparativo de desempenho para silêncio (#).
3.1.4 APLICAÇÃO 3: REGIÕES DEFINIDAS POR MÚLTIPLOS DO DESVIO
PADRÃO
Esta terceira aplicação baseia-se na criação de regiões, que delimitem os
valores dos coeficientes dos vetores de teste. Assim, se um vetor de teste se
enquadrar em uma determinada região referente ao fonema ‘a’, então se pode dizer,
primariamente, que ele é um ‘a’. Existem, porém, casos em que um único vetor de
teste se enquadra em duas ou mais regiões e, nestes casos o critério de menor
distância euclideana é utilizado.
As regiões foram definidas por múltiplos do desvio padrão conforme ilustra a
figura 3.7. Nessa figura, a região foi calculada para o fonema ‘E’ e mostra o vetor
10,00
20,00
30,00
40,00
50,00
60,00
70,00
80,00
90,00
100,00
110,00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Cenário
Comparação de resultados para #
centróides calculados de acordo com os cenários
centróides calculados diferenciadamente para fonemas específicos
34
centróide, com valores de coeficientes delimitados pelas linhas pontilhadas e
tracejadas. A região hachurada dessa figura é limitada pelos vetores: Região =
centróide +- 3 * desvio padrão. De um modo geral, a região pode ser definida como:
Região = centróide +- k * desvio padrão
Para um valor de constante k=3, teríamos então, para uma distribuição
normal, que cerca de 99,7% dos coeficientes estariam dentro da região delimitada
pelas linhas tracejadas.
Figura 3.7: Figura ilustrativa das regiões de classificação.
Para verificação do funcionamento da aplicação, calcularam-se as taxas de
acerto para os cenários dispostos na tabela 3.3 utilizando parâmetros Mel-Cepstrais
com 20 filtros e uma constante k=3 e k=3.5. Os resultados estão dispostos na figura
3.8, onde, para uma melhor análise dos resultados, preocupou-se apenas com os
cenários que obtiveram resultados acima de 58%.
35
Figura 3.8: Comparação de resultados globais para constante k=3 e 3,5.
Pode-se observar que aliando o critério da distância euclideana às regiões
delimitadas por múltiplos do desvio padrão obteve-se uma melhoria dos resultados
globais do sistema. Isso implica que um único coeficiente fora da região diminui a
probabilidade da menor distância euclideana ser a mais adequada.
Esta aplicação poderia ser melhorada pelo estudo e definição de regiões
baseadas em funções de densidade de probabilidade definidas individualmente para
cada coeficiente, pois a distribuição estatística de determinados coeficientes não é
normal, conforme será mostrado na aplicação 4. Em outras palavras, a região
centróide +- k x desvio_padrão, se enquadra bem para distribuições normais, porém
para outras distribuições pode não ser a mais adequada.
58,00
58,50
59,00
59,50
60,00
60,50
61,00
61,50
62,00
62,50
63,00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Cenário
Comparação de resultados globais
centróides calculados de acordo com os cenários
regiões - k=3
regiões - k=3,5
36
3.1.5 APLICAÇÃO 4: PONDERAÇÃO DE DISTÂNCIA EUCLIDEANA POR
REGIÕES BASEADAS EM HISTOGRAMAS
Nesta aplicação, ao invés de definir regiões delimitadas por valores de
desvio padrão, optou-se pela ponderação da distância euclideana pelo histograma
estatístico de cada coeficiente. A figura 3.9 mostra o histograma do primeiro
coeficiente do vetor de parâmetros para o fonema ‘a’.
Figura 3.9: Histograma do primeiro coeficiente ao longo dos quadros da letra a.
A figura 3.10 ilustra a disposição das regiões de ponderação de uma das
matrizes de coeficientes computadas. Cada linha pontilhada delimita a fronteira de
uma região e para cada região, tem-se um valor de ponderação baseada na
ocorrência.
-2.5 0.12 2.74 5.36 7.98 10.6 13.22 15.84 18.46 21.080
10
20
30
40
50Histograma do primeiro coeficiente
centros das regioes
Oco
rren
cia
do v
alor
0 50 100 150 200 250-5
0
5
10
15
20
25Valores absolutos ao longo dos quadros
quadros de treino
valo
r do
prim
eiro
coe
ficie
nte
37
Figura 3.10: Regiões baseadas em histogramas.
Para comparar os resultados com os demais aplicativos, calculou-se as
taxas de acerto para os mesmos cenários da aplicação 1, conforme tabela 3.3. Os
resultados estão dispostos na tabela 3.8. Como se pode observar nos resultados
globais, a taxa de acerto utilizando a ponderação da distância é bem menor que
aquela atingida apenas utilizando o critério de distância euclideana simples. Isso
ocorre devido às diferentes distribuições estatísticas de cada um dos coeficientes de
cada falante. A figura 3.11 mostra os histogramas correspondentes ao primeiro
coeficiente para os falantes em separado. Pode-se notar através dessa figura, que a
distribuição da ocorrência dos valores se difere de falante para falante o que implica
em um aumento da taxa de erro para um sistema independente do falante.
0 2 4 6 8 10 12-40
-30
-20
-10
0
10
20Regioes baseadas em histogramas
Coeficientes Mel-Cepstrais
cetroide
38
Cenário - Utilizando Ponderação da Distância (Taxa de Acerto em %) Máximo Valor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# 29,51 58,20 66,39 66,39 65,39 73,56 85,82 82,59 26,23 46,72 55,74 55,74 52,89 60,92 79,31 76,12 85,82
X 0,00 13,64 18,18 18,18 18,18 13,04 4,35 2,86 0,00 18,18 18,18 18,18 20,00 17,39 2,17 2,86 20,00
a 3,70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 3,70
d 75,00 75,00 50,00 50,00 60,00 62,50 50,00 40,00 75,00 75,00 50,00 50,00 60,00 87,50 62,50 40,00 87,50
e 4,17 0,00 0,00 0,00 1,08 0,00 0,00 0,00 1,39 0,00 0,00 0,00 1,08 0,00 0,00 0,00 4,17
E 18,84 2,90 4,35 4,35 15,64 9,40 0,67 0,00 17,39 8,70 4,35 4,35 15,64 9,40 0,67 0,00 18,84
i 16,18 0,00 2,94 2,94 15,79 5,67 0,71 0,00 16,18 5,88 5,88 5,88 16,96 6,38 1,42 0,00 16,96
k 11,11 0,00 0,00 0,00 4,76 12,50 12,50 9,09 11,11 0,00 0,00 0,00 4,76 18,75 6,25 9,09 18,75
m 19,05 14,29 4,76 4,76 20,76 13,64 9,09 23,53 23,81 9,52 4,76 4,76 20,76 11,36 9,09 23,53 23,81
n 6,45 3,23 0,00 0,00 2,53 0,00 0,00 0,00 29,03 6,45 0,00 0,00 3,80 1,54 0,00 0,00 29,03
o 20,16 4,65 5,43 5,43 12,50 6,62 0,00 0,00 22,48 6,20 5,43 5,43 13,72 6,62 0,00 0,00 22,48
O 13,51 8,11 5,41 5,41 12,63 8,86 0,00 0,00 18,92 10,81 10,81 10,81 15,79 7,59 0,00 0,00 18,92
r 71,43 14,29 0,00 0,00 12,50 25,00 8,33 0,00 71,43 14,29 0,00 0,00 12,50 33,33 16,67 14,29 71,43
s 13,51 28,11 31,89 31,89 34,75 32,32 17,05 15,18 15,14 33,51 25,95 25,95 27,54 28,75 14,76 14,52 34,75
t 6,67 6,67 6,67 6,67 5,33 3,28 0,00 0,00 20,00 26,67 53,33 53,33 49,33 57,38 4,92 6,67 57,38
u 21,43 5,36 5,36 5,36 9,09 10,92 0,00 0,00 23,21 5,36 5,36 5,36 7,69 12,61 0,00 0,00 23,21
v 35,71 7,14 21,43 21,43 16,22 9,68 6,45 8,33 28,57 14,29 14,29 14,29 13,51 12,90 3,23 8,33 35,71
z 31,25 37,50 43,75 43,75 52,38 50,00 50,00 53,85 31,25 62,50 43,75 43,75 52,38 50,00 50,00 53,85 62,50
Resultado global para
cenários 22,09 15,50 14,81 14,81 19,97 18,72 13,61 13,08 23,95 19,12 16,55 16,55 21,58 23,47 13,94 13,85
Tabela 3.8: Taxas de acerto para aplicação 4.
39
Figura 3.11: Comparação de histogramas.
0 100 200 300 400 500 600 70020
30
40
50
60
70coeficiente 1 da falante 'kati'
quadros
0 50 100 150 200 250 30020
30
40
50
60
70coeficiente 1 da falante 'shig'
quadros
0 50 100 15010
20
30
40
50
60
70coeficiente 1 do falante 'konr'
quadros
10 20 30 40 50 60 700
50
100
150
200histograma do coeficiente 1 ('kati')
ocor
renc
ia
10 20 30 40 50 60 700
5
10
15
20
25
30
35histograma do coeficiente 1 ('konr')
ocor
renc
ia
10 20 30 40 50 60 700
10
20
30
40
50
60
70histograma do coeficiente 1 ('shig')
ocor
renc
ia
40
3.2 APLICAÇÃO DE TESTES
A aplicação de testes constitui-se do método testReadWav o qual lê, através
do método wavrecord do MatLab, uma entrada de áudio do computador retornando
na saída de áudio (wavplay) o sinal lido e na saída do matlab a palavra
reconhecida.
No método testReadWav, podem ser chamados dois outros métodos:
reconDigitPhon e reconDigit. Se o primeiro for chamado, a saída do MatLab
mostrará algo do tipo: ##dz#ssszeeeeEEEErroo#rodd## . Se for chamado o
segundo, a saída é o digito reconhecido pelo sistema.
O funcionamento desta aplicação depende dos valores computados na base
de dados para arquivos de extensão mat, o que significa que os resultados obtidos
dependem dos cenários utilizados para o cálculo das matrizes armazenadas.
Portanto, para testes desta aplicação, são computados todos os fonemas e regiões,
para cenários específicos, a fim de inserir na base de dados as matrizes padrões
para as comparações realizadas pela aplicação de testes.
Nesta aplicação de testes, constatou-se que a maior parte dos erros ocorre
ao computar sinais nos quais existem muitos quadros de silêncio nas bordas do sinal
de voz propriamente dito. Quando o sinal está ausente de silêncio, ou seja, se
enquadra perfeitamente no tempo de leitura da entrada de áudio, na maior parte das
vezes, o sistema acerta o resultado. Tal deficiência poderia ser contornada se
fossem utilizadas outras técnicas como o DTW e taxa de cruzamento por zero, para
“limpar” o sinal, extraindo somente a parte relevante no reconhecimento.
41
4 CONCLUSÕES
Visto as motivações deste trabalho, os sistemas desenvolvidos atingiram
uma taxa de acerto razoável, de modo geral em torno de 60%. Dentre todos os
sistemas desenvolvidos, o de melhor resultado foi a aplicação 3, que se baseou em
regiões limites para os coeficientes dos vetores de parâmetros.
Foi possível observar também que os parâmetros Mel-Cepstrais obtiveram
melhores resultados que os parâmetros baseados na predição linear, mesmo
quando nestes foram aplicadas o algoritmo de Itakura-Saito para o cálculo da
distâncias entre centróides.
Os resultados apresentados neste trabalho utilizaram os coeficientes Mel-
Cepstrais com ordem de análise 12. É sabido, embora não apresentado, que o
aumento da ordem de análise melhora a taxa de acerto do sistema, aumentando,
por outro lado a carga computacional do mesmo. Assim como a ordem de análise, o
presente texto não explorou de forma aprofundada o desempenho de parâmetros
LPC’s, embora o sistema desenvolvido comportasse.
Enfim, desenvolveu-se um sistema bastante robusto que permite realizar
uma grande quantidade de análises além de ser modularmente capaz de ser
expandido para agregar outros métodos baseados em toda a gama de conceitos
envolvidos no reconhecimento de fala. Além disso, as bases de dados de voz
podem, de maneira relativamente fácil, ser incrementadas com mais amostras de
mais falantes.
O sistema comporta testar uma grande quantidade de cenários que não
foram cobertos por este trabalho. Contudo, uma boa noção pôde ser adquirida na
realização do mesmo.
42
REFERÊNCIAS BIBLIOGRÁFICAS
[1] RABINER, L e SCHAFER, R. Introduction to Digital Speech Processing.
Fundations and Trends in Signal Processing, Vol. 1, 2007.
[2] BECERRA, N. Reconhecimento Automático de Palavras Isoladas: Est udo e
Aplicação dos Métodos Determinísticos e Estocástico . Campinas: Unicamp,
1993
[3] PLANNERER, B. An Introduction to Speech Recognition. University of Munich,
Germany, 2005.
[4] Fonemas. Disponível em <http://pt.wikipedia.org/wiki/Fonemas>. Acesso em
Setembro de 2008.
[5] HUANG, X; ACERO, A; e HON, H. Spoken Language Processing – A Guide to
Theory, Algorithm and System Development. Upper Saddle River: Prentice Hall,
2001.
[6] BOGERT, P., HEALY, M. J. R, and TUKEY, J. W. The quefrency analysis of
times series for echos: Cepstrum, pseudo-autocovari ance, cross-cepstrum,
and saphe cracking. Proceedings of the Symposium on Time Series Analysis. New
York: John Wiley and Sons, Inc., 1963.
[7] DAVIS, S. B. and MERMELSTEIN, P. Comparison of parametric
representations for monosyllabic word recognition i n continuously spoken
sentences. IEEE Transactions on Acoustics, Speech and Signal Processing, vol. 28,
pp. 357–366, August 1980
43
ANEXO I
SUMÁRIO DOS MÉTODOS
Tabela de descrição dos métodos de computação.
44
Método Descrição Parâmetros de Entrada
computeLPC
Calcula os coeficientes LPC's de um sinal de entrada digitalizado, formato .wav. Os coeficientes são retornados em formato de matriz, onde cada linha corresponde a um quadro e cada coluna a um coeficiente LPC.
x - sinal wav. Fs - taxa de amostragem do sinal. ms - tamanho dos quadros no janelamento. ol - sobreposição dos quadros. lpcOrder - ordem da análise LPC.
computeLPCCepstral
Calcula os coeficientes LPC's cepstrais de um sinal de entrada digitalizado, formato .wav. Os coeficientes são retornados em formato de matriz, onde cada linha corresponde a um quadro e cada coluna a um coeficiente LPC-cepstral.
x - sinal wav. Fs - taxa de amostragem do sinal. ms - tamanho dos quadros no janelamento. ol - sobreposição dos quadros. lpcOrder - ordem da análise LPC.
computeMelCepstral
Calcula os coeficientes Mel cepstrais de um sinal de entrada digitalizado, formato .wav. Os coeficientes são retornados em formato de matriz, onde cada linha corresponde a um quadro e cada coluna a um coeficiente Mel-cepstral.
x - sinal wav. Fs - taxa de amostragem do sinal. ms - tamanho dos quadros no janelamento. ol - sobreposição dos quadros. lpcOrder - ordem da análise LPC. nofFilters - número de filtros utilizados na análise. applyHam - argumento booleano que indica se o janelamento de hamming será aplicado aos quadros quando no cálculo dos coeficientes.
computeDigits
Calcula e salva as matrizes de parâmetros para todos os dígitos do falante determinado por um de seus argumentos de entrada. Nas matrizes salvas, cada linha se refere a um quadro e cada coluna um coeficiente.
spk - string que representa o falante do sinal. emphRadius - valor do raio de pré-ênfase. analisis - tipo de análise (MCC, LPC, ...). FS - taxa de amostragem dos sinal. MS - tamanho dos quadros (ms) no janelamento. OL - sobreposição dos quadros. HAM - parâmetro booleano para aplicação de hamming. ORDER - ordem da análise. NOF_FILTERS - número de filtros na análise Mel-cepstral
computePhons
Calcula e salva as matrizes de parâmetros para todos os fonemas do falante determinado por um de seus argumentos de entrada. Nas matrizes salvas, cada linha se refere a um quadro e cada coluna um coeficiente.
Idem computeDigits.
computeRegion Calcula parâmetros adicionais das matrizes calculadas e salvas na base de dados.
cType - tipo de cálculo para o vetor centróide. Exemplo: média ou mediana. matPath - caminho dos arquivos .mat na base de dados.
separateVectors Separa as matrizes de parâmetros em vetores linhas de teste e de treino.
perc - porcentagem de vetores de treino a serem separados.
Recommended