RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM...

62
ALEXANDER ROBERT KUTZKE RECONHECIMENTO AUTOM ´ ATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO Monografia apresentada ao Curso de Ciˆ encia daComputa¸c˜ ao, Setor de Ciˆ encias Exatas, Universidade Federal do Paran´ a, como requi- sito parcial para a conclus˜ao do curso. Orientador: Prof. Luciano Silva CURITIBA 2008

Transcript of RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM...

Page 1: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

ALEXANDER ROBERT KUTZKE

RECONHECIMENTO AUTOMATICO DE LOCUTOR

EM TEMPO REAL E INDEPENDENTE DE TEXTO

Monografia apresentada ao Curso de Ciencia

da Computacao, Setor de Ciencias Exatas,

Universidade Federal do Parana, como requi-

sito parcial para a conclusao do curso.

Orientador: Prof. Luciano Silva

CURITIBA

2008

Page 2: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Resumo

O proposito geral deste trabalho e a criacao de um sistema capaz de reconhecer locutores

em tempo real, a partir do sinal digital extraıdo de sua voz.

Apos a captacao do sinal de voz atraves de um microfone ele e entao processado

e da origem a um conjunto de caracterısticas que representam a voz do locutor. Essas

caracterısticas sao armazenadas pelo sistema e sao utilizadas como a identificacao de cada

locutor.

Com as identificacoes de cada locutor armazenadas, o sistema e capaz de analisar

um outro sinal de voz e decidir a qual locutor ela pertence, ou ainda, afirmar se um locutor

e quem ele afirma ser.

Page 3: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

SUMARIO

LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

LISTA DE FIGURAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

1 INTRODUCAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 BIOMETRIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 BIOMETRIA DA VOZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 A VOZ HUMANA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1 PRODUCAO DA VOZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1.1 Subsistema Respiratorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1.2 Subsistema Larıngeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1.3 Subsistema Supralarıngeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 MODELO FONTE - FILTRO (SOURCE - FILTER) . . . . . . . . . . . . . . 9

4 RECONHECIMENTO AUTOMATICO DE LOCUTOR . . . . . . . . 11

4.1 PROCESSAMENTO DE VOZ . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2 CARACTERıSTICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.3 VISAO GERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3.1 Aquisicao do Sinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4.3.2 Parametrizacao do Sinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.3 Criacao de modelos acusticos . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.4 Comparacao e decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.4 AQUISICAO E TRATAMENTO DO SINAL . . . . . . . . . . . . . . . . . . . 15

4.4.1 Windowing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.4.2 Pre-emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.5 PARAMETRIZACAO DO SINAL . . . . . . . . . . . . . . . . . . . . . . . . 17

4.5.1 Predicao Linear (Linear Prediction) . . . . . . . . . . . . . . . . . . . . . . 19

4.6 TOMADA DE DECISAO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.6.1 Modelos Acusticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.6.2 Decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5 O SISTEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.1 VISAO GERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2 MODULOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.2.1 Comunicacao entre modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 MODULO ENTRADA E SAıDA . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3.1 Interacao com hardware de som . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3.2 Entrada de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3.3 Resampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

i

Page 4: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

5.3.4 Deteccao de Voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.4 MODULO PARAMETRIZADOR . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.4.1 Windowing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.4.2 Calculo dos Coeficientes de Predicao Linear . . . . . . . . . . . . . . . . . . 33

5.5 MODULO COMPARADOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.5.1 Criacao de Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5.5.2 Tomada de decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6 TESTES E RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.1 BASE DE TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.2 TESTES DE IDENTIFICACAO DE LOCUTOR . . . . . . . . . . . . . . . . 37

6.2.1 Coeficiente da predicao linear . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.2.2 Coeficiente de reflexao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.2.3 Coeficiente LAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.2.4 Comparacao entre os tipos de coeficientes . . . . . . . . . . . . . . . . . . . 43

6.2.5 Analise dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.3 TESTES DE VERIFICACAO DE LOCUTOR . . . . . . . . . . . . . . . . . . 46

6.3.1 Resultados para limiar unico . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.3.2 Resultados para limiar diferente para cada locutor . . . . . . . . . . . . . . 48

6.3.3 Analise dos resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.4 OUTROS TESTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.4.1 Analise do tempo de processamento . . . . . . . . . . . . . . . . . . . . . . . 51

6.4.2 Testes com alteracoes na amplitude da base . . . . . . . . . . . . . . . . . . 52

6.4.3 Testes com alteracao na taxa de amostragem . . . . . . . . . . . . . . . . . 52

7 CONCLUSOES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

REFERENCIAS BIBLIOGRAFICAS . . . . . . . . . . . . . . . . . . . . . . . 55

ii

Page 5: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

LISTA DE TABELAS

2.1 Comparacao entre algumas biometrias[5]. Graus: A-Alto, M-Medio, B-Baixo. . 4

6.1 Menores taxas de erros obtidas com o coeficiente de predicao, para a base de

testes de 25 locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.2 Menores taxas de erros obtidas com o coeficiente de predicao, para a base de

testes de 50 locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.3 Menores taxas de erros obtidas com o coeficiente de reflexao, para a base de

testes de 25 locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.4 Menores taxas de erros obtidas com o coeficiente de reflexao, para a base de

testes de 50 locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.5 Menores taxas de erros obtidas com o coeficiente LAR, para a base de testes

de 25 locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.6 Menores taxas de erros obtidas com o coeficiente LAR, para a base de testes

de 50 locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.7 Melhor taxa de erro obtida com limiar unico. . . . . . . . . . . . . . . . . . . 48

6.8 Taxas de FAR e FRR obtidas com limiar individual. . . . . . . . . . . . . . . 49

6.9 Taxa de aumento da latencia por janela de sinal processada. . . . . . . . . . . 51

iii

Page 6: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

LISTA DE FIGURAS

3.1 Sistema de producao da voz humana.[6] . . . . . . . . . . . . . . . . . . . . . . 7

3.2 Diagrama do modelo fonte-filtro de producao de voz[6]. . . . . . . . . . . . . . 10

4.1 Divisao das areas do processamento de voz.[3] . . . . . . . . . . . . . . . . . . 11

4.2 Esquema basico de um sistema de reconhecimento de locutor.[3] . . . . . . . . 13

4.3 Exemplo de windowing de um sinal . . . . . . . . . . . . . . . . . . . . . . . . 16

4.4 Exemplo da aplicacao da operacao Hamming window sobre um sinal[6]. . . . . 17

4.5 Pre-emphasis aplicada a um sinal de voz[6]. . . . . . . . . . . . . . . . . . . . 18

4.6 Exemplo de vector quantization para dimensao R2[4]. . . . . . . . . . . . . . . 24

5.1 Visao geral dos modulos do sistema . . . . . . . . . . . . . . . . . . . . . . . . 28

5.2 Divisao de um sinal de voz em segmentos de voz (areas verdes) de acordo com

a amplitude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6.1 Resultados para a tarefa de identificacao de locutor usando coeficiente de

predicao linear e diferentes tamanhos de modelos. Base de 25 locutores. . . . . 38

6.2 Resultados para a tarefa de identificacao de locutor usando coeficiente de

predicao linear e diferentes tamanhos de modelos. Base de 50 locutores. . . . . 38

6.3 Resultados para a tarefa de identificacao de locutor usando coeficiente de re-

flexao e diferentes tamanhos de modelos. Base de 25 locutores. . . . . . . . . . 40

6.4 Resultados para a tarefa de identificacao de locutor usando coeficiente de re-

flexao e diferentes tamanhos de modelos. Base de 50 locutores. . . . . . . . . . 40

6.5 Resultados para a tarefa de identificacao de locutor usando coeficiente LAR e

diferentes tamanhos de modelos. Base de 25 locutores. . . . . . . . . . . . . . 42

6.6 Resultados para a tarefa de identificacao de locutor usando coeficiente LAR e

diferentes tamanhos de modelos. Base de 50 locutores. . . . . . . . . . . . . . 42

6.7 Comparacao entre coeficientes para a tarefa de identificacao de locutor usando

tamanho de modelo igual a 128. Base de 25 locutores. . . . . . . . . . . . . . 44

6.8 Comparacao entre coeficientes para a tarefa de identificacao de locutor usando

tamanho de modelo igual a 256. Base de 25 locutores. . . . . . . . . . . . . . 44

6.9 Comparacao entre coeficientes para a tarefa de identificacao de locutor usando

tamanho de modelo igual a 128. Base de 50 locutores. . . . . . . . . . . . . . 45

6.10 Comparacao entre coeficientes para a tarefa de identificacao de locutor usando

tamanho de modelo igual a 256. Base de 50 locutores. . . . . . . . . . . . . . 45

6.11 Taxas de FAR e FRR obtidos com limiar unico. . . . . . . . . . . . . . . . . . 47

6.12 Relacao FARxFRR (ROC) obtidos com limiar unico. . . . . . . . . . . . . . . 48

i

Page 7: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

6.13 Exemplo de bons scores obtidos por um modelo comparado com vozes de todos

os locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.14 Exemplo de scores ruins obtidos por um modelo comparado com vozes de todos

os locutores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.15 Analise da latencia pelo numero de janelas de sinal analisadas. . . . . . . . . . 52

iv

Page 8: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

1

1 INTRODUCAO

Sistemas computacionais evoluıram muito nas ultimas decadas e com esse avanco

evoluıram tambem as solucoes para tarefas que antes pareciam impossıveis. Uma dessas

tarefas e a biometria.

Atualmente, e possıvel observar a biometria em diversos dispositivos. Na maioria

das vezes ela e utilizada para sistemas de seguranca ou na identificacao de pessoas.

A da analise voz humana e um caso a parte no universo da biometria, pois e

considerada um dos metodos de identificacao biometrico menos invasivos existentes ate

hoje, visto que nao existe nenhum contato fısico do usuario com qualquer dispositivo.

Muitos sistemas de identificacao de pessoas atraves da voz, tem sido projetados

e utilizados nos mais diversos aparelhos e situacoes, porem a maioria deles nao e capaz

de analisar um fluxo contınuo de dados em tempo real, como o audio de uma reuniao ou

um stream de vıdeo, seja pela falta de capacidade de armazenamento, ou pelo excesso no

tempo de processamento.

Tendo como base esse problema, o objetivo final deste projeto e a criacao de

um sistema que seja capaz de realizar a tarefa de reconhecimento de locutor sobre fluxos

de dados de audio sem que seja necessario para o usuario se preocupar com tempo de

resposta ou com a capacidade de armazenamento, pois todo o processo e executado em

tempo real.

Neste trabalho, os capıtulos estao organizados da seguinte forma:

• Capıtulo 2 : Apresenta uma breve descricao da biometria e sua historia.

• Capıtulo 3 : Apresenta detalhes de todo o processo de producao da voz realizado

pelo corpo humano.

• Capıtulo 4 : Apresenta, detalhadamente, o funcionamento do processo de reconheci-

mento de locutor. A explicacao e demonstracao das principais tecnicas e algoritmos

presentes no sistema tambem sao feitas neste capıtulo.

• Capıtulo 5 : Apresenta a metodologia que foi aplicada para o desenvolvimento do

sistema em si, assim como a descricao de todas as suas partes.

Page 9: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

• Capıtulo 6 : Apresenta uma serie de testes realizados sobre o sistema e seus resulta-

dos, de modo a demonstrar a eficiencia do processo.

• Capıtulo 7 : Apresenta uma breve conclusao do trabalho.

2

Page 10: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

3

2 BIOMETRIA

O termo biometria [bio (vida) + metria (medida)] por si so refere-se ao estudo

estatıstico das caracterısticas fısicas ou comportamentais dos seres vivos[12], porem recen-

temente este termo tambem vem sendo utilizado para se referir a analise caracterısticas

fısicas ou comportamentais das pessoas como forma de identifica-las unicamente.

Sistemas de identificacao de pessoas utilizam o que chamamos de caracterısticas

biometricas, ou biometrias, para realizar o processo de reconhecimento da identidade.

Essas caracterısticas sao dados retirados do corpo humano atraves de algum processo,

como foto, medicao ou gravacao de voz.

As biometrias sao comumente divididas em dois grupos: Biometrias fısicas e

comportamentais. Para as biometrias fısicas podemos citas:

• Face

• Impressao digital

• Mao

• Iris

• DNA

E para as biometrias comportamentais e possıvel citar:

• Assinatura

• Ritmo datilografico

• Voz

Quanto as biometrias de DNA e de voz, existem algumas divergencias quanto a

classificacao. A analise de DNA nao e considerada uma biometria por alguns estudos.

Isso se deve ao fato de que o processo de identificacao de pessoas atraves do DNA ainda

nao e realizado em larga escala fora de um ambiente laboratorial.

Ja a biometria da voz e considerada certas vezes como uma biometria fısica e

outras como biometria comportamental. Ambas as abordagens tem argumentos validos,

Page 11: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

pois, e certo que as caracterısticas de voz de um indivıduo dependem de sua estrutura

anatomica, tanto do sistema respiratorio como todo o trato vocal. E por outro lado e

certo tambem que atos comportamentais, como sotaque e linguagem utilizada, influenciam

muito na analise da voz.

Para que haja uma comparacao mais clara entre as diferentes biometrias, um

conjunto de qualidades ou caraterısticas e utilizado[5]:

• Singularidade: Devem ser tao unicas quanto possıvel, ou seja, um traco identico

jamais aparecera em duas pessoas.

• Universalidade: Devem existir em tantas pessoas quanto possıvel.

• Mensurabilidade: Podem ser medidas com instrumentos tecnicos simples.

• Aceitabilidade: Sao faceis e confortaveis de serem medidas.

• Permanencia: Nao pode variar com o tempo.

• Desempenho: Qualidade e velocidade da tecnologia utilizada.

Na tabela 2.1 e apresentado um quadro comparativo entre diferentes tipos de

biometrias[5].

Biometria Universalidade Singularidade Permanencia Mensurabilidade Desempenho Aceitabilidade

DNA A A A B A BFace A B M A B AImpressao digital M A A M A MGeometria da mao M M M A M M

Iris A A A M A BRetina A A M B A BAssinatura B B B A B AVoz M B B M B A

Tabela 2.1: Comparacao entre algumas biometrias[5]. Graus: A-Alto, M-Medio, B-Baixo.

2.1 BIOMETRIA DA VOZ

A voz humana pode ser usada no processo de identificacao de pessoas, uma prova

disto e a capacidade do cerebro de reconhecer vozes de diferentes pessoas. Mas como um

dispositivo pode realizar essa tarefa?

4

Page 12: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Como visto anteriormente, a biometria da voz e dependente tanto de carac-

terısticas fısicas, quanto comportamentais. Dessa forma processos de identificacao de

pessoas atraves da voz devem ser capazes de analisar todas essas caracterısticas.

Caracterısticas fısicas que participam do processo de producao de voz, como for-

mato e tamanho do trato vocal, laringe, e outro orgaos, sao consideradas invariantes para

um indivıduo, ou seja, nao variam de acordo com o tempo[5]. Porem outras propriedades

da voz como sotaque, timbre e estado emocional podem variar muito com o tempo, difi-

cultando o processo de biometria da voz. Outra desvantagem presente neste processo e o

fato de o sinal geralmente ser muito afetado por ambientes ruidosos.

Porem a biometria de voz possui uma qualidade muito importante. E um dos

processos de identificacao menos invasivos, pois o usuario nao necessita ter nenhum con-

tato fısico com qualquer dispositivo. Apenas a voz gravada por um microfone e suficiente

para a identificacao.

Nos capıtulo seguinte, uma analise mais detalhada do processo de producao da

voz humana e descrita.

5

Page 13: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

6

3 A VOZ HUMANA

Para a correta realizacao da tarefa de reconhecimento de locutor e interessante

conhecermos um pouco mais detalhadamente o nosso objeto principal de estudo, a voz

humana. Neste capıtulo sera demonstrado detalhes sobre os orgaos responsaveis pela

producao da voz no corpo humano e tambem como todo esse processo de producao acon-

tece. Sera abordado tambem o conceito de modelo fonte-filtro.

3.1 PRODUCAO DA VOZ

A producao da voz humana e um processo muito complexo que envolve o traba-

lho simultaneo de varios musculos e orgaos do sistema nervoso, respiratorio e digestivo

humano. E descrito a seguir como todo esse processo ocorre.

Os componentes fisiologicos responsaveis pela producao da voz podem ser dividi-

dos em tres grupos, ou subsistemas[9][6]:

• Subsistema Respiratorio: Inclui os pulmoes e outros musculos do sistema respi-

ratorio.

• Subsistema Larıngeo: Inclui os musculos e ligamentos da laringe, entre eles, as

cordas vocais.

• Subsistema Supralarıngeo: E composto pelas regioes faringal, bucal e nasal.

Page 14: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 3.1: Sistema de producao da voz humana.[6]

3.1.1 Subsistema Respiratorio

A funcao basica do subsistema respiratorio e gerar um fluxo de ar que sera res-

ponsavel por gerar toda a energia utilizada pelo processo de producao da voz.

Ao realizarmos a inspiracao do ar, uma forca muscular e usada para encher os

pulmoes. Para isso, os pulmoes se expandem gerando uma energia elastica que sera

liberada durante o movimento de expiracao, gerando o fluxo de ar, que e enviado atraves

da traqueia ate a laringe. E este fluxo de ar que ira gerar a voz.

3.1.2 Subsistema Larıngeo

Este subsistema, composto basicamente pela laringe, tem como principal funcao

exercer a fonacao, ou seja, realizar modificacoes no fluxo de ar enviado pelos pulmoes

gerando diferentes pulsos de ar, de acordo com cada realizacao fonetica desejada.

A laringe e um curto canal que se encontra no pescoco adiante do esofago, e

alem de exercer papel indispensavel na producao da fala, a laringe tambem tem funcoes

importantes que mantem o bom funcionamento dos sistemas respiratorio e digestivo. Uma

dessas funcoes e, durante o processo de degluticao, bloquear a traqueia e abrir a passagem

7

Page 15: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

para o esofago, impedindo assim que o alimento entre nas vias respiratorias.

Dois componentes do subsistema Larıngeo sao de grande importancia para a

producao da voz, sao eles: A glote e as cordas vocais (ou pregas vocais). A glote e um

pequeno espaco de formato triangular entre as cordas vocais. O ar enviado pelos pulmoes

passam atraves da glote, e dependendo do grau de abertura das cordas vocais, diferentes

tipos do fonacao sao gerados. Podemos citar tres tipos simples de fonacao[6]:

• Ausencia de voz (Voiceless)

• Cochicho (Whisper)

• Presenca de voz (Voicing)

Durante a fonacao do tipo ‘ausencia de voz’ e do tipo ‘cochicho’, as cordas vocais

estao separadas uma das outras, ou seja, o fluxo de ar ira passar atraves da glote aberta,

criando pouca ou nenhuma resistencia. A principal diferenca entre a ausencia de voz e o

cochicho e o grau de abertura da glote. No cochicho, as cordas vocais estao mais proximas,

o que causa uma certa turbulencia no ar, produzindo sons conhecidos como cochicho ou

sussurro. Ja durante a fonacao de ausencia de voz, as cordas vocais estao bem separadas,

permitindo uma maior abertura da glote, gerando praticamente nenhuma turbulencia do

ar.

O tipo de fonacao com presenca de voz e o mais complexo. Esta fonacao e gerada

atraves de uma sequencia de movimentos de abertura e de fechamento da glote atraves

de diferentes tensoes nas cordas vocais. Gerando assim diferentes formas de vibracao das

cordas vocais.

A frequencia com que as cordas vocais vibram e conhecida como frequencia fun-

damental, ou apenas F0. A inversa de F0 e o tempo que leva o ciclo de uma abertura e

de um fechamento da glote. Frequencias fundamentais variam entre mulheres, homens e

criancas devido ao fato de cada um ter cordas vocais de diferentes tamanhos. As mulhe-

res geralmente tem cordas vocais menores do que as dos homens, e por isso, na maioria

das vezes possuem frequencias fundamentais maiores. O tamanho das cordas vocais das

criancas e ainda menor do que o das mulheres.

8

Page 16: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

3.1.3 Subsistema Supralarıngeo

Finalizando o processo de producao da voz, chegamos a ultima etapa, o subsis-

tema supralarıngeo, o mais importante e mais complexo de todo esse processo.

O subsistema supralarıngeo, e tambem conhecido como trato vocal. Trato vocal e

um termo generico que se refere aos orgaos produtores de voz que estao acima da laringe.

Esses orgaos podem ser divididos em tres cavidades: faringal, oral e nasal.

As partes do trato vocal, servem como o que chamamos de articuladores. Cada

movimento dos articuladores, gera uma modulacao no ar proveniente da laringe, resul-

tando no som desejado pelo locutor.

O articulador mais flexıvel e, sem duvida, a lıngua, pois pode assumir diferentes

formas e posicoes, gerando os mais diversos sons. Como exemplo de movimento de arti-

culadores, podemos utilizar um dos movimentos que pode ser gerado pela lıngua, quando

apenas uma pequena abertura para a passagem de ar e deixada entre a propria lıngua e o

ceu da boca, gerando o que conhecemos por Consoante fricativa[9]. As fricativas sao con-

soantes produzidas pela passagem do ar atraves de um canal estreito feito pela colocacao

de dois articuladores proximos um ao outro. Um exemplo de consoante fricativa, pode

ser observado no inıcio da pronuncia da palavra “Som”, no portugues brasileiro. Essa

fricativa e descrita por [s].

3.2 MODELO FONTE - FILTRO (SOURCE - FILTER)

A producao da voz humana pode ser modelada por um sistema conhecido como

Fonte-Filtro[9]. Este sistema considera que todo o processo de producao da voz pode ser

aproximado por um modelo fısico que contenha: uma fonte geradora, no caso o fluxo de

ar que passa pela laringe, e filtros acusticos que representam o trato vocal. Esses filtros

podem ser representados por uma serie de tubos de raios variaveis.

Cada tubo, por efeito de ressonancia, e capaz de realizar mudancas nas frequencias

do som, transformando-o, realizando a mesma funcao que todo o trato vocal. A figura

3.2 mostra um diagrama que representa o modelo fonte-filtro.

9

Page 17: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 3.2: Diagrama do modelo fonte-filtro de producao de voz[6].

Muitos processamentos de voz sao baseados sobre este modelo simples, assim

como a tecnica de predicao linear, descrita no capıtulo 4.

10

Page 18: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

11

4 RECONHECIMENTO AUTOMATICO DE LOCUTOR

Neste capıtulo sera apresentado uma descricao sobre o processo de reconhecimento

de locutor, e suas principais etapas.

4.1 PROCESSAMENTO DE VOZ

O processamento de voz tem como objetivo retirar informacoes desejadas a partir

de um sinal de voz. No caso do processo de reconhecimento de locutor, a informacao

desejada e a identidade da pessoa ao qual a voz pertence.

Exitem varios outros processos que derivam do processamento de voz, como por

exemplo, o reconhecimento e a sıntese de fala. Na figura 4.1 temos uma divisao comum

das areas envolvidas no processamento de voz[3].

Figura 4.1: Divisao das areas do processamento de voz.[3]

4.2 CARACTERISTICAS

Sistema de reconhecimento de locutor podem ser descritos de acordo com duas

caracterısticas comuns: tarefa e dependencia de texto.

Existem dois tipos basicos de tarefas:

• Identificacao de locutor

• Verificacao de locutor

Page 19: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

A diferenca basica entre as duas tarefas e que na identificacao de locutor, o usuario

que esta tendo sua voz analisada nao afirma quem ele e, e o sistema deve identifica-lo

dentro de um grupo de indivıduos conhecidos. Ja na tarefa de verificacao, o usuario

afirma ter uma certa identidade, e o sistema ira verificar atraves da voz se o usuario

realmente e quem ele afirma ser.

Outra caracterıstica importante e a dependencia de texto. Mas antes de descreve-

la, e interessante entender as fases de um reconhecimento de locutor. Sao duas fases

basicas que acontecem durante o processo: A primeira, conhecida como fase de treina-

mento, e quando cada locutor pronuncia uma serie de frases que sao processadas pelo

sistema. A partir dessas frases, sao retiradas caracterısticas da voz, que serao capazes de

identificar cada locutor. Esta fase e chamada de “fase de treinamento” pois o sistema

esta sendo treinado para reconhecer uma serie de locutores, e esta “aprendendo” como e

a voz de cada um deles.

A outra etapa, a fase de reconhecimento, e quando o usuario pronuncia uma frase

para o sistema, e este ira comparar o sinal de voz com os dados recolhidos na frase de

treinamento, e ira identificar ou verificar o locutor.

A caracterıstica de dependencia de texto afeta ambas as fases de treinamento e

de reconhecimento. Exitem dois tipos de dependencia de texto:

• Dependente de texto

• Independente de texto

Quando um sistema e dito dependente de texto significa que o processo de identi-

ficacao, ou de verificacao, e baseado sempre nas mesma frase dita pelo usuario na fase de

treinamento. Ou seja, o usuario deve ditar sempre a mesma frase, tanto na fase de treina-

mento quanto na fase de reconhecimento. Sendo assim, o sistema e dependente do texto

pronunciado pelo usuario e se um texto diferente for pronunciado, provavelmente algumas

caracterısticas na voz nao serao encontradas pelo sistema, dificultando o reconhecimento.

No caso do processo independente de texto, nao ha ligacao entre a frase usada

para treinar o sistema e a frase dita pelo usuario durante o processo de reconhecimento. O

sistema nao usa caracterısticas da frase dita, como duracao ou pausas, ele apenas analisa

as caracterısticas da voz que nao sao dependentes de texto, ou seja, que nao variam de

uma pronuncia para outra.

12

Page 20: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

4.3 VISAO GERAL

E apresentado a seguir uma visao geral de como um sistema de reconhecimento

de locutor trabalha, e as partes que o compoe. E comum dividirmos este tipo de sistema

nas seguintes etapas:

• Aquisicao do Sinal

• Parametrizacao do Sinal

• Criacao de modelos ou Treinamento

• Comparacao e decisao

Figura 4.2: Esquema basico de um sistema de reconhecimento de locutor.[3]

A figura 4.2 apresenta um esquema comum da organizacao de um sistema de

reconhecimento de locutor. A seguir, e apresentada uma breve descricao de cada uma das

etapas do sistema.

4.3.1 Aquisicao do Sinal

A primeira etapa do processo tem a funcao de receber o sinal de voz no formato

analogico, e converte-lo em sinal digital. E tambem durante esta etapa que e executada a

divisao do sinal em pequenas partes de tamanho igual, que chamamos de frames. A divisao

em frames e feita durante a conversao do formato analogico para o formato digital. Uma

outra divisao do sinal, conhecida por windowing, tambem pode ser executada durante

esta etapa.

13

Page 21: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

4.3.2 Parametrizacao do Sinal

O proximo passo e parametrizar o sinal, ou seja, retirar as principais carac-

terısticas que possam descrever a voz que esta sendo analisada. Para isso, sobre cada

frame de sinal e executado um processamento que resulta em um conjunto de vetores co-

nhecidos como features. Os valores contidos nestes vetores representam as caracterısticas

retiradas da voz.

4.3.3 Criacao de modelos acusticos

Tanto o processo de identificacao, quanto o de verificacao de locutor, necessitam

que exista um modelo acustico para cada locutor. Este modelo acustico e uma repre-

sentacao digital da voz de um locutor.

O processo de criacao de modelos acusticos e realizado, basicamente, sobre a

analise de varios sinais de voz de um mesmo locutor. Todos esses sinais sao parame-

trizados, gerando um conjunto grande de features. As features sao entao analisadas e

refinadas, restando apenas as caracterısticas que representam melhor a voz do locutor.

4.3.4 Comparacao e decisao

Tendo os modelos acusticos de cada locutor, a ultima etapa e realizar a com-

paracao entre o sinal de voz do locutor desconhecido e os registros presentes nos modelos.

Para o processo de identificacao de locutor, o sinal de voz desconhecido e para-

metrizado e comparado com cada um de todos os modelos. O modelo que apresentar a

melhor, ou maior, semelhanca, indica, a qual locutor a voz analisada pertence.

Ja para o processo de verificacao de locutor, as features do sinal da voz desco-

nhecida sao comparadas apenas com o modelo do locutor que a pessoa que emitiu o sinal

de voz afirma ser. Se a comparacao resultar em um grau de semelhanca maior do que um

certo limiar, entao a verificacao e considerada verdadeira, caso o grau de semelhanca seja

menor do que o limiar estipulado, a verificacao e considerada falsa.

Nas secoes a seguir detalhes e algoritmos de cada uma das etapas sao descritos.

14

Page 22: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

4.4 AQUISICAO E TRATAMENTO DO SINAL

A aquisicao do sinal e feita atraves de um microfone que passa as informacoes

para um conversor analogico-digital, transformando o sinal de voz analogico em um sinal

digital, possibilitando assim o seu processamento.

Sinais digitais possuem duas caracterısticas importantes, sao elas:

• Taxa de amostragem: Por se tratar de uma aproximacao do sinal analogico, o

sinal digital e formado por varias amostras retiradas do sinal analogico. A quanti-

dade de amostras presentes em um segundo de sinal digital e conhecida como taxa de

amostragem, medida em Hertz. Quanto maior a taxa de amostragem, mais proxima

e a representacao digital da analogica do sinal.

• Precisao: E o quao preciso uma amostra de sinal pode ser. Geralmente e medida

em tipos computacionais de dados, como por exemplo, ponto-flutuante de 16 bits.

Apos a transformacao da representacao analogica para a representacao digital, o

sinal e entao dividido em pequenas partes com um mesmo numero de amostras. Cada

uma dessas partes e conhecida como frame. Essa e uma divisao padrao feita pelo hard-

ware de som da maioria das maquinas. Ela facilita o processo computacional sobre os

sinais. Porem, processamentos de voz como reconhecimento de locutor, necessitam de

uma divisao um pouco mais aprimorada, que chamamos de windowing.

4.4.1 Windowing

Windowing e processo de divisao do sinal digital em janelas[1]. Essas janelas

podem ser comparadas com o frames, porem possuem duas grandes diferencas:

• Podem conter sobreposicao.

• Executam operacoes matematicas que alteram o sinal.

Sobreposicao e quando uma janela compartilha um certo numero de amostras

com suas janelas adjacentes. Essa tecnica permite que o processamento do sinal tenha

um resultado mais proximo ao que ele teria se processasse o sinal inteiro, sem a divisao

por frames. Pois atraves da sobreposicao as interrupcoes causadas pela divisao em frame

15

Page 23: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

e reduzida. A figura 4.3 demonstra um exemplo de divisao de um sinal em janelas com

sobreposicao.

Figura 4.3: Exemplo de windowing de um sinal

Outra caracterısticas das janelas que podem melhorar o processamento de um

sinal e a aplicacao de operacoes matematicas, ou window functions, sobre as amostras da

janela. Essas operacoes matematicas tem como objetivo realcar as amostras que estao

mais ao centro de cada janela, e diminuir as que estao nas extremidades, que assim como

a sobreposicao, reduz a descontinuidade do sinal.

Existem varios tipos de window functions, mas talvez, a mais conhecida seja a

Hamming window, que tem a seguinte expressao matematica:

w[n] = 0.53836− 0.46164 cos

(2πn

N − 1

)(4.1)

Onde N e o tamanho da janela. Para aplicar esta operacao sobre uma janela de

sinal, basta apenas multiplicar o sinal por w[n].

16

Page 24: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 4.4: Exemplo da aplicacao da operacao Hamming window sobre um sinal[6].

4.4.2 Pre-emphasis

Geralmente em processamentos de voz, uma operacao conhecida como pre-

emphasis e executada sobre o sinal antes que ele seja analisado pelo processo desejado.

Pre-emphasis nada mais e do que a aplicacao de um filtro capaz de balancear as altas

frequencias com as relacao as baixas frequencias presentes no sinal.

A razao para realizar esse balanceamento e que, entre a producao da voz humana

e a captacao do sinal pelo microfone, as altas frequencias perdem forca, enquanto as baixas

ficam mais fortes. Na figura 4.5 temos um exemplo de aplicacao deste filtro.

A implementacao de um filtro capaz de realizar o processo de pre-emphasis e

muito simples. Apenas deve-se realizar a seguinte operacao sobre o frame de sinal:

s[n] = s[n]− αs[n− 1] (4.2)

Onde α e um valor estabelecido empiricamente. Um valor comum para α e:

α = 0.91 (4.3)

4.5 PARAMETRIZACAO DO SINAL

Um sinal de voz por si so carrega muita informacao, e nem todas delas podem

ser interessantes para o processo de reconhecimento de locutor, como por exemplo ruıdos

17

Page 25: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 4.5: Pre-emphasis aplicada a um sinal de voz[6].

externos, ou segundos de silencio e etc, alem do que toda essa informacao desnecessaria

ocupa espaco e esforco computacional se for processada[6].

Para reduzir a quantidade de informacoes a serem processadas pelo sistema e

selecionar apenas as informacoes que sao realmente pertinentes para o processo, deve-se

realizar o que chamamos de Feature Extraction, ou Parametrizacao do Sinal.

Nesta fase, o sinal de voz e analisado e reduzido a um conjunto de numeros que

contem a informacao desejada pertencente ao sinal. Esse novo conjunto de numeros e

chamado de Vetor de Features. E interessante que o vetor de features seja muito menor

do que o sinal de voz propriamente dito, a fim de promover um esforco computacional

menor.

Existem muitas formas de retirar features de um sinal de voz que sejam capazes

de representar a voz de um locutor. Algumas delas sao[3][6]:

• Predicao Linear

18

Page 26: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

• Mel-Cepstrum

• Filterbanks

Muitos trabalhos tem demonstrado que a tecnica de predicao linear apresenta

bons resultados na tarefa de reconhecimento de locutor[10][3][6][2]. Por esse motivo, essa

e a feature escolhida para ser abordada neste trabalho.

4.5.1 Predicao Linear (Linear Prediction)

Sabe-se que a partir de um sinal sn e possıvel modelar uma aproximacao da fonte

geradora do sinal. No caso de um sinal de voz, a aproximacao da fonte geradora pode ser

comparada ao modelo fonte-filtro, apresentado no capıtulo 3.

Desta forma, a partir de um sinal de voz de um locutor, podemos gerar uma

aproximacao do modelo fonte-filtro responsavel pela producao da voz, criando uma boa

representacao da voz do locutor.

A tecnica utilizada para modelar a aproximacao da fonte geradora de um sinal e

conhecida como predicao linear.

4.5.1.1 Definicao

A ideia principal em que a Predicao Linear se baseia e de que as amostras ad-

jacentes de um sinal sao fortemente relacionadas, e que a partir disso, e possıvel realizar

uma previsao do comportamento do Sinal. A regra basica da Predicao Linear define que

o valor de cada amostra de um sinal pode ser aproximado a partir dos valores de algumas

amostras anteriores[8],[3],[6], ou seja:

sn ≈ −p∑

k=1

aksn−k +Gun (4.4)

Onde un e o sinal de entrada no sistema, G e um fator escalar e p e definido como

a Ordem da Predicao (Prediction Order), que estipula o numero de amostras anteriores

que devem ser utilizadas na predicao de sn. Em aplicacoes que envolvem a analise de

sinais de voz, geralmente a entrada do sistema un e desconhecida, logo, e desconsiderada.

sn ≈ −p∑

k=1

aksn−k (4.5)

19

Page 27: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

O objetivo da Predicao Linear e determinar os valores dos Coeficientes de

Predicao{ak | k = 1, . . . , p

}de uma forma que o erro da predicao seja o menor possıvel.

O erro da predicao e obtido atraves da diferenca entre o valor real da amostra e

o valor obtido pela predicao.

en = sn − (−p∑

k=1

aksn−k) (4.6)

en = sn +

p∑k=1

aksn−k (4.7)

Ou ainda:

sn = −p∑

k=1

aksn−k + en (4.8)

Podemos observar nas equacoes 4.4 e 4.8 que o erro da predicao pode ser compa-

rado a entrada do sistema un que foi ignorada anteriormente, ou seja, o erro da predicao

e totalmente formado pela informacao do sinal que foi desconsiderada. Se conseguir-

mos reduzir ao maximo en teremos uma estimativa muito proximo do sinal real, mesmo

desconsiderando a informacao da entrada do sistema.

A fim de reduzir ao maximo o en, e interessante analisar o MSE - Mean Squared

Error - da expressao 4.7, que e representado por:

E =∑

n

e2n

E =∑

n

[sn +

p∑k=1

aksn−k

]2

(4.9)

O valor mınimo de E ocorrera quando a derivada para cada ak for igual a

zero[3][6].

∂E

∂ak

= 0 ∨ k = 1, . . . , p

O que resulta em[3][6]:

p∑k=1

ak

∑n

sn−ksn−i = −∑

n

snsn−i ∨ i = 1, 2, . . . , p (4.10)

20

Page 28: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Se escrevermos a expressao 4.10 para cada k = 1, 2, . . . , p, teremos um sistema

composto de varias equacoes conhecidas como equacoes AR. Essas equacoes compoe o que

chamamos de modelo AR - Autoregressive Model. Resolvendo as equacoes AR teremos os

valores para os coeficientes da predicao.

Dois metodos de resolucao sao geralmente usados para resolver Modelos AR, sao

eles:

• Metodo da autocorrelacao

• Metodo da covariancia

Embora em alguns casos o metodo da covariancia apresente alguns resultados

melhores[9], o metodo da autocorrelacao tem um custo computacional menor, e sempre

apresenta bons resultados. Por esses motivos, neste trabalho, abordaremos apenas o

metodo da autocorrelacao.

4.5.1.2 Metodo da Autocorrelacao

Uma tecnica existente no campo da Estatıstica, chamada autocorrelacao[11] e

muito usada em varios outros campos. E um desses campos e a analise de sinais.

A autocorrelacao de uma serie sn, de tamanho N , num deslocamento k no tempo,

pode ser dada por:

rk =N∑

n=k

snsn−k (4.11)

A fim de evitar o somatorio infinito e de trazer os calculos para um ambiente

discreto, e interessante aplicar uma janela, ou window, como visto em 4.4.1. Sendo assim,

temos a seguinte equacao para o calculo da autocorrelacao do sinal:

rk =N−1−k∑

n=k

snsn−k (4.12)

Considerando a equacao 4.12, podemos reescrever a equacao 4.10 da seguinte

maneira:

p∑k=1

r(i−k)ak = −ri ∨ i = 1, 2, . . . , p (4.13)

21

Page 29: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Reescrevendo a expressao 4.13 na forma matricial teremos as equacoes AR.

r0 r1 r2 . . . rp−1

r1 r0 r1 . . . rp−2

r2 r1 r0 . . . rp−3

......

.... . .

...

rp−1 rp−2 rp−3 . . . r0

a1

a2

a3

...

ap

= −

r1

r2

r3

...

rp

(4.14)

Resolvendo a equacao 4.14 teremos os valores dos coeficientes de predicao,

{a1, a2, a3, . . . , ap} que representam o modelo da fonte geradora do sinal , alcancando

assim, o objetivo da predicao Linear. Para isto podemos usar um algoritmo conhecido

como Algoritmo Recursivo de Levinson-Durbin. Este algoritmo e o metodo mais eficiente

para resolver expressoes como 4.14.

O algoritmo de Levinson-Durbin recebe como entrada a sequencia de autocor-

relacao do sinal, e retorna os seguintes dados:

• Coeficientes da predicao.

• Coeficientes de reflexao.

• Coeficientes LAR - Log Area Ratio.

Temos a seguir uma breve descricao matematica do algoritmo Levinson-Durbin:

E0 = R0

ki = − [Ri+Pi−1

j=1 ai−1j Ri−j]

Ei−1∨1 ≤ i ≤ p

aii = ki

a(i)j = ai−1

j + kia(i−1)i−j ∨1 ≤ j ≤ i− 1

Ei = (1− k2i )Ei−1

∨ i = 1, 2, . . . , p

aj = a(p)j ∨ 1 ≤ j ≤ p.

Os coeficientes LAR, gm, nao sao retornados diretamente pelo algoritmo mas

podem ser obtidos atraves da seguinte expressao:

gm = log

(1− km

1 + km

)(4.15)

22

Page 30: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Todos estes coeficientes podem ser usados como features de um sinal de voz[3][6].

4.6 TOMADA DE DECISAO

E nesta etapa do processo que, atraves das caracterısticas retiradas do sinal de

voz, ocorre a tomada de decisao. Para esta decisao as features do sinal que esta sendo

analisado sao comparadas com modelos previamente criados para cada um dos locuto-

res. Antes de demonstrarmos como essa comparacao entre feature e modelo ocorre, e

interessante descrever como um modelo e, e como ele e criado.

4.6.1 Modelos Acusticos

De uma forma geral, um modelo acustico e um conjunto de features retiradas de

uma serie de sinais de voz de um mesmo locutor. Essas features podem ser expressas na

forma de vetores de numeros reais. No caso das features retiradas atraves do processo de

predicao linear, cada vetor e composto por p numeros, onde p e a ordem da predicao.

Esse conjunto de vetores teoricamente representa a voz, ou as caracterısticas da

voz de um locutor. Porem como varios sinais de voz sao analisados na criacao de um

modelo, a quantidade de features geradas pode ser muito grande, o que pode levar a

problemas tanto de tempo computacional quanto de espaco para armazenar todos esses

dados. Outro ponto a ser observado e o fato de que nem todas as features extraıdas dos

sinais podem ser consideradas relevantes, pois podem ter sido computadas a partir de um

trecho de sinal com ruıdo ou outro anomalia que nao condiz com as caracterısticas usuais

do locutor.

A fim de reduzir o tamanho dos modelos e ao mesmo tempo retirar informacoes

menos relevantes sobre o locutor, varias tecnicas tem sido propostas. Vamos apresentar

aqui uma dessas tecnicas, conhecida como vector quantization ou quantizacao vetorial.

4.6.1.1 Vector Quantization

Vector quantization, VQ, e uma das muitas tecnicas de quantizacao conhecidas.

Essas tecnicas tem como objetivo executar a seguinte tarefa: Mapear um conjunto de

vetores de dimensao k, espaco Rk, em um conjunto finito de vetores Y = {yi | i =

23

Page 31: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

1, 2, . . . , N}, onde cada vetor yi e chamado de code vector e o conjunto de todos os code

vectors e chamado de code book. N e o tamanho do code book.

Em outras palavras a tecnica de VQ ira gerar a melhor aproximacao de tamanho

N para um certo conjunto de dados de entrada.

Figura 4.6: Exemplo de vector quantization para dimensao R2[4].

Na figura 4.6 podemos observar um exemplo da execucao da tecnica de vector

quantization para um conjunto de vetores de dimensao 2. Na figura, o conjunto de vetores

de entrada sao representados pelos pontos na cor verde. Os pontos em vermelho sao os

code vectors. Ou seja, todos os vetores de entrada presentes dentro de um dos polıgonos

azuis serao representados, ou aproximados, pelo code vector que representa este polıgono.

Dessa maneira todo o conjunto de entrada foi aproximado para um conjunto muito menor

de vetores.

24

Page 32: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

4.6.2 Decisao

Apos criar os modelos para cada locutor, e retirar as features do sinal que esta

sendo analisado, estamos prontos para executar a tomada de decisao.

Basicamente nesta etapa do processo devemos verificar com qual dos modelos o

conjunto de features retirados do sinal se aproxima mais. O grau de aproximacao, ou

grau de semelhanca, entre um conjunto de features e um modelo acustico pode ser feito

de varias maneiras. A forma mais conhecida e executando o calculo de distorcao, ou

distancia. Considere um vetor de features xi e um modelo C = {cj | j = 1, 2, . . . , N} de

tamanho N . A distorcao d do vetor xi para o modelo C e:

D(xi, C) = mincj∈C

d(xi, cj) (4.16)

Onde d(x, y) e a distorcao direta entre dois vetores. Essa distorcao pode ser

calculada de varias formas. A mais usual e simples e utilizando distancia euclidiana.

Na equacao 4.16 calculamos a distorcao de um vetor de features para um modelo,

porem ao parametrizar um sinal temos como resultado um conjunto de varios vetores. O

grau de semelhanca entre o sinal analisado e um modelo pode ser calculado pela distorcao

media entre um conjunto de vetores de features X = {xi | i = 1, 2, . . . ,M} de tamanho

M e um modelo. Esta distorcao media Dm e calculada por:

Dm(X,C) =1

M

M∑i=1

D(xi, C) (4.17)

O valor da distorcao media pode ser usado como o grau de semelhanca entre

um sinal analisado e um modelo acustico. Quanto menor a distorcao, maior o grau de

semelhanca. Por se tratar de uma especie de pontuacao, o termo distorcao media e

normalmente substituıdo pelo termo score. Sendo assim, o score de conjunto de features

X para um modelo C, pode ser considerado como o valor da distorcao media entre os

conjuntos:

score(X,C) = Dm(X,C) (4.18)

O calculo do score e o mesmo, tanto para o procedimento de identificacao de

locutor quanto para o procedimento de verificacao. A diferenca entre esse procedimentos

25

Page 33: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

acontece no passo seguinte a estimativa do score.

Para realizar a identificacao de um locutor, e necessario realizar o calculo do

score das features que estao sendo analisadas com todos os modelos presentes no sistema.

O modelo que apresentar o menor score, ou seja, a menor distorcao para as features

analisadas indicara o nome do provavel locutor ao qual a voz em questao pertence. Logo,

o ındice, ou numero, i que indica o locutor escolhido, e dado por:

i∗ = arg minjscore(X,Sj) (4.19)

No processo de verificacao, o sistema apenas compara o score do sinal analisado

com o modelo do locutor que o usuario afirma ser. Desta forma, se o score obtido for menor

do que um certo limiar Θ, o sistema confirma a identidade do usuario, caso contrario, a

identidade e negada.

score(X,Sj) =

≤ Θ confirma identidade

> Θ nega identidade(4.20)

O calculo do limiar e um passo importante do treinamento de um sistema verifi-

cador de locutor[2]. Varias tecnicas para este calculo tem sido propostas. No capıtulo 6

algumas dessas tecnicas sao descritas.

26

Page 34: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

27

5 O SISTEMA

Como citado anteriormente, o objetivo deste trabalho e apresentar um sistema

capaz de realizar o reconhecimento automatico de locutor em tempo real. Neste capıtulo

vamos explorar o sistema em si, abordando suas principais caracterısticas como imple-

mentacao, algoritmos usados, entradas e saıdas do sistema, entre outros pontos interes-

santes.

5.1 VISAO GERAL

O funcionamento do sistema pode ser dividido em uma serie de pequenos passos.

Primeiramente o sinal de voz e adquirido atraves de um microfone ou de arquivos de audio

previamente gravados. Este sinal de voz e entao dividido em frames, e cada um desses

frames sera analisado separadamente.

A analise de um quadro de voz segue com a parametrizacao do sinal, ou seja,

e executada a retirada das caracterısticas (features) desse pedaco de sinal. Essas carac-

terısticas serao usadas para criar o modelo de voz para o locutor que forneceu o sinal, ou

serao comparadas com os modelos ja criados para diferentes locutores, a fim de realizar o

reconhecimento do locutor.

5.2 MODULOS

Para garantir que o sistema tenha funcionamento em tempo real e com a menor

latencia possıvel, todo o processo foi divido em tres grandes modulos, cada um com funcoes

especıficas. Sao eles:

• Entrada e Saıda: Modulo responsavel por toda comunicacao do software com o

hardware de som. Tambem realiza um pre-processamento do sinal.

• Parametrizador: Realiza a parametrizacao do sinal de voz, ou seja, gera o conjunto

de features.

• Comparador: Compara as features geradas pelo Modulo Parametrizador com os

modelos acusticos, e realiza a tomada de decisao ou de reconhecimento. Tambem e

Page 35: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

responsavel pela criacao dos modelos.

A figura 5.2 demonstra uma visao geral dos modulos quem compoe o software.

Antes de abordamos cada modulo com mais detalhes, e interessante entendermos

como e realizada a comunicacao entre cada um dos modulos.

Figura 5.1: Visao geral dos modulos do sistema

5.2.1 Comunicacao entre modulos

Para realizar a tarefa de transmissao de informacoes entre os modulos, uma estru-

tura abstrata de dados foi criada. Esta estrutura e semelhante a implementacao de uma

fila de dados, com a diferenca de que ela esta preparada para trabalhar sob um ambiente

de concorrencia, ou seja, diferentes processos podem acessa-la ao mesmo tempo, sem que

a consistencia dos dados seja afetada.

Para garantir o funcionamento em um ambiente de possıvel concorrencia, apenas

uma regra foi estabelecida sobre o funcionamento dessa estrutura de dados:

Se uma fila Q estiver vazia e um processo P requisitar algum dado de Q, entao

P ficara parado ate que algum outro processo insira algum dado em Q.

O uso desta estrutura de dados e o unico metodo de comunicacao entre os modulos

do sistema, nao importando o tipo dos dados transmitidos. Este modelo de comunicacao

garante que cada modulo possa trabalhar independentemente e sempre com uma sincro-

nizacao viavel, pois se um processo esta sem dados para trabalhar, ele ira aguardar ate

que novos dados sejam disponibilizados para o processamento, e na situacao contraria, se

28

Page 36: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

um processo esta computando dados, outros processos podem enviar novas informacoes

para o processo ocupado sem a preocupacao com a perda desses dados, pois eles ficarao

armazenados na fila ate que o processo ocupado possa atender as solicitacoes e processar

os dados da fila.

5.3 MODULO ENTRADA E SAIDA

Este modulo tem as seguintes funcoes:

• Realizar toda a comunicacao com o hardware de som, tanto para captacao quanto

para a reproducao de sons.

• Ler arquivos de audio quando necessario.

• Identificar frames de sinal que contem voz.

• Resampling.

• Repassar frames de sinal que contem voz para o modulo Parametrizador.

5.3.1 Interacao com hardware de som

Toda comunicacao do sistema com o hardware de som e feito com base na bi-

blioteca RtAudio - Real Time Audio1. Esta biblioteca e composta por um conjunto de

funcoes, nas linguagens de programacao C e C++ programacao, que auxiliam o contato

de processos com o hardware de som em sistemas Windows, Linux e MacOS.

E atraves destas funcoes que o sistema capta os sinais do microfone e tambem

reproduz estes sinais quando solicitado pelo usuario.

5.3.2 Entrada de dados

Duas entradas de dados podem ser usadas para alimentar o sistema, uma delas

como foi vista, e a entrada de sinal a partir de um microfone ligado ao computador.

A outra forma de entrada de dados e composta por uma lista de arquivos WAV

passados pela linha de comando. O sistema ira interpretar o sinais presentes nesses arqui-

vos como se fossem um unico sinal passado pelo microfone. Dessa forma, nao ha diferenca

1http://www.music.mcgill.ca/~gary/rtaudio/

29

Page 37: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

no processamento das duas entradas de dados. Apos a leitura da lista de arquivos, ou a

captacao do sinal atraves do microfone, o processamento e o mesmo.

5.3.3 Resampling

Resampling nada mais e do que a alteracao da taxa de amostragem de um sinal.

Isso pode ser usado para diminuir a quantidade de dados contida no sinal, ou tambem,

para aumenta-la. Ha diversos motivos para se fazer uso do Resampling. No nosso caso

ele foi usado para realizar testes do sistema com sinais de voz com taxas de amostragem

menores. Mais detalhes sobre essa operacao serao vistos no capıtulo 6.

5.3.4 Deteccao de Voz

Ao analisar um sinal de voz, e interessante que as partes do sinal que nao conte-

nham efetivamente fragmentos de voz sejam descartados da analise, para que ruıdos nao

atrapalhem no processo. Por esse motivo, um algoritmo de deteccao de voz foi criado

para que o sistema apenas processe as partes do sinal que contenham voz.

Figura 5.2: Divisao de um sinal de voz em segmentos de voz (areas verdes) de acordo coma amplitude.

O algoritmo de deteccao de voz criado e baseado na amplitude do sinal. O sistema

considera que o sinal esta livre de ruıdos que tenham uma amplitude maior do que a da

voz, ou seja, as partes do sinal que contem maior amplitude sao identificadas como as

partes que contem voz.

Para encontrar as partes do sinal que tem uma maior amplitude, um limiar base-

ado na amplitude media de um sinal que contenha apenas silencio e de um que contenha

apenas voz e calculado.

Essas amostras de sinal de silencio e de voz sao passados pelo usuario para o

sistema, seja por arquivo de audio ou por microfone. Apos isso o sistema analisa as duas

amostras, e retira o valor maximo de amplitude de cada uma.

30

Page 38: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Com os valores maximos de amplitude do sinal sem a presenca de voz, SM , e do

sinal com presenca de voz, VM , passados pelo usuario, o sistema calcula o limiar L da

seguinte forma:

L =4SM + VM

5(5.1)

Tendo o limiar L calculado, o sistema quando esta em funcionamento, analisa o

valor maximo de amplitude de cada frame do sinal. Se este valor maximo de amplitude

for maior do que o limiar calculado, entao o frame sera considerado como sendo um frame

de voz. Caso o valor maximo seja menor do que o limiar, entao o frame sera considerado

como um frame contendo apenas silencio.

Dessa forma, o algoritmo e capaz de identificar se um dado frame contem sinal

de voz ou nao, porem, apenas isso nao e suficiente para identificar sinais de voz humana

com qualidade. Nao e suficiente pois se analisarmos o tamanho de um frame de sinal

perceberemos que a quantidade de informacao presente neste frame e muito pequena. No

nosso sistema, o tamanho de um frame e de 512 amostras, e a uma taxa de amostragem

de 48000Hz, podemos concluir que um frame contem apenas cerca de 0.010 segundos

de audio. Sendo assim, se o locutor pronunciar uma palavra que contenha uma pequena

pausa entre as sılabas, o algoritmo de deteccao de voz provavelmente ira reconhecer varios

segmentos diferentes de voz para apenas uma palavra. Isso e de certa forma ruim para

a identificacao de locutor, ja que pequenas pausas na diccao estao diretamente ligadas

a propriedades unicas da voz de cada locutor, como sotaque e entonacao, e com o algo-

ritmo trabalhando desta forma, toda essa informacao capaz de identificar um locutor sera

perdida.

Para que isto nao ocorra, uma melhora ao algoritmo de deteccao de voz foi rea-

lizada. Esta melhora consiste em que o algoritmo nao deve considerar que um segmento

de voz seja formado apenas por um frame, mas sim por uma lista deles. Dessa forma

nao temos mais um algoritmo de deteccao de voz, mas sim um algoritmo de deteccao de

segmentos de voz.

Cada frame continua sendo avaliado separadamente, mas o algoritmo apenas ira

considerar que o segmento de voz acabou se houver um certo numero de frames sem voz

consecutivos. O mesmo acontece para o inıcio de um segmento. O algoritmo considera

que um segmento de voz foi iniciado apenas se existir um certo numero de frames com

31

Page 39: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

voz consecutivos.

A quantidade de frames de voz consecutivos para determinar o inıcio de um

segmento de voz, LV , e o numero de frames sem voz consecutivos para determinar o final

de um segmento de voz, LS foram definidos empiricamente, e receberam os seguintes

valores:

LV = 5 frames

LS = 47 frames

Sendo assim, um segmento de voz so sera iniciado se houver registro de voz por

mais de 0.053 segundos, o que impede que pequenos ruıdos, como o bater da mao em um

microfone, sejam reconhecidos como um trecho de voz que foi iniciado. E um segmento

de voz so sera considerado como encerrado se houver silencio por mais de 0.5 segundos

consecutivos. Permitindo assim pequenas pausas entre as sılabas e ate mesmo entre

palavras, garantindo que a maioria das caracterısticas da voz do locutor sejam incluıdas

na analise do sistema.

5.4 MODULO PARAMETRIZADOR

Os dados retornados pelo modulo de entrada e saıda sao os segmentos de voz.

Estes segmentos sao enviados ao modulo parametrizador, o qual tem as seguintes funcoes:

• Realizar o windowing dos fragmentos de voz passados pelo modulo de entrada e

saıda.

• Calcular os coeficientes da Predicao Linear para cada janela de sinal.

• Enviar os coeficientes calculados para o modulo comparador.

5.4.1 Windowing

Assim que o modulo Parametrizador recebe os frames de segmentos de voz envi-

ados pelo modulo de Entrada e Saıda, e realizada a divisao desses segmentos em janelas.

Neste trabalho, cada janela e composta por 1440 amostras, e uma sobreposicao de 960

32

Page 40: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

amostras e realizada sobre as janelas adjacentes. Ou seja, com uma taxa de amostra-

gem de 48000Hz, uma janela em nosso sistema tem 30 milissegundos de sinal e cada

sobreposicao tem uma duracao de 20 milissegundos.

5.4.2 Calculo dos Coeficientes de Predicao Linear

Para cada janela de 30 milissegundos de sinal gerada, um vetor de coeficientes

de predicao linear e calculado. Para realizar este calculo, foi implementado o algoritmo

recursivo de Levinson-Durbin[9][3]. Como sabemos este algoritmo e capaz de retornar 3

tipos de coeficientes de predicao linear: Coeficientes da predicao linear puros, coeficientes

de reflexao e coeficiente LAR.

Dessa forma, o sistema e capaz de utilizar qualquer um desses tres tipos de coefi-

cientes para realizar a tarefa de reconhecimento de locutor. No capitulo 6 apresentaremos

os resultados de testes para cada um desses tipos de coeficientes, e tambem para diferentes

valores de ordem da predicao linear.

Terminado o calculo dos coeficientes, o vetor criado e entao passado ao modulo

Comparador, que ira concluir o processo de reconhecimento e ira gerar o resultado.

5.5 MODULO COMPARADOR

Chegamos ao ultimo modulo do sistema, o modulo comparador. Aqui sera proces-

sada a tomada de decisao, tanto para a verificacao, quanto para a identificacao de locutor.

Outra tarefa muito importante realizada por este modulo e a criacao e a manipulacao de

modelos.

5.5.1 Criacao de Modelos

Antes de realizar o processo de identificacao ou de verificacao de locutor, e ne-

cessario que o sistema seja executado no modo de treinamento, ou seja, em um modo em

que o objetivo seja a criacao dos modelos de voz de cada locutor.

Quando o sistema esta sendo executado no modo de treinamento, os modulos de

Entrada e Saıda e Parametrizador funcionam da mesma maneira, sem alteracao alguma,

o unico modulo que sofre mudanca no seu funcionamento e o modulo Comparador. Ao

33

Page 41: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

receber os vetores de features do modulo Parametrizador, o modulo Comparador ira exe-

cutar um algoritmo de quantizacao que ira retornar os vetores de features que melhor

representam os vetores extraıdos da analise da voz de cada locutor.

A tecnica de quantizacao utilizada pelo sistema e a vector quantization descrita

no capıtulo 4. Exitem varias propostas de implementacao para algoritmos de vector

quantization. A implementacao contida no sistema foi baseada no algoritmo conhecido

por LBG, descrito em [7].

O quadro a seguir mostra a organizacao de um arquivo de modelo utilizado pelo

sistema:

<NUMERO DE LOCUTORES>

<TAMANHO DO CODEBOOK> <NOME DO LOCUTOR> <FEATURE> <ORDEM>

<VALOR1> <VALOR2> ................ <VALOR ORDEM -1>

. . .

. . .

. . .

. . .

. . .

<VALOR1> <VALOR2> ................ <VALOR ORDEM -1>

O quadro a seguir demonstra um trecho de um arquivo de modelo utilizado em

um dos testes do sistema:

34

Page 42: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

17

64 Aaron LPC 5

-0.811847 0.217917 -0.247106 -0.345779 0.502136

-1.052371 0.317633 -0.308911 -0.301327 0.440607

-1.547446 0.917600 -0.477456 0.035604 0.179634

-1.633731 0.873410 -0.201429 -0.094439 0.149069

-1.394727 0.374604 0.151933 -0.116509 0.081577

-1.449139 0.523028 -0.005125 -0.056763 0.065776

-1.461144 0.681364 -0.156584 -0.066370 0.065097

-1.399876 0.784284 -0.309477 -0.010751 -0.002225

. . .

. . .

. . .

. . .

5.5.2 Tomada de decisao

Depois de gerar o modelo de voz para todos os locutores, o sistema esta pronto

para ser executado nos modos de identificacao ou de verificacao.

5.5.2.1 Identificacao de Locutor

O processo de identificacao tem como objetivo identificar dentre quais locutores

uma certa voz se aproxima mais. Ou seja, nenhuma identificacao previa do locutor e

informada e o sistema deve comparar as features retiradas da voz com os modelos de

todos os locutores, e eleger um como sendo o proprietario da voz testada.

5.5.2.2 Verificacao de Locutor

No modo de verificacao de locutor, o sistema recebe uma pre-identificacao do

locutor, no caso, o nome do locutor, e ira verificar se o locutor realmente e quem ele diz

ser.

35

Page 43: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

36

6 TESTES E RESULTADOS

Nesse capıtulo sao apresentados testes executados sobre o sistema e seus resulta-

dos. E apresentado tambem uma analise sobre esses resultados.

Foram realizados diferentes tipos de testes, tanto para a tarefa de verificacao de

locutor como para a tarefa de identificacao de locutor.

Nos testes de identificacao de locutor, o objetivo foi realizar uma variacao dos

parametros do sistema a fim de gerar a melhor combinacao empiricamente.

Nos testes de verificacao de locutor algumas alternativas de calculo de limiar

foram testadas e analisadas.

6.1 BASE DE TESTES

Foram usadas duas bases de testes durante a avaliacao do sistema. Uma delas

contendo 25 locutores (15 do sexo masculino e 10 do sexo feminino) e a outra contendo

50 locutores (31 do sexo masculino e 19 do sexo feminino).

Ambas as bases de testes foram criadas a partir de arquivos oferecidos pelo projeto

VoxForge1. VoxForge e um projeto que tem como objeto disponibilizar arquivos de audio

contendo voz e distribuı-los de uma forma gratuita e aberta ao publico. Todos os arquivos

contidos no projeto sao gravados por voluntarios por todo o mundo.

Os arquivos de voz utilizados para a criacao das bases de testes tem as seguintes

caracterısticas:

• Cada arquivo contem uma frase ditada pelo locutor na lıngua inglesa, porem, com

sotaques variados.

• Os arquivos tem duracao de no maximo 5 segundos.

• Taxa de amostragem de 48000 Hz.

• 16 bits de precisao em ponto flutuante.

Cada locutor presente na base de testes possui um conjunto total de dez frases

diferentes pronunciadas. Cinco utilizadas para a fase de treinamento do sistema, e as

1http://www.voxforge.org

Page 44: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

outras cinco utilizadas na fase de testes. Dessa forma podemos ter a certeza de que o

sistema e independente de texto.

6.2 TESTES DE IDENTIFICACAO DE LOCUTOR

Sao apresentados a seguir os testes realizados para a tarefa de identificacao de

locutor. Durante esses testes, os seguintes parametros do sistema foram avaliados e alte-

rados:

• Tipo de coeficiente utilizado

• Ordem da predicao linear

• Tamanho do modelo acustico

A seguir sao mostrados os resultados para cada um dos tres tipos de coeficientes

usados: Coeficientes da predicao linear, coeficientes de reflexao e coeficientes LAR. Apos,

uma comparacao entre os melhores resultados de cada coeficiente e apresentada.

Cada um dos tipos coeficientes foram testados com diferentes valores de ordem

de predicao e de tamanho de modelo acustico. Os valores de ordem de predicao variam

de 5 a 30 e para cada um desses valores os seguintes tamanhos de modelo acustico foram

utilizados: 8, 16, 32, 64, 128 e 256.

6.2.1 Coeficiente da predicao linear

Taxa de erro apresentada pelo coeficiente de predicao para cada tamanho de

modelo acustico:

37

Page 45: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.1: Resultados para a tarefa de identificacao de locutor usando coeficiente depredicao linear e diferentes tamanhos de modelos. Base de 25 locutores.

Figura 6.2: Resultados para a tarefa de identificacao de locutor usando coeficiente depredicao linear e diferentes tamanhos de modelos. Base de 50 locutores.

38

Page 46: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Analisando os graficos 6.1 e 6.2 e possıvel notar que com o aumento do tamanho

do modelo acustico temos uma grande reducao na taxa de erro. E, quanto ao aumento da

ordem de predicao notamos uma grande variacao nos resultados, sendo difıcil fazer uma

afirmacao segura.

As menores taxas de erro obtidas com a base de testes de 25 locutores, para cada

tamanho de modelo acustico com os coeficientes de predicao foram:

Tamanho do modelo acustico Ordem da predicao Taxa de erro8 15 65.69 %16 18 75.18 %32 22 56.93 %64 14 24.08 %128 17 6.56 %256 16 1.45 %

Tabela 6.1: Menores taxas de erros obtidas com o coeficiente de predicao, para a base detestes de 25 locutores.

E para a base de testes de 50 locutores, as menores taxas de erro foram:

Tamanho do modelo acustico Ordem da predicao Taxa de erro8 15 73.04 %16 18 71.63 %32 15 58.86 %64 14 36.52 %128 17 21.27 %256 17 6.73 %

Tabela 6.2: Menores taxas de erros obtidas com o coeficiente de predicao, para a base detestes de 50 locutores.

6.2.2 Coeficiente de reflexao

Taxa de erro apresentada pelo coeficiente de reflexao para cada tamanho de mo-

delo acustico:

39

Page 47: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.3: Resultados para a tarefa de identificacao de locutor usando coeficiente dereflexao e diferentes tamanhos de modelos. Base de 25 locutores.

Figura 6.4: Resultados para a tarefa de identificacao de locutor usando coeficiente dereflexao e diferentes tamanhos de modelos. Base de 50 locutores.

40

Page 48: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

O mesmo comportamento observado para os coeficientes de predicao pode ser

verificado com os coeficientes de reflexao. Quanto maior o tamanho do modelo acustico,

menor a taxa de erro.

Na figura 6.4 e possıvel perceber uma pequena tendencia de reducao da taxa de

erros com o aumento da ordem de predicao, porem o comportamento geral obtido com a

variacao da ordem de predicao ainda e instavel.

As menores taxas de erro obtidas com a base de testes de 25 locutores, para cada

tamanho de modelo acustico com os coeficientes de reflexao foram:

Tamanho do modelo acustico Ordem da predicao Taxa de erro8 5 76.64 %16 23 82.48 %32 10 66.42 %64 6 37.95 %128 10 16.78 %256 14 0.0 %

Tabela 6.3: Menores taxas de erros obtidas com o coeficiente de reflexao, para a base detestes de 25 locutores.

E para a base de testes de 50 locutores, as menores taxas de erro foram:

Tamanho do modelo acustico Ordem da predicao Taxa de erro8 5 86.52 %16 24 81.91 %32 8 73.40 %64 8 50.70 %128 21 25.88 %256 22 1.77 %

Tabela 6.4: Menores taxas de erros obtidas com o coeficiente de reflexao, para a base detestes de 50 locutores.

6.2.3 Coeficiente LAR

Taxa de erro apresentada pelo coeficiente LAR para cada tamanho de modelo

acustico:

41

Page 49: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.5: Resultados para a tarefa de identificacao de locutor usando coeficiente LARe diferentes tamanhos de modelos. Base de 25 locutores.

Figura 6.6: Resultados para a tarefa de identificacao de locutor usando coeficiente LARe diferentes tamanhos de modelos. Base de 50 locutores.

42

Page 50: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Novamente e possıvel constatar que o aumento do tamanho do modelo acustico

utilizado implica em uma reducao significativa da taxa de erros.

As menores taxas de erro obtidas com a base de testes de 25 locutores, para cada

tamanho de modelo acustico com os coeficientes LAR:

Tamanho do modelo acustico Ordem da predicao Taxa de erro8 5 81.75 %16 7 78.83 %32 11 73.72 %64 7 40.14 %128 14 18.97 %256 18 0.0 %

Tabela 6.5: Menores taxas de erros obtidas com o coeficiente LAR, para a base de testesde 25 locutores.

E para a base de testes de 50 locutores, as menores taxas de erro foram:

Tamanho do modelo acustico Ordem da predicao Taxa de erro8 14 87.58 %16 29 82.62 %32 27 76.59 %64 29 52.48 %128 26 26.95 %256 18 1.41 %

Tabela 6.6: Menores taxas de erros obtidas com o coeficiente LAR, para a base de testesde 50 locutores.

6.2.4 Comparacao entre os tipos de coeficientes

Nos graficos a seguir e apresentada uma comparacao entre as taxas de erros

obtidas com os diferentes coeficientes, para modelos de tamanho igual a 128 e 256:

43

Page 51: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.7: Comparacao entre coeficientes para a tarefa de identificacao de locutor usandotamanho de modelo igual a 128. Base de 25 locutores.

Figura 6.8: Comparacao entre coeficientes para a tarefa de identificacao de locutor usandotamanho de modelo igual a 256. Base de 25 locutores.

44

Page 52: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.9: Comparacao entre coeficientes para a tarefa de identificacao de locutor usandotamanho de modelo igual a 128. Base de 50 locutores.

Figura 6.10: Comparacao entre coeficientes para a tarefa de identificacao de locutorusando tamanho de modelo igual a 256. Base de 50 locutores.

45

Page 53: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

6.2.5 Analise dos resultados

De acordo com os experimentos executados e os resultados obtidos, e possıvel

perceber em todos os tipos de coeficientes usados, a medida que o tamanho do modelo

acustico aumenta, uma taxa de erro menor e obtida. O que pode ser explicado pelo fato

de que quanto maior um modelo, mais informacao pode ser armazenada, discriminando

melhor os locutores.

Quanto a variacao da ordem de predicao linear fica difıcil percebermos um padrao

mais claro. O que pode ser observado e o fato de que com um tamanho de modelo igual a

256 os melhores resultados foram obtidos com um valor de predicao entre 16 e 20. Dessa

forma, foi concluıdo que um bom valor de ordem de predicao a ser usado pelo sistema

seria o valor 18.

Na comparacao dos resultados obtidos pelos diferentes coeficientes, fica claro que

as menores taxas de erro foram alcancadas pelo coeficiente LAR, com o tamanho de

modelo igual a 256. Por esse motivo, a seguinte configuracao do sistema foi escolhida

para executar os demais experimentos:

• Coeficiente LAR

• Ordem da predicao linear igual a 18

• Tamanho de modelo acustico igual a 256

6.3 TESTES DE VERIFICACAO DE LOCUTOR

Para os experimentos de verificacao de locutor duas alternativas de calculo de

limiar foram usadas. A primeira tecnica e o uso de um limiar unico para todos os locutores.

E a segunda tecnica utilizada foi o calculo de um limiar diferente para cada locutor,

baseado nos scores obtidos durante a fase de treinamento.

A apresentacao dos resultados da tarefa de verificacao de locutor e baseada em

duas medidas muito utilizadas em sistemas de biometria: False acceptance rate - FAR

e False rejection rate - FRR. A medida de FAR indica a quantidade de falsos positivos

obtidos pelo sistema, ou seja, quantas verificacoes que os sistema deveria ter retornadas

como falsas, porem, foram declaradas verdadeiras. Ja a medida FRR obtem o valor oposto,

46

Page 54: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

a quantidade de falsos negativos, ou seja a quantidade de verificacoes que deveriam ser

declaradas como verdadeiras mas foram rejeitadas pelo sistema.

Os experimentos de verificacao foram executados apenas sobre a base de 25 lo-

cutores.

6.3.1 Resultados para limiar unico

A seguir sao apresentados os graficos FAR e FRR para cada limiar utilizado.

Figura 6.11: Taxas de FAR e FRR obtidos com limiar unico.

Uma outra forma interessante de analisar resultados de FAR e FRR e atraves da

curva ROC. Essa curva e obtida atraves relacao FARxFRR, e pode ser vista no grafico a

seguir.

47

Page 55: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.12: Relacao FARxFRR (ROC) obtidos com limiar unico.

De acordo com a figura 6.11 podemos perceber que as curvas de FAR e de FRR

se cruzam em um certo limiar, o qual foi considerado como melhor valor obtido para o

teste de limiar unico.

Limiar FAR FRR0.395327 8.75% 8.75%

Tabela 6.7: Melhor taxa de erro obtida com limiar unico.

6.3.2 Resultados para limiar diferente para cada locutor

O metodo de calculo de limiar utilizado neste experimento ocorre da seguinte

maneira: Durante a fase de treinamento do sistema, e executado a comparacao da voz

de todos os locutores entre si. Dessa forma, para cada locutor teremos os scores obtidos

sobre os testes executados da sua propria voz sobre seu proprio modelo, e tambem dos

testes executados das vozes dos demais locutores tambem sobre seu modelo.

A partir dessa lista de scores, o limiar para um locutor m e calculado da seguinte

maneira[2]:

48

Page 56: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Lm =σmXo + σoXm

σmσo

(6.1)

Onde σm e o desvio padrao dos scores obtidos pela analise do locutor m sobre

seu proprio modelo, e Xm e a media desses mesmos scores. Da mesma forma σo e Xo sao

respectivamente o desvio padrao e media dos scores das vozes dos demais locutores sobre

o modelo do locutor m.

Dessa forma, o limiar calculado para cada locutor carrega informacoes dos demais

locutores, podendo assim diminuir as taxas de FAR e FRR. Que neste caso, foram as

seguintes:

FAR FRR5.96% 5.13%

Tabela 6.8: Taxas de FAR e FRR obtidas com limiar individual.

6.3.3 Analise dos resultados

Os resultados obtidos atraves das diferentes formas de calculo de limiar mostram

claramente que o uso de um limiar igual para todos os locutores nao e a melhor alternativa.

O uso de um limiar calculado com base nos scores obtidos na comparacao de todos os

locutores entre si mostra resultados melhores.

Porem, os resultados poderiam ser ainda melhores. As figuras 6.13 e 6.14 apre-

sentam a analise de scores de dois locutores diferentes. Na figura 6.13 temos uma amostra

de um caso em que o calculo de limiar utilizado e o suficiente para que haja uma boa

reducao das taxas de FAR e FRR, pois todos os scores do proprio locutor estao abaixo

do seu limiar quando os scores obtidos atraves da voz de todos os demais locutores estao

acima do limiar. Diferente da figura 6.14 que apresenta um caso em que o limiar nao

calculado nao foi bom o suficiente para uma boa verificacao, pois ha casos em que o score

do proprio locutor e maior do que o limiar e varios outros casos em que o score dos demais

locutores se encontra abaixo do limiar. Alias, vale salientar que seria difıcil encontrar um

calculo de limiar capaz de melhorar os resultados do locutor apresentado na figura 6.14

pela grande variedade encontrada nos scores obtidos.

49

Page 57: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.13: Exemplo de bons scores obtidos por um modelo comparado com vozes detodos os locutores.

Figura 6.14: Exemplo de scores ruins obtidos por um modelo comparado com vozes detodos os locutores.

50

Page 58: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

6.4 OUTROS TESTES

Mais tres testes alem da identificacao e verificacao de locutor foram executados.

Um deles e uma analise do tempo de processamento do processo de identificacao, outro,

e a analise dos resultados sobre a base de dados com uma variacao na amplitude, e o

ultimo, e o teste sobre a base de dados com a taxa de amostragem alterada.

6.4.1 Analise do tempo de processamento

Considerando que o sistema trabalha em tempo real, ou seja, enquanto o locutor

esta pronunciando a sua frase, os dados dos frames recolhidos pelo microfone ja estao

sendo analisados. O objetivo dos testes de tempo de processamento foi observar latencia

do sistema. Latencia e o tempo que os sistema demora para retornar o resultado do

processamento. Foi analisado entao o tempo de processamento necessario pelo sistema

para retornar o resultado apos o locutor terminar de pronunciar a frase no microfone.

Um sistema ideal teria latencia igual a zero, possibilitando assim que a resposta

fosse retornada ao usuario no mesmo instante que ele terminasse de pronunciar a sua fala

no microfone.

Nos testes, foi analisado a taxa de crescimento da latencia em relacao ao aumento

do numero de janelas de sinal processadas, ou seja, em relacao ao aumento da duracao da

fala do locutor. O grafico 6.15 mostra essa relacao. O resultado obtido foi o seguinte:

Tamanho da base de testes Crescimento da Latencia por janela processada (em segundos)25 0.0011650 0.00472

Tabela 6.9: Taxa de aumento da latencia por janela de sinal processada.

A figura 6.15 apresenta um grafico com o crescimento estimado do tempo de

latencia do sistema para cada base de teste.

Os testes de tempo de processamento foram todos realizados em uma maquina

com as seguintes configuracoes:

• Processador AMD Athlon(tm) 64 3200 2GHz

• 1 GB de memoria RAM.

51

Page 59: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

Figura 6.15: Analise da latencia pelo numero de janelas de sinal analisadas.

6.4.2 Testes com alteracoes na amplitude da base

Foram realizadas alteracoes nas amplitudes dos sinais de audio da base de dados,

para simular diferentes comportamentos das pessoas ao pronunciar palavras no microfone,

como falar mais alto ou mais baixo do que quando feito a fase de treinamento do sistema.

Porem, essas alteracoes nao afetaram nem os resultados obtidos na identificacao

e nem na verificacao de locutores. Podemos dizer entao que o sistema e invariante a

intensidade da voz.

6.4.3 Testes com alteracao na taxa de amostragem

A grande instabilidade dos resultados apresentados para diferentes valores de

ordem da predicao foi recebida com uma certa surpresa. Uma serie de estudos [3][6]

mostram que o aumento do valor da ordem da predicao comumente leva a uma melhora

nos resultados do sistema.

Uma possıvel explicacao para a instabilidade encontrada e o fato de que os ar-

quivos de audio utilizados na base de testes tem uma taxa de amostragem considera alta,

52

Page 60: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

48000Hz. Dessa forma, para uma janela de sinal, que contem 30 milissegundos de audio,

1440 amostras de sinal sao utilizadas, o que pode ser considerado um numero alto de

amostra para serem analisadas pelo processo de predicao linear.

Para tentar amenizar este problema, um algoritmo de resampling foi implemen-

tado no sistema, possibilitando a diminuicao da taxa de amostragem do sinal analisado.

Porem os resultados obtidos foram muito piores do que os resultados obtidos com a taxa

de amostragem alta.

Foi concluıdo que, executando o resampling, detalhes importantes do sinal, como

caracterısticas da voz, sao perdidos, causando os resultados ruins.

A melhor solucao seria entao, adquirir os dados dos locutores ja com uma taxa

de amostragem menor, e nao diminuı-la apos o processo de aquisicao do som.

Pela falta de outras opcoes de bases de dados, com uma taxa de amostragem

menor, esses testes serao realizado apenas em trabalhos futuros.

53

Page 61: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

54

7 CONCLUSOES

Este trabalho apresentou uma metodologia para a implementacao de um sistema

capaz executar a tarefa de reconhecimento de locutor em tempo real. Isso auxilia diferentes

tipos de projetos ou situacoes que necessitem executar o processo de reconhecimento de

locutor em um fluxo de dados, sem se preocupar com tempo de processamento ou espaco

para armazenamento.

Apos pesquisas e testes realizados, o sistema foi capaz de reconhecer locutores

com uma boa margem de acerto e com uma velocidade aceitavel para bases de testes com

um tamanho reduzido.

Uma lista de sugestoes para trabalhos futuros e apresentada a seguir:

• Executar testes com bases de dados que contenham uma taxa de amostragem menor.

Isso pode aumentar sensivelmente tanto a velocidade do sistema quanto a taxa de

acertos.

• Realizar mudancas no sistema para que seja possıvel executar a tarefa de reconhe-

cimento de locutor em ambientes ruidosos, que se aproximam mais de ambientes

reais.

• Adicionar um algoritmo de reducao de ruıdo em tempo real ao sistema.

• Realizar testes com uma base de dados composta por falas no idioma portugues

brasileiro.

Para finalizar, os resultados obtidos pelo sistema, superaram as expectativas do

autor pois, mesmo com uma base de testes com variacoes na qualidade e na forma dos

sinais, a porcentagem de acertos obtidas foi relativamente grande em alguns testes; E um

bom tempo de processamento foi atingido.

Page 62: RECONHECIMENTO AUTOMATICO DE LOCUTOR EM TEMPO REAL E INDEPENDENTE DE TEXTO · 2010. 9. 4. · EM TEMPO REAL E INDEPENDENTE DE TEXTO Monogra a apresentada ao Curso de Ci^encia da Computa˘c~ao,

55

REFERENCIAS BIBLIOGRAFICAS

[1] Andrade, A. O. e Soares, A. B. Tecnicas de janelamento de sinais. Universidade

Federal de Uberlandia - Faculdade de Engenharia Eletrica.

[2] Bimbot, F., Bonastre, J., Fredouille, C., Gravier, G., Magrin-

Chagnolleau, I., Meignier, S., Merlin, T., Petrovska-Delacretaz, D.,

Reynolds, D. A. e Ortega-Garcıa, J. A tutorial on text-independent speaker

verification. EURASIP Journal, 4 (2004), 430–451.

[3] Campbell, J. P. Speaker recognition: A tutorial. Proceedings of the IEEE 85, 9

(sep 1997), 1437–1462.

[4] Data-compression.com. Vector Quantization. http://www.data-compression.

com/vq.shtml, 2008. Acessado em 19 de Novembro.

[5] Jain, A. K., Ross, A. e Prabhakar, S. An introduction to biometric recognition.

IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNO-

LOGY 14, 1 (Jan 2004).

[6] Kinnunen, T. Spectral features for automatic text-independent speaker recognition.

University of Joensuu Department of Computer Science P.O. Box 111, FIN-80101

Joensuu, Finland, Dec. 2003.

[7] Linde, Y., Buzo, A. e Gray, R. An algorithm for vector quantizer design. IEEE

Transactions on Communications 28, 1 (Jan 1980), 84–95.

[8] Makhoul, J. Linear prediction: A tutorial review. Proceedings of the IEEE 63, 4

(apr 1975), 561–580.

[9] Rabiner, L. e Juang, B.-H. Fundamentals of Speech Recognition. Prentice Hall,

Englewood Cliffs, New Jersey, 1993.

[10] Soong, F. K., Rosenberg, A. E., Rabiner, L. R. e Juang, B. H. A vector

quantization approach to speaker recognition. AT&T Bell Laboratories .

[11] Wikipedia. Autocorrelation. http://en.wikipedia.org/wiki/Autocorrelation,

2008. Acessado em 19 de Novembro.

[12] Wikipedia. Biometria. http://pt.wikipedia.org/wiki/Biometria, 2008. Aces-

sado em 19 de Novembro.