estudo do reconhecimento de voz para o acionamento de ...tede.udesc.br/bitstream/tede/1878/1/adriano...

119
Formação: Mestrado em Automação Industrial Adriano de Andrade Bresolin Estudo do Reconhecimento de Voz para o Acionamento de Equipamentos Elétricos via Comandos em Português Apresentada em 01 / 08 / 2003, perante a banca examinadora

Upload: others

Post on 18-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

����������������������� ���������

������� ��� ���� ������ �� �

�������������������������� ����

�����������������������������������������

Formação: Mestrado em Automação Industrial

���������������������������

Adriano de Andrade Bresolin

Estudo do Reconhecimento de Voz para o

Acionamento de Equipamentos Elétricos via

Comandos em Português

Apresentada em 01 / 08 / 2003, perante a banca examinadora

����������� !"#���� $ %"& ��'(����������������� �������

�������� ��%�)'�*%"�$��"�+���&,��������

� � ��������%&"#+�+����+�-.#"������� �������

� � ��������-�)*+ �%"/ "������ �������

Page 2: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

����������������������� ���������

������� ��� ���� ������ �� �

�������������������������� ����

�����������������������������������������

�������������������

������� !"������������#����������$��%�&�!�'���&(&���

��&���� !��"��!)�*���*����������+��� ����,� �-����

Estudo do Reconhecimento de Voz para o

Acionamento de Equipamentos Elétricos via

Comandos em Português

DISSERTAÇÃO APRESENTADA COMO REQUISITO À OBTENÇÃO DO TÍTULO DE MESTRE EM AUTOMAÇÃO INDUSTRIAL, DA UNIVERSIDADE DO ESTADO DE SANTA CATARINA, CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT, ORIENTADA PELA PROFESSORA DRA. REGINA MARIA DE FELICE SOUZA.

Joinville, 01 de Agosto de 2003

Page 3: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

�����������������

� �°°°°������������������������������

Estudo do Reconhecimento de Voz para o

Acionamento de Equipamentos Elétricos via

Comandos em Português �

Dissertação aprovada como requisito parcial à obtenção do grau de Mestre em

Automação Industrial, do Curso de Pós-Graduação em Automação Industrial do

Centro de Ciências Tecnológicas da Universidade do Estado de Santa Catarina, pela

seguinte banca examinadora:

Orientadora: Profa. Dra. Regina M. De Felice Souza

Departamento de Engenharia Elétrica – CCT/UDESC

Prof. Dr. Alcindo do Prado Júnior Departamento de Engenharia Elétrica – CCT/UDESC

Prof. Dr. Carlos Aurélio Faria da Rocha Departamento de Engenharia Elétrica - UFSC

Joinville, 01 de Agosto de 2003

Page 4: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

Agradecimentos,

Sozinho não se chega a lugar algum!

É com este pensamento que agradeço a todos aqueles que, de uma maneira ou de

outra, colaboraram para a conclusão deste trabalho.

Primeiramente agradeço a Deus pela vida.

Agradeço à minha família, em especial à minha esposa Elisabeti pela compreensão

nos momentos em que não estive presente. Aos meus pais, Armindo e Delci Bresolin, pelo

incentivo que sempre me deram a seguir em busca da educação. Aos familiares de minha

esposa: seus pais, Sr. Agenor e Sra. Ermelinda Larsen e sua irmã Magali Larsen, que

durante o período de estudos me receberam em sua casa com dedicação, atenção e

desprendimento.

Agradeço também ao colega de curso e amigo Eng° Fabrício Novelleto, que foi um

companheiro de trabalho na graduação e nesta pós-graduação

Por fim, agradeço a todos os professores que ministraram aulas no curso de

Mestrado e em especial à Dra. Regina Maria De Felice Souza que acreditou neste projeto

como orientadora.

Page 5: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

SUMÁRIO

��������������� � �����

����������������� � ��

������� � ���

��������� � ����

���������������������������������������������������������������������������������������������������������������������������������������������������������� ��

� ���������������� ��!"�#"���!"$��!���$�"�#���"%� � &��

� '�����$���#��!�(��$���#�#��#"���!"$��!���$�"�#���"%� � &)�

���������������������������������������������������������������������������������������������������������������������� ��

' ���"#��"��*��!"�#�������������#����!"$��!���$�"�#���"%� � &+�

' '����(�"����,-"��!.���!"/"$0��!�� � &1�

' )����(�"����,-"�("����!"$��!���$�"�#��(�#�2��� � &3�

' 4����(�"����,-"�("���$����56$!��������!����7��8�� � �&�

����������������������������������������������������������������������������������������������������������

) ��(�"#�,-"9�(��!�(,-"�#������ � �'�

) '�"��(�����"��"!�������$"� � �4�

) )���(����$��,-"�#������$"��#"�:$�"��#"����("���#����;<6$!��� � �=�

) 4�����!���!���:���!���#"���"$��#������ � �>�

) + "$"�"5�����"$���� � '&�

) + ���?���������@?���(��������� �''�

) + '�!�����A���BC�������?���������@?���(������������������� � '4�

) + )���������� � '4� �

) + 4��������D������ � '+�

) + +����!�?���?����� � '=�

) =�"��"#��"�#"�"���#"�����$"� � '1�

) 1���$*������$��� � '3�

������������������������������������������������������������������������������������������������������������ ���

4 ����:��!��#"���"$�� � '>�

�� � 4 � �����!�������@�������A�����E������������ � )&�

4 '�"���������#���;����,-"�#��#�#"�� � )��

4 )�"����#F����#���;����,-"�#��#�#"�� � ))�

4 4�"����$�"���� � )4�

Page 6: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

4 +�"�!"$#�!�"$���$�"�#����$��� � )=�

4 =�"�!"�(���#"�� � )=�

4 1�"��"�F���� � )1�

4 3�����;����,-"�#��#�#"���$�� 5�!"�� � )3�

4 3 ��������������� � )3�

4 3 '���;��?��G�BC�� � )>�

4 3 )�(�����C�����H����C�� � )>�

4 3 4�"��?�����B���?��� � 4��

4 3 +����?�A��I?����������������JK���L���M�N���������E��� �4��

4 >���:#"� � 4'�

�������������������������������� ���!�����������������������������������������������������������������������������������������

+ ������0�����#��"������ � 44�

+ '������$�"���#��!"$�:$���#��"������� � 41�

+ )������$�"���#��#��!�����#��"������7#�8� � 41�

+ 4������$�"���#���*(�#��#��"������7�8� �41�

+ 4 �����"(���,-"�J�������OM� �43�

"��#�������������������������������������������������������������������������������������������������������������������������������������������������� ���

= ���"#��"��#���$*�������(�!����� � +)�

= '�"��"#��"�#"���$!"�#������"�� � ++�

= )���("��#����$!"��#������"�����#"��$"���!"$��!���$�"�#���"%�� � +=�

= 4���(����$��,-"�#�������$!"�#������"�� � +3�

= +�!"$��#���,2�����"����"���"�#"����$!"��#������"�� ��+>�

$�������%&�������'���������������������������������������������������������������������������������������������������������������������������������������� "��

1 �������$�"���#��JF������M�� � =��

1 '�����$*�����#�����������"��,-"��7���8�(�����.���(�"��$:����� � =+�

(�����������������������������������#�"� �����������������������������������������������������������������������������������"$�

3 ����"������$���#��(�"5����,-"�#"�������� � =3�

3 '�����������$����#��(�"5����,-"�#"�������� �1&�

������������������������������������%������������������������������������������������������������������������������ $��

> �����;����,-"�#�������$���#���"�� � 1=�

> � ��"������A�?�����P��������P����BC��������� � 1=�

> � '���(�����������������G���� �� 13�

Page 7: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

> � )����P����BC���������?�������� �� 1>�

> '����������5���#"���$���$"������� � 3'�

> ' ��(��N������������A�����������G���� �� 3'�

> )���"�!*�!��"�#����$"������� �� 3)�

> 4���5����,-"�#��������"�����#���"�� �� 34�

> +�����!"$��!���$�"�#���"%������0��#��(�#�2���#����!"$��!���$�" �� 3+�

> + �������?��A���BC�������?���7����?K�����?��8� �� 3=�

> + '�����������HN�����?��������!������BC�� �� 3=�

> + )���D������G�BC������������������������?K�����?��������G� �� 31�

> =��������$�"���#��F������� �� 33�

> 1���!�"$���$�"�#���;��(���$�"����0���!"������!"�(���#"��� �� 33�

> 1 ��!�������������Q?�����������?���?���� �� 3>�

� ���)���������*���������������+������������+�������������������������������������������������

� � � �& ����(�����$�"��#����!"$��!���$�"�#��(�������� �� >��

�& � ����������������?K�����?��������� �� >��

�& � '���������������?K�����?��������9�#�?���������N���������F�D������ �� >+�

�& � )�"���N��������������(���D����� �� >=�

�& '���(�����$�"��#���!�"$���$�"�& � >3�

�& ' ���"����Q�RK�N���� � >>�

�& ' '�"��!���?����?���������N���������Q�RK�N���� ����&&�

�& ' )��"��������������"������� ����&��

������������������������������������������������������������������������������������������������������������������������������������������������������������ ��

���������,������#�#���-��������������������������������������������������������������������������������������������������������������������� ��

Page 8: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

VIII

���������������

�������������� ��������� �������� ���� � ���� ��� ����� ���������������������������������������������������������������������� ���

����� �������� ��������������� ���� � ���� ��� ����� ������������������������������������������������������������������ ���

�� ����������� ��������������� ���� �� ���� ��� ����� �!��" ����������������������������������������������������������������� �#�

��$����������� ����������� ������������� ���� � �� ���� ����������������� ������������������������������������� ���

����������� �%� �&��������!�� �������!���'(�� �! � !'(���������������������������������������������������������������������

����)�� �������!���'(�� �! � !'(���������� �� ������� �!���������������������������������������������������������������������� � �

� ��*�����+�����!� ���������������������������������������������������������������������������������������������������������������������������������$�

�$��������� �%� �&���������!� ������������������������������������������������������������������������������������������������������� ���

����,�%� ������!� ������� ��������������-�������!���'(������������������������������������������������������������������������ �.�

�.��/������ ��������� 0! ��(���12�3��4�� 56�������7�������� �!������������������������������������������������������������������ ���

����,�! �������� ���!����� ���������������������������������������������������������������������������������������������������������������������� �#�

�8��9�� ������:������;��������������������������������������������������������������������������������������������������������������������������������� ���

$����:�9�� ���������� ���� �<%����'(��� ������������������������������������������������������������������������������������������������������ ��

$����)������ �1���=� 5�� �������� ���� �<%����'(��� ������������������������������������������������������������������������������� $�

$� ��>������ �������� ��;�����������!�����%����������� � ������������������������������������������������������������������������� $��

�����<�:! �'(��1?��� ��@5����������������������������������������������������������������������������������������������������������������������������������������

�����A������:! �'(��1?��� ��@5�!������!��������//4�� �8�!�������������������������������������������������������������������� ���

�����B��!��'(�������� ��� �9����!����'" �� %� �����! ����&�������� ��� �! ���//4���������������������������������� ���

.�����C�D�<!�0���'(��!��* ���� ��� ����� �)��" ��C�D�<!�0���'(�������������������������������������������������� �$�

.�����9�� ���� ���&��� �� ����?������ �/�������������������������������������������������������������������������������������������������������� �$�

.� ���9�� ���� ���&��� �E)B��������������������������������������������������������������������������������������������������������������������������������� ���

.�$���9�� ����������������� ����?������ �/��������������������������������������������������������������������������������������������������� �.�

.����C�D��� ���C�D� ����* �!������� ����������� ��������� �F�G��������������� �����

��������� ��������0��� �� %HI������ ��/�JKCLD�����C/�JKDCFM�L�D��������������������������������������������������������������������������� ���

.�.��,�! ������'(��!������?������ �/������� ���� �$��������� �������������������������������������������������������������������8�

�����:����> ������� �N�� � ����!��������������������������������������������������������������������������������������������������������������������� .��

������ ���!���'(��� ����������%���%� � ���������� ������������������������������������������������������������������������������������ .

�� ��� ���!���'(��� ����������%���%� � ���������� ���� �� �� ������ �!���'" ������������������������������������������� . �

Page 9: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

IX

��$���K7� ����� ������ ���!���'(��� ����������! ����N�� � ����������������������������������������������������������������������������.$�

������,0 �!������'(������ ���!���'(��� ����������! ����4����������N�� � ��K7� �������������������������������������� .��

��.���� ���!���'(��!���9����!�����7� �������N�� � ���������������������������������������������������������������������������������������� .��

8����O�� ���� �B����������9<4E<?����������������������������������������������������������������������������������������������������������������� .8�

8����P ��� �9 �-������9<4E<?���������������������������������������������������������������������������������������������������������������������� .#�

8� ��4 ������!� ���������� �� �� �� � ������� �������9<4E<?�������������������������������������������������������������������������

8�$��O�� ���1E������)��5����9<4E<?���������������������������������������������������������������������������������������������������������������� ���

#��� 4 ������)�������������.���������������������������������������������������������������������������������������������������������������������������� �$�

#����O�� ���� �B�������������� ��� ������������������������������������������������������������������������������������������������������������� ���

#� ��O�� ���� �Q �����'(��������������������������� ���� ������” ������������������������������������������������������������������ �.�

#�$��R&���������������� ����6�//4� �� ������ �,�! ����� ���?����!������� ���”����������������������������������������� 8��

#����R&��������� �!��������������)�����?��0�6���!����������������� ��� ���S�������������������������������������������� 8��

#�.���)�� ����4 ���������� ���� �������� �!���&� ��! ������'(��� ���������� �������������������������������������8��

#�����?��(��%� � 0 �������* ���� ��� ����� �Q�� ������������������������������������������������������������������������������������������� 8.�

#�8���)�� ����T�� ���� �B�������������� ��� �������%� � 0�� ���� ������������* ���� ��� ����� �Q������� 8��

#�#���)��������!����!��� ���� ����B��!������)B�������������������������������������������������������������������������������������������� 8#�

#������B�������� �������� ���� ������������������������������������������������������������������������������������������������������������������������#��

�������R&��������� �� �� �* ���� ��� ������� �� ������� ��'(�����//4������������������������������������������������������#��

�������B��!��'(��&���������!�������1�I�5� �1� ��5�C�����6�//4� �� ������ �,�! ����D�������������������������������� #$�

��� ���B��!��'(��&���������!�������1�I�5� �1� ��5�CN�� � ��D�����������������������������������������������������������������������#$�

���$���R&��������� �� �� �* ���� ��� ������������� ��'" ������//46�� ������ �,�! ����� �N�� � ���������#��

�������R&��������� �� �� �* ���� ��� �������� ��� ��� �����������������������������������������������������������������������������#��

���.���>�������������� �,�! ����������!������1,�%� ��5�������������������������������������������������������������������������� #��

�������>�������������� �,�! ����������!������1�� ���5������������������������������������������������������������������������������� #8�

���8���*��U�V� ! ���������������������������������������������������������������������������������������������������������������������������������������������� ##�

Page 10: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

X

�����������������

4�� ��� �����E������ ��7���������������������7����2�� ���<� ��������������������������������������������������������������������� ���

4�� ��� �����E������ ��7���������������������� ��������E7����)���� ������?������������������������������������������ ���

4�� ��� � ���E������ ��7����������������������������� �����E7����)���� ������?������������������������������������� � �

4�� ��� �$���E������ ��7������������������������������E7����)���� ������?��������������������������������������������� �$�

4�� ��� �����B���������'(���������������E7����)���� ������?������������������������������������������������������������������� ���

4�� ���$�����<��2�� ������ ������������������������� �� �������������������������������������������������������������������������������� ��

4�� ��������> %HI������ �* ��� ��'(������������ ��� �� � ���������������������������������������������������������������������� ���

Page 11: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

XI

�������

O mundo globalizado vem derrubando barreiras através da informação. Iniciou-se

pelas barreiras comercial e econômica, e num futuro não muito distante poderão ser

derrubadas as barreiras dos idiomas, ou seja, pessoas falando em idiomas diferentes,

comunicando-se através de equipamentos digitais preparados para traduzir instantaneamente

as diferentes expressões lingüísticas pronunciadas pelos mesmos. Esse é o horizonte a ser

alcançado pelo reconhecimento de voz.

Nesse novo universo não haveria mais a barreira lingüística entre as pessoas,

facilitando a comunicação e os negócios, simplificando o comando de máquinas no ambiente

industrial e, acima de tudo melhorando a vida do ser humano como um todo. Além disso, esta

ferramenta facilitaria a vida de deficientes físicos, à medida que, com o comando de voz os

mesmos teriam acesso a uma infinidade de serviços e empregos, podendo assim ajudar a

derrubar a barreira do preconceito.

Este estudo procura pesquisar, descrever e aplicar os conceitos e a teoria envolvida no

processo do reconhecimento de voz, deste a aquisição até o reconhecimento do sinal da fala.

A meta é desenvolver um sistema que seja capaz de comandar um equipamento elétrico

qualquer através de comandos de voz.

O objetivo desta dissertação é dar um pequeno passo a mais na concretização de um

processo que fez parte dos filmes de ficção cientifica nos anos 70 e 80 e pode tornar-se

realidade no inicio do século XXI, “o reconhecimento de voz pelas máquinas”.

Page 12: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

XII

���������

The global world is dropping barriers through the information, began for the

commercial and economical barrier, and in a future not very distant we can drop the barriers

of the languages, in other words, people speaking in different languages, communicating

through prepared digital equipments to translate the different pronounced linguistic

expressions instantly for the same ones. This is the horizon to be reached by the voice

recognition.

In this new universe there would not be more the linguistic barrier among all the

people, facilitating the communication and the businesses, simplifying the command of the

industrial machines and above all, improving the human being life as a completely. Besides,

this tool can facilitate the life of deficient physical. The voice command can have access the

infinity of services and employments could help like this to drop the barrier of the prejudice.

This study seeks to research, to describe and to apply the concepts and the theory

involved in the process of the voice recognition, of this the acquisition to the recognition of

the speech signal. The goal is to develop a system that is capable to command any electric

equipment through voice commands.

The objective of this dissertation is to give a litte step more the in the materialization

of a process that was part of the science fiction films in the years 70 and 80 and it can become

reality in the begin of the century XXI, "The Speech Recognition by Machines ”.

Page 13: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

���������

O reconhecimento automático da voz por máquinas tem sido a meta de

pesquisadores por mais de quatro décadas e tem inspirado maravilhas da ficção científica

tais, como o computador HAL de Stanley Kubrick no famoso filme 2001-Uma Odisséia

no Espaço e o robô R2D2 de George Lucas no clássico filme Guerra nas Estrelas.

Entretanto, apesar do glamour das máquinas inteligentes que podem reconhecer as

palavras faladas e compreender seu significado, e apesar dos enormes esforços e gastos em

pesquisas tentando criar tal máquina, nós estamos longe de realizar a desejada meta de uma

máquina poder entender um discurso falado de uma pessoa qualquer dentro de um universo

de vários falantes e vários ambientes.

��� � ������������������������� ���������

Pesquisas sobre o reconhecimento automático da voz têm sido feitas por mais de

quatro décadas. A primeira tentativa de arquitetar sistemas de reconhecimento automático

de voz pela máquina remonta aos anos 50, quando vários pesquisadores tentaram explorar

as idéias fundamentais da acústica e da fonética.

Em 1952, nos laboratórios da Bell, Davis, Biddulph e Balashek construíram um

sistema para reconhecimento de um dígito isolado falado por uma pessoa [1].

Em um esforço independente nos RCA Laboratories, Olson e Belar, tentaram

reconhecer 10 sílabas diferentes faladas por uma pessoa [2].

No final da década de 50 Fry e Denis, pesquisadores da University College of

England, tentaram construir um reconhecedor de fonemas para reconhecer quatro vogais e

nove consoantes. Eles usaram um analisador de espectro e uma combinação de padrões

para fazer a decisão do reconhecimento. O novo aspecto neste reconhecimento era o uso de

informação estatística [3]. Outro esforço notável neste período foi o reconhecedor de

vogais Forgie & Forgie, construído no MIT Lincoln Laboratories em 1959. Novamente

um analisador de banco de filtros foi usado para prover a informação espectral [4].

Na década de 60, os laboratórios japoneses entraram na arena do reconhecimento

de voz. O primeiro sistema japonês foi descrito por Suzuki e Nakata do Laboratório de

pesquisas de Tóquio. Era um reconhecedor de vogais [5].

Page 14: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

2

Outro esforço japonês na construção de um sistema de reconhecimento de voz foi o

trabalho de Sakai e Doshita, da Kyoto University, em 1962, os quais construíram um

reconhecedor de fonemas que usava a análise de passagem por zero para fazer o

reconhecimento de voz [6].

O terceiro esforço japonês foi o reconhecedor de dígitos de Nagata e seus colegas

de trabalho, nos Laboratórios da NEC em 1963 [7]. Este trabalho foi talvez a mais notável

tentativa no reconhecimento de voz da NEC, a qual iniciou um longo e altamente

produtivo programa de pesquisas.

Na década de 60, três projetos de pesquisa chaves foram iniciados, os quais tiveram

uma grande implicação nas pesquisas desenvolvidas no reconhecimento de voz nos 20

anos seguintes. O primeiro foi a pesquisa de Martin e seus colegas dos Laboratórios RCA

no final dos anos 60 [8]. Martin desenvolveu um conjunto de métodos elementares de

normalização no tempo, baseado na habilidade de detectar o início e o fim da fala. Quase

ao mesmo tempo, na União Soviética, Vintsyukn propôs o uso de métodos de

programação dinâmica por alinhamento no tempo [9]. Um êxito no final dos anos 60 foi a

pesquisa pioneira de Reddyn no campo do reconhecimento da fala contínua através de

fonemas dinâmicos [10]. As pesquisas de Reddyn produziram o longo sucesso do

programa de pesquisas do reconhecimento de voz da Carnegie Mellon University, a qual

permanece nos dias de hoje como líder mundial em sistemas de reconhecimento de voz.

Na década de 70, as pesquisas de reconhecimento de voz tiveram um significante

avanço. Primeiro a área de reconhecimento de palavras isoladas ou expressões discretas

tornou-se viável com tecnologia baseada nos fundamentos estudados por Velichko e

Zagoruyko na Rússia [11], Sakoe e Chiba no Japão [12], e Itakura nos Estados Unidos

[13]. Os russos estudaram o uso de padrões de reconhecimento. Os japoneses pesquisaram

como métodos de programação dinâmica podiam ser usadas com sucesso. A pesquisa de

Itakura apresentou idéias como o LPC (linear predictive coding).

Finalmente os laboratórios AT&T e Bell, iniciaram uma série de pesquisas visando

fazer um sistema de reconhecimento de voz que entenda uma pessoa falando.

Ao contrário dos anos 70, onde a meta era reconhecer uma palavra independente,

nos anos 80 a meta era reconhecer a fala fluente de frases. Inclui-se nestas pesquisas a de

Sakoe da NEC (Nippon Eletric Corporation) [14].

As pesquisas nos anos 80 foram caracterizadas pelas aproximações estatísticas,

especialmente o modelo de Hidden Markov [15].

Page 15: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

3

Outra idéia introduzida nos anos 80 foi a aplicação de redes neurais em problemas

de reconhecimento de voz [16].

Nos anos 90 as pesquisas continuaram com a busca de um sistema de

reconhecimento de voz contínuo. Um exemplo destes sistemas é o DARPA (Defense

Advance Research Projetcs Agency), o qual visava reconhecer continuadamente e sem

erros palavras dentro de um arquivo de 1000 palavras.

Existem nos dias de hoje várias empresas que comercializam sistemas de

reconhecimento de voz. Apesar de nenhum possuir a capacidade de entender 100% das

palavras pronunciadas corretamente, dois sistemas destacam-se pelo alto padrão de

reconhecimento: O sistema Via Voice da IBM e o sistema Voice da Dragon System.

������������������������������������ ���������

Um dos mais difíceis aspectos do desenvolvimento das pesquisas no

reconhecimento da voz pela máquina é a sua interdisciplinaridade natural. As áreas de

conhecimento necessárias à implementação de sistemas de reconhecimentos de voz são:

A) Processamento de Sinais: é o processo de extração de informações relevantes

do sinal da fala de uma maneira eficiente e robusta, através da aquisição de dados.

Incluindo no processamento de sinais, está a análise espectral usada para

caracterizar as propriedades variantes no tempo do sinal da voz, bem como os

vários tipos de pré-processamento e pós-processamento do sinal.

B) Aspectos Físicos (acústica): é a ciência que relaciona os sinais físicos e os

mecanismos fisiológicos que produzem a fala (o mecanismo vocal do ser humano)

e os que percebem a voz (o mecanismo de audição do ser humano).

C) Padrões de Reconhecimento: é o conjunto de algoritmos usados para agrupar

dados e criar um ou mais padrões de um conjunto de dados. Estes padrões podem

ser posteriormente comparados com um sinal qualquer para efeito de

reconhecimento.

D) Análise de Padrões: é o conjunto de procedimentos para estimação de

parâmetros de modelos estatísticos.

E) Lingüística: São as relações entre os sons (fonologia), palavras de uma

linguagem (sintaxe), significado das palavras faladas (semântica) e o sentido

Page 16: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

4

derivado do significado (pragmático). Incluídos nesta disciplina estão a

metodologia da gramática e a análise da linguagem.

F) Fisiologia: Entendimento dos mecanismos do sistema nervoso central do ser

humano incluindo a produção e percepção da fala. Muitas técnicas modernas

tentam implementar este tipo de conhecimento, como o sistema de redes neurais

artificiais.

G) Ciências da Computação: o estudo de eficientes algoritmos para implementar,

no software e no hardware, os vários métodos usados num sistema de

reconhecimento de voz prático.

O sucesso de sistemas de reconhecimento de voz requer o conhecimento e perícia

de um largo campo de disciplinas. No entanto, não é preciso ser um “expert” em todas

estas áreas, mais sim ter conhecimento de todas e as suas implicações.

O objetivo deste trabalho é desenvolver um sistema de reconhecimento de voz

totalmente em português, que seja capaz de acionar um equipamento elétrico, via

microcomputador, com confiabilidade e rapidez.

Page 17: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

5

��������������� ��� ������������

Como descrito no capitulo 1, um sistema de reconhecimento de voz possui a

característica da interdisciplinaridade. Com o objetivo de simplificar o entendimento deste

sistema complexo, este capítulo apresenta, além do modelo básico de um sistema de

reconhecimento de voz, as suas três principais aproximações.

������������� ������������������ ��� ������������

A figura 2.1 apresenta um modelo geral para o reconhecimento de voz. Neste

modelo o usuário pronuncia uma palavra (sinal de voz) que passa pelo sistema de

reconhecimento onde modelos pré-gravados são testados com o sinal pronunciado. Uma

vez encontrados padrões iguais aos gravados o sistema passa pela dinâmica do

reconhecimento onde a sintaxe, a semântica e o sentido da palavra são analisados e

retorna-se novamente aos modelos gravados para o processamento final e a saída em forma

de som (palavra traduzida) ou outra forma qualquer de entendimento do usuário final.

Figura 2.1: Diagrama de blocos de um sistema de Reconhecimento de Voz.

Um sistema completo de reconhecimento de voz por máquinas envolve diversos

princípios, conforme a aproximação escolhida para efetuar o reconhecimento.

Page 18: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

6

Dentre os diversos sistemas desenvolvidos nas últimas décadas, três aproximações

destacam-se no reconhecimento automático da fala por máquinas. O objetivo aqui é prover

um entendimento essencial de cada método, bem como os pontos fortes e fracos de cada

aproximação.

Genericamente existem três aproximações para o reconhecimento automático da

fala, os quais são:

- Aproximação Acústico-fonética.

- Aproximação por Reconhecimento de Padrões.

- Aproximação por Inteligência Artificial.

A aproximação acústico-fonética (The acoustic-phonetic approach) é baseada na

teoria e postulados da fonética. As distintas unidades fonéticas da linguagem falada

geralmente são caracterizadas por um conjunto de propriedades que se manifestam no sinal

da fala, ou em seu espectro de frequência. O primeiro passo da aproximação acústico-

fonética envolve a segmentação do sinal de voz em regiões discretas no tempo, onde as

propriedades acústicas do sinal são representadas por uma (ou possivelmente diversas)

unidade fonética (ou classes). Em seguida são nomeados um ou mais rótulos fonéticos para

cada região segmentada. O segundo passo é a tentativa de validar a “palavra” na

seqüência de rótulos fonéticos obtidos no primeiro passo.

A aproximação por reconhecimento de padrões (The pattern recognition

approach) é basicamente uma aproximação na qual padrões de fala são usados

diretamente sem explicitar seu significado. Esse método de aproximação possui dois

passos: Treinamento de padrões de fala e o Reconhecimento dos padrões via

comparação. O tipo de caracterização da fala via treinamento é chamado de classificação

padrão porque a máquina aprende qual propriedade acústica da classe da fala é confiável e

repetível A utilidade deste método está na comparação direta de um sinal de fala

desconhecido com um sinal aprendido na fase de treinamento. A aproximação por

reconhecimento de padrões é o método mais utilizado nos sistemas de reconhecimento de

voz. A escolha deste método se faz pelas seguintes razões:

- Simplicidade de uso. É um método fácil de entender e rico em justificativas,

tanto na teoria matemática, quanto na teoria da comunicação.

- Robusto e invariável para diferentes vocabulários, usuários, conjunto de

características, algoritmos e regras de decisão.

- Demonstra alto desempenho.

Page 19: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

7

A chamada aproximação por IA-Inteligência Artificial (The artificial intelligence

approach), é uma aproximação híbrida das anteriores, e explora as idéias e os conceitos de

ambos os métodos. A inteligência artificial tenta mecanizar o procedimento de

reconhecimento de voz através da visualização e análise do sistema e finalmente fazendo a

decisão das características acústicas medidas. O conceito principal da inteligência artificial

está em estar aprendendo o tempo todo e se adaptando. A IA utiliza redes neurais para

aprender as relações entre os eventos fonéticos (acústica, sintaxe, semântica) e o sinal

medido, bem como para discriminação de classes de sons.

����������������� ��� ������ ��

A figura 2.2 mostra o diagrama de blocos da aproximação acústico-fonética para o

reconhecimento de voz.

O primeiro passo no processamento é o sistema de análise do sinal de voz (passo

comum para todas as aproximações), o qual produz uma representação apropriada

(espectro) das características de variação no tempo do sinal de voz. As técnicas mais

comuns de análise espectral são: Banco de Filtros, “Linear Predictive Coding” (LPC) e a

DFT (Transformada Discreta de Fourier).

Figura 2.2: Diagrama de blocos do sistema de reconhecimento de voz acústico-fonético.

O passo seguinte é o estágio de detecção das características do sinal. A idéia aqui é

converter as medidas espectrais em um conjunto de características que descrevem as

amplas propriedades das diferentes unidades fonéticas. Entre as características propostas

para o reconhecimento da voz estão: nasal (presença ou não de ressonância nasal), fricção

Page 20: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

8

(presença ou não de excitação da fala), formantes (freqüências do sinal e suas três

primeiras ressonantes), classificação com ou sem voz (excitação do sinal periódico ou não

periódico), porções de alta e baixa energia (amplitude da freqüência). O estágio de

deteção das características geralmente consiste de um conjunto de detetores que operam

em paralelo e usam o processamento apropriado para fazer a decisão da presença ou não,

da característica do som analisado.

O terceiro passo no procedimento é a fase de segmentação e rotulação pelo qual o

sistema tenta encontrar regiões estáveis (onde as características mudam muito pouco) e

então rotular (marcar) a região segmentada de acordo com as unidades fonéticas

individuais.

Muitos problemas estão associados com a aproximação acústico-fonética para o

reconhecimento da fala. Estes problemas, em muitos casos, são a causa da falta de sucesso

de sistemas de reconhecimento de voz na prática. Entre alguns podemos citar os seguintes:

- O método requer um extensivo conhecimento das propriedades acústicas da

unidade fonética. Este conhecimento é, na melhor das hipóteses, incompleto e

na pior, totalmente inviável para simples situações, como reconhecimento de

vogais.

- A escolha das características é feita principalmente baseada em considerações

ad hoc, ou seja, as escolhas do sistema são baseadas na intuição e não em um

bem definido senso de significado.

- O projeto dos classificadores de som não é otimizado.

- Não existe um caminho certo ou real para a rotulação e para o treinamento da

fala.

- Falta uniformidade na larga e ampla classe lingüística.

Por causa de todos este problemas, o método acústico-fonético de reconhecimento

de voz, apesar de ser uma idéia interessante, precisa de mais pesquisa e entendimento,

antes de ser usado com sucesso nos atuais sistemas de reconhecimento de voz.

��������������������� ��� ������������� ���

O diagrama de blocos da forma da aproximação por reconhecimento de padrões

para o reconhecimento de voz é mostrado na figura 2.3. Essa aproximação possuí quatro

passos que são mostrados a seguir:

Page 21: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

9

- Características de Medida. Uma seqüência de medidas é feita na entrada do

sinal para definir o “teste padrão”. Para sinais de voz, as características de

medida são geralmente a saída de algum tipo de analisador espectral, tal como

um Banco de Filtros, ou a Transformada Discreta de Fourier (DFT).

- Padrões de treinamento. Um ou mais padrões de teste correspondentes ao

sinal da fala são usados para criar um padrão representativo das características

deste sinal. O padrão resultante pode ser derivado da média dos sinais, ou um

valor estatístico das características.

- Classificação dos Padrões. Aqui um sinal desconhecido (teste) é comparado

com cada (som) padrão de referência e a medida de similaridade entre o sinal de

teste e cada padrão de referência é computado.

- Decisão Lógica. Neste passo vários padrões de referência com valores

similares são usados para decidir qual padrão de referência melhor combina

com o sinal de teste desconhecido.

Figura 2.3: Diagrama de blocos do sistema de Reconhecimento de Padrões.

Em geral os pontos fortes e fracos da aproximação por reconhecimento de padrões

são:

a) O desempenho do sistema é sensível à soma dos treinamentos dos dados

avaliados para criação das classes dos sons. Em outras palavras, quanto maior o

treinamento, mais alto é o desempenho na realização da tarefa.

b) Os padrões são sensíveis ao meio ambiente onde se fala e também às

características do meio onde foi criada a fala. Isto significa que as

características espectrais da fala são afetadas pela transmissão e por ruídos de

fundo.

Page 22: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

10

c) Um som de voz não específico e conhecido é usado explicitamente no sistema.

Então este método é relativamente insensível à escolha de vocabulários,

palavras, perguntas, sintaxe e semântica.

d) A leitura computacional para ambos os padrões de treinamento ou classificação

é geralmente linear e proporcional ao número de padrões de treino ou

reconhecimento. Então a computação de um grande número de classes de sons

torna-se freqüentemente proibitivo.

e) Devido ao sistema ser insensível às classes de sons, as técnicas básicas são

aplicadas a uma vasta gama de sons da fala, incluindo frases, palavras e sub

palavras. Então um conjunto básico de técnicas desenvolvidas para uma classe

de som pode ser diretamente aplicado para diferentes classes de sons, com

pequenas ou nenhuma modificações dos algoritmos.

f) É realmente forte a incorporação sintática na estrutura dos padrões de

reconhecimento, melhorando a precisão e diminuindo o tempo de computação.

��!����������������������"#� ��������� ����$��%

A idéia básica da aproximação por inteligência artificial para o reconhecimento de

voz é compilar e incorporar conhecimentos de uma vasta variedade de fontes de

conhecimento e resolver o problema. A aproximação por IA usa os conhecimentos

acústicos, lexicais, sintáticos, semânticos, e pragmáticos das sentenças. Para melhor

explicitar estes conhecimentos, define-se primeiro cada um deles:

- Conhecimento acústico: é a evidência ou não do som, ou seja, o sinal é

medido e detecta-se a presença ou não das características do som.

- Conhecimento léxico: a combinação da evidência acústica do som das

palavras, especificando um mapa léxico das palavras, ou seja, o significado das

mesmas (som da palavra).

- Conhecimento Sintático: a combinação das palavras na forma gramaticamente

correta nas sentenças ou frases.

- Conhecimento Semântico: entendido como sendo o significado da palavra, ou

seja, o que a palavra quer dizer e se o seu entendimento está de acordo com a

sentença.

- Conhecimento pragmático: refere-se à habilidade necessária para resolver

casos de ambigüidade de significado.

Page 23: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

11

As diversas fontes de conhecimento precisam ser estabelecidas na aproximação por

Inteligência Artificial (IA). Entretanto dois conceitos chaves da Inteligência Artificial são

automaticamente conhecidos, a aquisição do conhecimento (aprendizagem) e a

adaptação. Um caminho no qual estes conceitos podem ser implementados é via

Aproximação por Redes Neurais.

A figura 2.4 mostra um diagrama de blocos de um sistema para o entendimento da

fala, baseado no modelo de percepção da fala dos seres humanos.

Figura 2.4: Diagrama de blocos conceitual do sistema de entendimento da fala nos seres humanos.

O sinal de entrada acústico é analisado por um modelo de ouvido humano (Análise

Auditiva Preliminar), que providencia a informação espectral sobre o sinal e armazena os

dados na memória de armazenamento sensorial (Armazenamento das informações). Ambas

as memórias, estática e dinâmica são usadas para armazenar os dados que serão analisados

pelos vários detectores de características (audivas, fonéticas etc). Finalmente depois de

diversos estágios de refinada detecção das características, a saída final do sistema é uma

interpretação da informação da entrada acústica.

Page 24: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

12

������������������������� �� � ���������� ��

Para um completo entendimento do processamento de um sistema de reconhecimento

de voz, inicialmente deve-se compreender como o corpo humano produz e percebe os sons

da voz, bem como suas principais características.

���������������������� �� � ��

Inicialmente é necessário mostrar as diferentes classes dos sons da fala, ou fonética,

identificando-as através das suas características acústicas as quais são relativamente

invariantes através das palavras e locutores.

A figura 3.1 mostra o diagrama esquemático da produção e percepção da fala no ser

humano.

Figura 3.1: Diagrama esquemático do processo da produção e percepção da fala

A produção da fala inicia-se quando a “pessoa falante” formula a mensagem

mentalmente, (mensagem a qual se quer transmitir através da fala, para outra pessoa ouvir).

O próximo passo corresponde à conversão da mensagem em um código de linguagem

(palavras). Estes códigos (palavras) correspondem a uma seqüência de fonemas, os quais

devem possuir um significado (prosódia). Finalmente a pessoa que irá falar executa uma

série de comandos neuromusculares que fazem as “pregas” vocais vibrarem de forma

Page 25: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

13

apropriada e na seqüência correta, criando assim o som da fala. Os comandos

neuromusculares controlam simultaneamente todos os aspectos do movimento das

articulações, incluindo os lábios, a mandíbula, a língua e as saídas de ar pela boca e pelo

nariz.

Após a execução da fala pelo locutor, o som produzido propaga-se pelo ar e chega

ao ouvinte. Neste momento inicia-se o processo de reconhecimento ou percepção da fala.

Primeiro o ouvinte processa o sinal acústico recebido ao longo de uma membrana no

interior do ouvido, a qual executa a análise espectral do sinal que chega. Através de um

processo de transdução neural, o sinal espectral que sai da membrana no interior do ouvido

é transformado em um sinal elétrico no nervo auditivo. A maneira com que o processo

ocorre ainda não é bem compreendido pela ciência. O fato é que a atividade neural ao

longo do nervo auditivo é convertida em um código de linguagem no cérebro, e finalmente

a mensagem é compreendida.

A figura 3.2 mostra os passos dos processos de produção e percepção da fala ao

longo de uma linha básica que informa a taxa de tempo nos vários estágios do processo,

demonstrando a leve diferença nos processos de produção e percepção da fala

Figura 3.2: Processo da produção e percepção da fala em escala temporal

Page 26: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

14

Vê-se que a formulação de uma mensagem (texto) ou o entendimento da mesma

pelo cérebro (semântica) tem uma taxa muito baixa de processamento, em torno de 50bps.

Já na formulação do código de linguagem (fonemas), a taxa de processamento aumenta

para 200 bps, em seguida vem o processo de articulação neuro muscular onde a taxa passa

para 2000 bps. No processo final de produção da fala a transmissão é feita na taxa de

30.000 a 50.000 bps.

Os passos do mecanismo de percepção da fala também podem ser interpretados na

forma de taxa de processamento, onde seu controle segue um padrão inverso ao do

processo de produção da fala. Neste estágio a análise do som é feita rapidamente pelo

sistema auditivo, no entanto a medida que o processo de interpretação prossegue a

velocidade diminui, ficando em torno de 50 bps (bits por segundo) na fase final de

entendimento da mensagem.

������� � ������� ����� ���

A figura 3.3 mostra um plano do aparelho vocal humano obtido através do processo

de Raios-X. O aparelho vocal humano inicia-se nas “pregas” vocais ou “Glottis” e termina

nos lábios.

Figura 3.3: Raios-X do aparelho vocal humano

(Modificada de Lawrence Rabiner, pg 15. [17])

Page 27: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

15

No ser humano masculino o tamanho do aparelho vocal é de cerca de 17cm. A área

do aparelho vocal compreendido pela língua, lábios e mandíbula varia desde zero

(totalmente fechada) até cerca de 20cm2. O aparelho nasal inicia-se no “velum” e termina

na narina.

O diagrama esquemático do mecanismo vocal humano é mostrado na figura 3.4. O

ar entra nos pulmões através do mecanismo de respiração. O ar é expelido dos pulmões

através da traquéia, a passagem do fluxo de ar pela laringe provoca a vibração das “pregas”

(cordas) vocais.

Figura 3.4: Diagrama esquemático do aparelho vocal humano

(Modificada de Lawrence Rabiner, pg 16. [17])

O fluxo de ar é cortado em pulsos quase periódicos, os quais são modulados em

freqüência na passagem da faringe, na cavidade da boca e possivelmente na cavidade

nasal. Dependendo das varias posições da articulação vocal (boca, língua, mandíbula, véu

palatino, etc) diferentes sons são produzidos.

Os pulmões, em associação com a ação dos músculos e a passagem do ar, são

responsáveis pela excitação do mecanismo vocal. O músculo força pulsos de ar para fora

dos pulmões através dos brônquios e da traquéia.

Quando as “pregas” vocais estão tensas, e o ar flui através delas causando as

vibrações, as quais produzem os sons que chamamos de fala ou voz humana.

Quando as “pregas” vocais estão relaxadas, a passagem do ar pelo aparelho vocal

torna-se turbulenta, produzindo o que chamamos de sons não pronunciados.

Page 28: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

16

A fala é produzida como uma seqüência de sons. Então o estado das “pregas”

vocais, bem como as posições, formas, e tamanho das varias articulações, mudam

constantemente, o que se reflete no som produzido. Este sistema completo é mostrado na

figura 3.5.

3.5: Esquema completo do mecanismo fisiológico da produção da fala

���������� ����� �� � ������������������������ �������� �

O sinal da fala é um sinal que varia vagarosamente no tempo, quando examinado

em um curto período (entre 5 e 100 ms). Suas características são razoavelmente

estacionárias. Contudo, em longos períodos de tempo (na ordem de 1/5 s ou mais) as

características do sinal mudam, refletindo os diferentes sons da pessoa que fala.

A ilustração destes efeitos está na figura 3.6, na qual as formas de onda mostradas

correspondem aos sons iniciais da frase “It’s time ...” , falada por um ser humano

masculino (homem). Cada linha da forma de onda corresponde a 100ms (1/10 s) do sinal;

sendo que a linha inteira (todas as 5 linhas) corresponde aproximadamente a 0.5 s.

Existem várias maneiras de classificar os eventos da fala. A mais simples é via

análise da fonte de produção da fala, ou seja, as “pregas” vocais. Para caracterizar esta

análise, utilizam-se três estados de representação, que são:

Page 29: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

17

- Silêncio (S), onde não é produzida a fala.

- Não voz (U) “Unvoiced”, na qual as cordas vocais não estão vibrando, resultando

formas de onda não periódicas e naturalmente aleatórias.

- Voz (V) “Voiced”, na qual as cordas vocais estão tensas e ocorre uma vibração

periódica quando o ar flui dos pulmões, resultando assim uma forma de onda quase

periódica da fala.

Figura 3.6: Formas de onda da expressão “It’s Time”, no domínio do tempo. (Modificada de Lawrence Rabiner, pg 18. [17] )

A primeira linha mostra a variação natural e lenta do sinal nos primeiros 100 ms, e

que corresponde a um fundo de silêncio (S) e uma baixa amplitude. Nos próximos 100 ms

(segunda linha), a forma de onda mostra um pequeno incremento no nível (S), seguido de

um fino incremento (U) e de um grosso incremento no nível da forma de onda (V) (quase

periódico). Portanto antes de iniciarmos a fala, a forma de onda é classificada como

Silêncio (S). Um breve período sem voz, Unvoiced (U) é mostrado em seguida (respiração

Page 30: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

18

ou aspiração). Na seqüência vê-se o período de produção da fala Voiced (V),

correspondente à vogal inicial da palavra “It’s” (linhas 2 e 3).

Seguindo a análise na região da fala, região Voiced (V), existe um breve período de

Unvoiced (U) (respiração), seguida por uma região de silêncio (S) (antes do /t/ na palavra

It’s), temos em seguida um relativo longo período de Unvoiced (U), região correspondente

a liberação do /t/, seguindo pelo /s/ de It’s (linhas 3 e 4).

Finalmente há um longo período de voz (V) Voiced, região correspondente ao

ditongo /ai/ da palavra “time”. (linhas 4 e 5).

Deve ser claro que a segmentação da forma de onda da fala em regiões bem

definidas de Silêncio (S), Unvoiced (U) e Voiced (V), não é exata. Normalmente é difícil

distinguir um fraco som Unvoiced (U) do Silêncio (S), ou ainda, distinguir um fraco som

de voz Voiced (V), do som Unvoiced (U). Entretanto, pequenos erros de limite de regiões

S, U e V, não afetam significativamente as aplicações.

Um caminho alternativo para caracterizar o sinal da fala, é a representação da

informação associada aos sons através da representação espectral. Talvez a representação

mais popular deste tipo de espectrograma do som, seja a representação tridimensional da

intensidade da fala, em diferentes bandas de freqüência.

Um exemplo deste tipo de representação é mostrado na figura 3.7, a qual mostra um

espectro de banda larga no primeiro painel, um espectro de banda estreita no segundo

painel, e a forma de onda da amplitude impressa no terceiro painel. A expressão vocal da

figura 3.7, é a frase “Every Salt Breeze Comes From the Sea” , pronunciada por um

homem.

O espectro de banda larga, corresponde à análise espectral de secções de 15ms da

forma de onda, usando na análise um filtro de banda larga (125 Hz banda do filtro), com

análises avançando a cada 1ms.

O espectro de banda estreita, (segundo painel da figura 3.7) corresponde à análise

espectral de secções de 50ms da forma de onda, usando na análise um filtro de banda

estreita (40 Hz banda do filtro), com análises avançando também a cada 1ms.

Nota-se claramente que nos períodos de silêncio, não se vê atividade espectral,

devido à redução no nível do sinal.

Além da representação no tempo e na freqüência, existe ainda uma terceira forma

de representar um sinal da fala, isto é feito através da parametrização da atividade espectral

Page 31: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

19

baseada em modelo de produção da fala. Este método de representação é mais teórico do

que prático.

Figura 3.7: Espectrogramas e amplitude da fala

“EVERY SALT BREEZE COMES FROM THE SEA”

(Modificada de Lawrence Rabiner, pg 19. [17])

����� ��� � ������ ������������ �� � �

O número de distintos sons da fala, ou seja, de distintos fonemas em uma

linguagem é freqüentemente uma matéria de julgamento e não é invariante nas diferentes

línguas. A tabela 3.1, mostra uma lista condensada de símbolos fonéticos da língua Inglesa

Americana. Nesta tabela mostra-se o fonema entre barras e ao lado um exemplo da palavra

onde o mesmo ocorre. A tabela 3.1 mostra 48 sons, incluindo 18 vogais ou combinações de

vogais (chamadas de ditongos), 4 vogais como consoantes, 21 consoantes simples, 4 sons

silábicos.

Page 32: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

20

Tabela 3.1: Lista de símbolos fonéticos da língua Inglesa Americana

������������� ������ �

A palavra fonologia é formada pelos elementos gregos: fono- ("som, voz") e -logia

("estudo, conhecimento"). Significa literalmente o "estudo dos sons". Já sabemos porém,

que os sons que essa parte da gramática estuda, são os fonemas (novamente o radical grego

fono-, e agora ao lado do elemento -ema, "unidade distinta").

Para compreender claramente o que é um fonema, compare as palavras abaixo :

Bala Gala

Lendo em voz alta as duas palavras, percebe-se que cada uma das letras destacadas

representa um som diferente. Percebe-se também que, em cada uma das palavras, a única

diferença sonora é justamente a que é provocada por esses sons. Como as palavras têm

significados diferentes e a única diferença que apresentam é a provocada por esses dois

sons, somos levados a concluir que o contraste entre esses dois sons é que produz a

diferença de significado entre as duas palavras.

Page 33: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

21

Cada letra representa, no caso, um fonema, ou seja, uma unidade sonora capaz de

estabelecer diferenças de significado. Observe que as demais letras de cada uma das

palavras também representam fonemas. Para perceber isso, basta trocá-las sucessivamente

por outras que representam sons diferentes - as sucessivas trocas produzem palavras de

significados diferentes :

gala - gata - galo - gula - gola - bala - bela

Em todos esses casos, cada letra representa um fonema. Se fizermos, no entanto, as

seguintes trocas, surgirão alguns problemas :

gala - gela bala – barra

Quando trocamos a letra “a” de gala pela letra “e”, estamos produzindo duas

modificações de fonemas: observe que, além da mudança óbvia do fonema representado

pelo “a” para o fonema representado pelo “e”, há uma mudança no som representado pela

letra “g”: em gala, essa letra representa um som comparável ao de gato; em gela,

representa um som comparável ao de girafa ou janela. No caso da troca bala por barra, o

que ocorre é um fenômeno diferente: observe que em barra há duas letras que representam

um único som (“rr”).

Nunca devemos confundir fonemas e letras: os fonemas são sons - portanto,

faláveis e audíveis. As letras são sinais gráficos - portanto, visíveis - que procuram

representar os fonemas. Essa representação, no entanto, não é perfeita: como vimos,

ocorrem muitos problemas de falta de correspondência exata entre os fonemas e as letras

que tentam representá-los.

Há letras que representam fonemas diferentes (como o g, em gala e gela), como há

fonemas representados por letras diferentes (como o que as letras g e j representam em

girafa e janela); há casos em que uma única letra é representada por dois fonemas (como o

x de axioma - lê-se "aksioma"); há até mesmo, casos em que a letra não corresponde a

nenhum fonema (o h de hora, por exemplo).

Resumindo:

- Fonologia: parte da Gramática que estuda os fonemas.

- Fonemas: unidades sonoras capazes de estabelecer diferenças de

significado. São, em outras palavras, os sons característicos de uma

Page 34: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

22

determinada língua. Note que, com um número relativamente pequeno desses

sons, cada língua é capaz de produzir milhares de palavras e infinitas frases.

- Letras : são sinais gráficos criados para a representação escrita das línguas.

Não devem ser confundidas com os fonemas, que são sons.

�������� !"#$%�&$��'!()$�� *+)()"%$

Como sabemos, não devemos confundir fonemas e letras, pois não há

necessariamente correspondência entre o que se fala e o que se escreve.

Para superar esse problema, criou-se um sistema de símbolos em que cada fonema

tem apenas uma representação. Esse sistema é o alfabeto fonético, usado pelos

especialistas em seus estudos e também para o ensino de línguas em geral. Em muitos

dicionários de línguas estrangeiras são encontrados esses símbolos, que indicam a forma de

pronunciar as palavras. A Tabela 3.1, mostra os fonemas da língua Inglesa Americana.

A língua portuguesa do Brasil apresenta um conjunto de 33 fonemas. A cada um

deles corresponde um único símbolo escrito em alfabeto fonético.

Convencionalmente, esses símbolos são colocados entre barras oblíquas. Os

fonemas estão divididos em vogais, semivogais e consoantes.

Na Tabela 3.2: são mostradas as semivogais da língua Portuguesa do Brasil.

Na Tabela 3.3: são mostrados os fonemas das Consoantes.

Na Tabela 3.4: são apresentadas as vogais.

Semivogais

/ j / cai, põe /kaj/, /põj/

/ w / pau, pão /paw/, /pãw/

Tabela 3.2 Lista de símbolos fonéticos das semivogais da Língua Portuguesa do Brasil

O uso de símbolos para a transcrição fonológica evidencia alguns problemas da

relação entre fonemas e letras: por exemplo, o símbolo /k/ transcreve com um mesmo

fonema o som representado pela letra “c” em cara e pelas letras “qu” em quero.

Observa-se ainda que os símbolos referentes às vogais evidenciam a existência de

doze sons distintos - para os quais existem apenas cinco letras.

Page 35: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

23

Consoantes

Símbolo Exemplo Transcrição Fonológica

/ p / paca /paka/

/ b / bula /bula/

/ t / Tara /tara/

/ d / data /data/

/ k / Cara, quero /kara/, /k ro/

/ g / Gola, guerra /g la/, /g Ra/

/ f / Faca /faka/

/ v / Vala /vala/

/ s / Sola, assa, moça /s la/, /asa/, /mosa/

/ z / asa, zero /aza/, /z ro/

/ / mecha, xá /m a/, / a/

/ / Jaca, gela / aka/, / la/

/ m / Mola /m la/

/ n / Nata /nata/

/ / Ninho /n o/

/ l / Lata /lata/

/ / calha /ka a/

/ r / Mara /mara/

/ R / Rota, carroça /R ta/, /kaR sa/

Tabela 3.3: Lista de símbolos fonéticos das consoantes da Língua Portuguesa do Brasil

Vogais

/ a / cá /ka/

/ e / mel /m l/

/ e / seda /seda/

/ i / rica /Rica/

/ / sola /s la/

/ o / soma /soma/

/ u / gula /gula/

/ ã / manta,maçã /mãta/, /masã/

Page 36: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

24

/ / Tenda /t da/

/ / Cinta /s ta/

/ õ / conta, põe /kõta/, /põj/

/ / Fundo /f do/

Tabela 3.4: Lista de símbolos fonéticos das vogais da Língua Portuguesa do Brasil

������,$%%-.-/$01 �& %�� !"#$%�&$��'!()$�� *+)()"%$�& �2*$%-,�

Os fonemas da língua portuguesa são classificados em vogais, semivogais e

consoantes. Esses três tipos de fonemas são produzidos por uma corrente de ar que pode

fazer vibrar ou não as cordas vocais. Quando ocorre vibração das cordas vocais, o fonema

é chamado sonoro; quando elas não vibram, o fonema é surdo. Além disso, a corrente de

ar pode ser liberada apenas pela boca ou parcialmente também pelo nariz. No primeiro

caso, o fonema é oral; no segundo, o fonema é nasal.

������ %�� ($-%�

As vogais são fonemas sonoros produzidos por uma corrente de ar que passa

livremente pela boca. Em nossa língua, desempenham o papel de núcleo das sílabas. Em

termos práticos, isso significa que em toda sílaba há necessariamente uma única vogal.

As diferentes vogais resultam do diferente posicionamento dos músculos bucais

(língua, lábios e véu palatino). Sua classificação é feita em função de diversos critérios:

A- Quanto à zona de articulação, ou seja, de acordo com a região da boca em que

se dá a maior elevação da língua; assim, podem ser anteriores, centrais e

posteriores;

B- pela elevação da região mais alta da língua; por este critério, podem ser altas,

médias e baixas;

C- quanto ao timbre; podem ser abertas ou fechadas.

Além desses critérios, as vogais podem ser orais ou nasais. Todos os fonemas

vocálicos são sonoros. A Tabela 3.5, apresenta a classificação das vogais da Língua

Portuguesa do Brasil de acordo com esses critérios. No momento da classificação de uma

Page 37: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

25

determinada vogal, devem ser considerados os diversos critérios: um /a/, por exemplo,

deve ser descrito como uma vogal oral, central, baixa.

Classificação Anteriores Centrais Posteriores

Altas /i/ / / - /u/ / /

Médias Fechadas /e/ / / - /o/ /õ/

Médias Abertas / / - / /

Baixas - /a/ /ã/ -

Tabela 3.5: Classificação das vogais da Língua Portuguesa do Brasil

Observação: A distribuição das vogais nesse quadro forma um triângulo. Esse triângulo

simula o movimento da língua dentro, da cavidade bucal para a pronuncia das diferentes

vogais. Ao se pronunciar todas as vogais orais, começando pelo /i/ e seguindo a ordem do

quadro até o /u/, percebe-se que a língua percorrerá o caminho indicado pelo triângulo.

Começando pelo /u/ em direção ao /i/, a língua percorrerá exatamente o caminho inverso.

������ %��"#-3 ($-%�

Há duas semivogais na língua portuguesa, representadas pelos símbolos /j/ e /w/ e

produzidas de forma semelhante às vogais altas /i/ e /u/. A diferença fundamental entre as

vogais e as semivogais está no fato de que estas últimas não desempenham o papel de

núcleo silábico. Em outras palavras: as semivogais necessariamente acompanham alguma

vogal, com a qual formam uma sílaba.

Infelizmente, as letras utilizadas para representar as semivogais em português são

utilizadas também para representar vogais, o que cria alguns problemas. A única forma de

diferenciá-las efetivamente é falar e ouvir as palavras em que surgem. Observe os casos

abaixo:

País - pais baú - mau

Em “País” e “baú”, as letras “i” e “u” representam respectivamente as vogais /i/ e

/u/. Já em “pais” e “mau”, essas letras representam as semivogais /j/ e /w/. Isso pode ser

Page 38: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

26

facilmente percebido ao se observar como a articulação desses sons é diferente em cada

caso; além disso, observa-se que “País” e “baú” têm ambas duas sílabas, enquanto “pais”

e “mau” têm ambas uma única sílaba.

������ %� !% $!+"%

Para a produção das consoantes, a corrente de ar expirada pelos pulmões encontra

obstáculos ao passar pela cavidade bucal. Isso faz com que as consoantes sejam

verdadeiros "ruídos", incapazes de atuar como núcleos silábicos. Seu nome provém

justamente desse fato, pois, em português, sempre somam com as vogais, que são os

núcleos das sílabas.

A classificação das consoantes baseia-se em diversos critérios:

A- Modo de articulação: indica o tipo de obstáculo encontrado pela corrente de ar

ao passar pela boca. São oclusivas aquelas produzidas com obstáculo total; são

constritivas as produzidas com obstáculo parcial. As constritivas se

subdividem em fricativas (o ar sofre fricção), laterais (o ar passa pelos lados

da cavidade bucal) e vibrantes (a língua ou o véu palatino vibra);

B- Ponto de articulação: indica o ponto da cavidade bucal em que se localiza o

obstáculo à corrente de ar. As consoantes podem ser bilabiais (os lábios entram

em contato), labiodentais (o lábio inferior toca os dentes incisivos superiores),

linguodentais (a língua toca os dentes incisivos superiores), alveolares (a

língua toca os alvéolos dos incisivos superiores), palatais (a língua toca o

palato duro ou céu da boca) e velares (a língua toca o palato mole, ou véu

palatino);

C- As consoantes podem ser surdas ou sonoras, de acordo com a vibração das

cordas vocais, e ainda orais ou nasais, de acordo com a participação das

cavidades bucal e nasal no seu processo de emissão.

No momento da classificação de uma consoante, deve-se considerar os diversos

critérios; assim, por exemplo, a consoante /t/ será oral, oclusiva, linguodental, surda; já a

consoante /v/ será oral, constritiva, fricativa, labiodental, sonora.

Page 39: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

27

��4�������������������� ���

Grande parte das informações que o ser humano recebe são transmitidas por ondas

sonoras. Elas, normalmente, provêm do ambiente que nos cerca e são originadas de

diversas fontes sonoras. O sistema auditivo dos seres humanos permite a captação dessas

ondas e o reconhecimento do conteúdo de informação que possuem.

Existem modelos de análise espectral que são baseados no entendimento do sistema

de processamento do sinal de voz pelo ouvido humano. A figura 3.8 mostra o ouvido

humano com suas três principais regiões: Ouvido Externo, Ouvido Médio e Ouvido

interno.

Figura 3.8: Modelo do ouvido humano (Modificada de Lawrence Rabiner, pg 132. [17])

A parte do ouvido externo compreende a Orelha e o canal externo onde o som é

afunilado. A onda de som alcança o ouvido e é guiada através do ouvido externo para o

ouvido médio.

O ouvido médio compreende a membrana do tímpano na qual o som provoca a

vibração do sistema transdutor mecânico (martelo), o qual transforma a forma de onda

acústica em vibrações mecânicas no ouvido interno.

Page 40: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

28

O ouvido interno consiste na “cóclea”, que é um fluido que se encontra dentro da

membrana basilar, e o nervo auditivo.

Distribuídos ao longo da membrana basilar encontram-se um conjunto de sensores

chamados de “inner hair cells” (IHC), o quais convertem o sinal mecânico em atividade

neural.

Compreender o funcionamento do sistema humano de produção e percepção dos

sons é um passo importante no desenvolvimento de sistemas de aquisição e análise dos

sons da fala.

��5� �6������� ��

Neste capítulo foram apresentadas as maneiras de como o corpo humano percebe e

reconhece um sinal de voz. Além disso foram explanadas as características da fala tanto no

domínio do tempo quanto no domínio da freqüência. A compreensão destes fatores é de

suma importância no desenvolvimento de um sistema de reconhecimento de voz, pois

definem o comportamento do sinal a ser processado. Apresentou-se ainda a teoria que

envolve a fonologia e a fonética das palavras com suas características e implicações. No

entanto esta teoria somente é importante quando trabalhamos com um sistema de

reconhecimento de voz que utiliza a aproximação Acústico-fonética ou por Inteligência

Artificial. Pelos motivos apresentados no capitulo 2, utilizaremos a aproximação por

Reconhecimento de Padrões no desenvolvimento deste estudo.

Page 41: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

29

������������������ ���������������������

Os itens a serem estudados neste capítulo são de fundamental importância para um

sistema de reconhecimento de voz, pois correspondem ao primeiro passo de um sistema de

reconhecimento de voz prático. Para se realizar um bom reconhecimento de voz com

qualidade deve-se ter um sinal amostrado, sem ruídos e sem entrelaçamentos, ou seja, um

sinal com o máximo de exatidão e precisão.

O sinal de voz emitido pelo locutor (pessoa que fala ao microfone) é adquirido pelo

computador através da placa de som.

Antes de desenvolver qualquer sistema de aquisição de dados, deve-se entender as

quantidades físicas que se quer medir, as características dessas quantidades físicas, o

sensor apropriado para medição, e o hardware de aquisição de dados apropriado e o

software necessário para analisar os dados coletados.

��� ������������������

A Acústica é a parte da Física que estuda o som. O som é a sensação percebida pelo

cérebro que se relaciona com a chegada no ouvido de ondas de vibração mecânica. Todo

sistema que emite som é uma fonte sonora. Em geral, costuma-se confundir o conceito de

som com o conceito de onda sonora. Por isso, pode-se dizer que o som se propaga nos

ambientes materiais e elásticos através de ondas. As ondas sonoras são vibrações

sincronizadas das moléculas que constituem o meio. Ao vibrarem em conjunto, elas criam

em torno da fonte sonora regiões de alta e baixa pressão. Essas variações de pressão se

propagam no meio como uma onda mecânica longitudinal.

O modelo do ouvido humano mostrado no capitulo 3, pode detectar freqüências

sonoras na faixa de 16 a 17.000 Hz. Todavia estes limites não são fixos, mas variam com a

idade e também de um indivíduo para o outro. O limiar de potência sonora capaz de

induzir uma sensação dolorosa é, no entanto, mais constante e se situa entre 140 e 160 dB

[18].

A voz humana, quando analisada em seu espectro de frequência, apresenta

freqüências de até 6.000 Hz. Na fala em alta velocidade a duração das vogais sofre um

encurtamento em relação das consoantes. Devido a este fato a velocidade com que as

Page 42: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

30

palavras são pronunciadas influem diretamente na inteligibilidade da frase. Portanto, para

que se possa entender corretamente um locutor, o mesmo deve ter uma entonação sem

muitas variações na velocidade da pronúncia.

����� ������������������������ !"�����#����$�

As qualidades fisiológicas dos sons são:

- Altura

- Intensidade

- Timbre

Altura: é a qualidade que permite que os sons possam ser classificados em graves

(baixa freqüência) e agudos (alta freqüência). Os sons com frequência menor do que 16Hz

são chamados de infra-sons, enquanto os de freqüência maior do que 17.000Hz são

denominados ultra-sons. Alguns animais são capazes de emitir e de detectar ultra-sons.

Entre eles estão muitos insetos, mas o exemplo mais relevante é o do morcego. Esse

animal, ao voar, emite, a cada segundo, 10 ou mais pulsos sonoros cuja freqüência está

entre 20.000 a 100.000Hz.

Intensidade: Intensidade é a qualidade que permite um som ser percebido a uma

maior ou menor distância da fonte sonora. Quanto à intensidade, os sons podem ser fortes

ou fracos. Como o ouvido humano não tem a mesma sensibilidade para todas as

frequências sonoras, mas é mais sensível aos sons cujas freqüências se situam entre 2.000 e

4.000Hz, a intensidade dos sons ouvidos também varia com a freqüência. Além disso, a

intensidade dos sons:

- É proporcional ao quadrado da amplitude da onda sonora;

- É mais intensa quanto maior for a superfície de vibração da fonte sonora;

- Aumenta com a densidade do meio em que ele se propaga;

- Decai com o quadrado da distância entre o observador e fonte sonora, quando o

som se propaga em meio homogêneo e infinito;

- Depende da proximidade de ressoadores, pois eles reforçam a intensidade do som;

- É alterada pelos ventos. Estes interferem na intensidade do som quando a

distância entre a fonte e o observador é maior do que 6m.

Page 43: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

31

A tabela 4.1 mostra as intensidades médias de sons do ambiente, desde o limiar da

audição, cuja intensidade é em torno de 0 dB, até o limite de lesão do tímpano, em torno de

160 dB.

Tipos de som Intensidade (dB)

Limiar da audição 0

Farfalhar das folhas 10

Ambiente de biblioteca 20

Som ambiental médio 40

Conversação normal 60

Rua com grande tráfego 70

Rádio em volume alto 80

Trem em Movimento 100

Limiar de desconforto 120

Limiar da dor 140

Lesão do tímpano 160

Tabela 4.1: As Intensidades médias dos sons do ambiente

Timbre: é a qualidade que diferencia dois sons de mesma altura e de mesma

intensidade, mas que são produzidos por fontes sonoras diferentes. O timbre de um som

depende do conjunto dos sons secundários (sons harmônicos) que acompanham o som

principal.

����%������������������� ���������

O propósito de qualquer sistema de aquisição de dados é proporcionar as

ferramentas e recursos necessários para fazer a aquisição de dados confiáveis.

Deve-se pensar em um sistema de aquisição de dados como uma coleção de

“software” e “hardware” que conecta um sistema gerenciador (computador) com o mundo

físico.

Um sistema de aquisição de dados típico consiste de:

a) Hardware de aquisição de dados

b) Sensores e atuadores (transdutores)

Page 44: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

32

c) Hardware de condicionamento de sinal

d) O computador

e) Software

a) Hardware de aquisição de dados: O coração de qualquer sistema de aquisição

de dados é o “hardware”. Sua função principal é converter sinais analógicos em sinais

digitais, e converter sinais digitais em sinais analógicos.

b) Sensores e atuadores (transdutores):. Um transdutor é um dispositivo que

converte energia de entrada em uma outra forma de energia de saída. Por exemplo, um

microfone é um sensor que converte energia do som (na forma de pressão) em energia

elétrica, enquanto um alto-falante é um atuador que converte energia elétrica em energia de

som.

c) Condicionamento de sinal: Sinais de um sensor são freqüentemente

incompatíveis com hardware de aquisição de dados. Para superar esta incompatibilidade,

deve-se condicionar o sinal. Por exemplo, pode ser preciso condicionar um sinal de

entrada, amplificá-lo ou remover as componentes de freqüência não desejadas.

d) O computador: O computador deve prover um processador, um relógio de

sistema, um sistema (bus) para transferir dados, memória e espaço de disco para

armazenar dados.

e) O Software: O Software de aquisição de dados permite trocar informações entre

o computador e o “hardware”. Por exemplo: um software típico permite configurar a taxa

de amostragem da placa de aquisição (hardware), e adquirir uma quantidade de dados

predefinida.

Figura 4.1: Modelo do sistema de Aquisição de Dados

Page 45: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

33

Os componentes da aquisição de dados, e a relação entre eles, são mostrados na

figura 4.1. A figura 4.1 mostra ainda as duas características importantes de um sistema de

aquisição de dados:

- O Sinal;

- Os Dados.

- O Sinal: é adquirido pelo sistema, condicionado e convertido em dados que um

computador pode ler, e finalmente analisado para se extrair informações significantes.

Por exemplo, um sinal com níveis de som é adquirido de um microfone,

amplificado, digitalizado por uma placa de som, e armazenado para uma subseqüente

análise do conteúdo de freqüência. O software MATLAB é capaz de realizar todas estas

tarefas.

- Os Dados: Uma vez processado, o sinal de som se transforma em dados no

computador que são convertidos em um sinal analógico e enviados para um atuador (parte

final).

Por exemplo, um vetor de dados no programa MATLAB é convertido em sinal

analógico por uma placa de som e enviado para um alto-falante.

��&���'��(������������ ����������

O hardware de aquisição de dados pode ser interno e instalado dentro do

computador, ou externo e conectado ao computador por um cabo.

Ao nível mais simples, o “hardware” de aquisição de dados é caracterizado pelos

subsistemas que possui. Um subsistema é um componente de “hardware” de aquisição de

dados que executa uma tarefa especializada. O dispositivo de hardware que consiste em um

subsistema múltiplo é chamado de Placa de “hardware” de multifunção. Este dispositivo é

mostrado na figura 4.2.

Basicamente uma placa de “hardware” de aquisição de dados é composta por quatro

subsistemas:

- Entrada Analógica

- Saída Analógica

- Entrada e Saída Digital

- Contagem e Temporização.

Page 46: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

34

- Subsistema de Entrada analógica: converte sinais de entrada analógicos de um

sensor em bits que podem ser lidos pelo computador. São chamados de subsistemas de AI

(Analog Input), conversor de A/D, ou ADCs .

Figura 4.2: Placa de “hardware” de um sistema de Aquisição de Dados

- Subsistema de Saída analógica: convertem dados digitais armazenados no

computador para um sinal analógico. Este subsistema executa a conversão inversa do

subsistema de entrada analógica. São chamados de subsistemas de AO (Analog Output),

conversor de D/A, ou DACs.

- Subsistemas de Entrada/Saída Digitais : Também chamados de DIO (digital

input/output), são projetados para fazer a entrada ou a saída de sinais digitais (níveis

lógicos) para o “hardware”.

- Subsistema de Contagem e Temporização: O subsistema de contagem e

temporização “counter/timer” (C/T) é usado para contar tempo, freqüência, e medir o

período de um trem de pulsos.

����������������

Um sensor converte os fenômenos físicos de interesse em um sinal elétrico de

entrada no hardware de aquisição de dados. Existem dois tipos principais de sensores

baseados na entrada de dados que eles produzem: sensores digitais e sensores analógicos.

Page 47: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

35

- Sensores digitais: produzem um sinal de que é uma representação digital do sinal

de entrada analógico, e tem valores discretos de magnitude e medidas de tempos discretos.

- Sensores analógicos: produzem um sinal que é diretamente proporcional ao sinal

medido, e é contínuo em magnitude e no tempo. A maioria das variáveis físicas como

temperatura, pressão, e aceleração são contínuas por natureza e são prontamente medidas

com um sensor analógico.

Para escolher o melhor sensor analógico, deve-se verificar as características da

variável física que se deseja medir com as características do sensor.

A saída de um sensor pode ser um sinal analógico ou um sinal digital, e a variável

de saída normalmente é uma tensão, embora existam alguns sensores com saídas de

corrente.

A corrente é usada freqüentemente para transmitir sinais em ambientes ruidosos

porque o sinal de corrente é muito menos afetado por ruídos do meio ambiente.

No entanto, o sinal mais comumente conectado é um sinal de tensão. Por exemplo,

termopares, acelerômetros, microfones, todos produzem sinais de tensão. Há três aspectos

principais de um sinal de tensão que precisam ser considerados:

- A Amplitude

- A Freqüência

- A Duração da Aquisição.

- Amplitude: Se o sinal for menor que alguns milivolts, deve-se amplificar este

sinal. Se o valor máximo do sinal é maior que o suportado pelo “hardware” analógico

(tipicamente ±10 V), deve-se dividir o sinal usando uma rede de resistores.

- Freqüência: Sempre que se adquire dados, deve-se decidir a freqüência mais alta

a ser medida. O componente de freqüência mais alta do sinal determina com que

freqüência deve-se amostrar o sinal de entrada. Em freqüências mais altas podem estar

presentes ruídos que são removidos filtrando o sinal antes de ser digitalizado.

- Duração: Por quanto tempo deve-se amostrar um sinal? Se a amostragem estiver

sendo armazenada na memória ou em um arquivo de disco, então a duração da amostragem

determina os recursos de armazenamento requeridos.

Page 48: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

36

��)������������������������*���

Como citado anteriormente, os sinais de um sensor são freqüentemente

incompatíveis com hardware de aquisição de dados, e para superar esta incompatibilidade,

deve-se condicionar o sinal do sensor. O tipo de condicionamento de sinal requerido

depende do sensor que se está usando. Por exemplo, um sinal pode ter uma amplitude

pequena e requer amplificação, ou pode conter componentes de freqüência não desejados e

pode requerer filtragem. Os modos comuns para condicionar sinais incluem:

- Amplificação

- Filtragem

- Isolamento elétrico

- Multiplexagem

- Fonte de excitação

- Amplificação: Sinais de baixa amplitude (menos que ou ao redor de 100

milivolts) normalmente precisam ser amplificados.

Por exemplo, o sinal de saída de um termopar é pequeno e deve ser amplificado

antes de ser digitalizado.

- Filtragem: Remove os sinais indesejáveis que estão fora da banda de freqüência

de interesse.

- Isolamento elétrico: Se o sinal de interesse contiver transientes de alta-voltagem

que podem danificar o computador, então os sinais do sensor devem ser eletricamente

isolados do computador para propósitos de segurança.

- Multiplexagem: Esta técnica consiste em medir vários sinais com apenas um

dispositivo de medida.

- Fonte de excitação: Alguns sensores exigem uma fonte de excitação para operar.

��+�������������

O computador deve possuir um processador, um relógio de sistema, um

barramento de dados (bus) para transferir dados, e memória e espaço de disco para

armazenar dados.

Page 49: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

37

Saber que foi registrado o que um sensor está lendo não é bastante, geralmente

precisa-se saber também quando esta medida aconteceu. Os dados são transferidos do

hardware à memória do sistema por acesso de memória dinâmico (DMA), por interrupções

(IRQ), ou diretamente pelo software. O DMA é um controlador de hardware extremamente

rápido. As interrupções podem ser lentas devido ao tempo de espera entre os pedidos de

interrupção e a resposta do computador. A máxima taxa de aquisição também é

determinada pela arquitetura do barramento de dados (bus) do computador.

��,�������(���

Independente do hardware que se use, deve-se enviar e receber informações deste

hardware. Também é preciso fornecer ao “hardware” informações de como se integrar com

outro hardware e dos recursos de computador. Esta troca de informação é realizada com o

software.

Existem dois tipos de software:

- Software chamado de “driver” (gerencia o hardware)

- Software de aplicação

Software de “driver”:. Permite o acesso e controle das capacidades do hardware.

Entre outras coisas, o software de driver básico permite:

- Receber e enviar dados à placa do “hardware”;

- Controlar a taxa à qual os dados são adquiridos;

- Integrar o “hardware” de aquisição de dados com recursos de computador, como

interrupções do processador, DMA e memória;

-Integrar o “hardware” de aquisição de dados com “hardware” de

condicionamento;

- Acessar múltiplos subsistemas em uma determinada placa de aquisição de dados;

- Acessar placas de aquisição de dados múltiplas.

Software de aplicação: Fornece uma interface conveniente ao software de driver.

Um software de aplicação básico permite:

- Obter um relatório do número de amostras adquiridas;

- Gerar eventos;

Page 50: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

38

- Administrar os dados armazenados em memória de computador;

- Condicionar um sinal;

- Imprimir os dados adquiridos;

- Analisar os dados.

��-��������� ��������������*./�����

A aquisição de um sinal de som deve ser feita analogicamente, pois o som é um

sinal analógico por natureza. Após a aquisição se faz a conversão A/D (analógico/digital)

para que o sinal amostrado possa ser interpretado pelo computador.

��-������$�����"�$�

Amostrar um sinal significa pegar um "instantâneo" do sinal de um sensor em um

tempo discreto. Para a maioria das aplicações, o intervalo de tempo entre amostras é

mantido constante.

Para a maioria dos conversores digitais e analógicos, a amostragem é executada

por um circuito “Sample/Hold” (S/H) . A operação de um circuito de S/H segue estes

passos:

a) Em um determinado instante da amostragem, o interruptor conecta o “buffer” e o

capacitor a uma entrada de sinal;

b) O capacitor é carregado com a tensão da entrada do sinal;

c) A carga no capacitor é mantida até que o conversor A/D digitalize o sinal;

d) Para múltiplos canais (multiplexação) e apenas um conversor A/D, os passos

anteriores devem ser repetidos para cada entrada de sinal (canal);

e) O processo inteiro deve ser repetido para o próximo instante de amostragem.

A máxima taxa de amostragem que o hardware trabalha é tipicamente a taxa

avaliada em um canal. Então, a máxima taxa de amostragem por canal é determinada pela

fórmula:

Taxa Máxima de = MÁXIMA TAXA DA PLACA DE AQUISIÇÃO [4.1]

Amostragem por Canal NÚMERO DE CANAIS VARRIDOS

Page 51: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

39

Sempre que um sinal contínuo é amostrado, um pouco de informação é perdida. O

objetivo fundamental é amostrar o sinal de entrada a uma determinada taxa onde o sinal de

interesse seja bem caracterizado e a quantidade de informação perdida minimizada.

Ao se amostrar um sinal a uma taxa muito lenta, acontece o efeito chamado de

entrelaçamento (aliasing). O entrelaçamento pode acontecer para qualquer tipo de sinal.

��-�%���0�1��2�34��

Como discutido na seção anterior, quando é feita a amostragem de um sinal

instantâneo analógico, este sinal analógico amostrado deve ser convertido em um valor de

tensão em números binários que o computador pode entender. O processo de transformar

valores da amplitude de um sinal de informação em valores discretos tomados de um

conjunto finito de amplitudes é chamado de quantização.

Durante a quantização, o conversor A/D usa um número finito de valores

uniformemente espaçados para representar o sinal analógico. O número de valores

diferentes é determinado pelo número de bits usados para a conversão. A maioria dos

conversores A/D trabalha com 12 ou 16 bits.

Tipicamente, o conversor seleciona o valor digital que é mais próximo do valor

amostrado.

A figura 4.3 mostra uma senóide de 1 Hz quantizada por um conversor A/D de 3

bits.

O número de valores quantizados é determinado pelo número de bits. No caso,

como são 3 bits obtêm-se no máximo 23 = 8 valores digitais distintos. O maior valor

representável é determinado pelo número binário 111 = 22 + 21 + 20 = 7, e o menor valor

representável é determinado pelo número binário 000 = 0. Sempre haverá algum erro

associado com a quantização de um sinal contínuo.

��-�&�������4�����5���#4���

Sempre que se adquire dados medidos, deve-se fazer todo esforço para maximizar

sua precisão e sua exatidão. A qualidade de sua medida depende da precisão e da exatidão

do sistema de aquisição de dados inteiro, e pode ser limitado por fatores como a resolução

da placa de aquisição ou o ruído do ambiente.

Page 52: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

40

Exatidão: A exatidão de um valor medido é definida pela relação entre a

quantidade medida e o verdadeiro valor daquela quantidade.

Precisão : O número de bits que representam um sinal analógico determina a

precisão (resolução) do dispositivo. Quanto mais bits tiver a placa de aquisição de dados

mais precisa será a medida. A precisão global de um sistema de aquisição de dados é

normalmente determinada pelo conversor de A/D, e é especificado pelo número de bits que

representa o sinal analógico. A maioria das placas usa 12 ou 16 bits. A precisão da medida

é determinada por :

Precisão = uma parte em 2(número de bits) [4.2]

Figura 4.3: Sinal senoidal de 1Hz amostrado por um quantizador de 3 bits

A precisão em volts e dada por

Precisão = Faixa dinâmica / 2(número de bits) [4.3]

Por exemplo, se estivermos usando um conversor A/D de 12 bits, para uma faixa

dinâmica de 12 volts a precisão será de,

Precisão = 12 volts/ 2(12) [4.4]

Page 53: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

41

Isto significa que o conversor pode detectar diferentes tensões até o nível de

0.00244 volts ou 2,44 mV.

��-�������1��� �3�$�1���

O entrelaçamento “Aliasing” acontece quando o sinal amostrado contiver

componentes de freqüência maior que a metade da taxa de amostragem. A regra usada para

prevenir o entrelaçamento “Aliasing” é determinada pelo teorema de Nyquist que diz:

- Um sinal analógico pode ser reconstruído, sem erro, de amostras retiradas

em intervalos de tempo iguais, desde que a taxa de amostragem do sinal seja

maior ou igual a duas vezes a componente de freqüência mais alta do sinal

analógico.

Fs ≥≥≥≥ Fmáx

Porém, se o sinal de entrada é corrompido por ruídos, então entrelaçamentos ainda

podem acontecer.

��-�)������1�6��71����#����#���#��'��#8����9������$!����

A transferência de dados adquiridos do hardware para memória do sistema segue

estes passos:

- Os dados adquiridos são armazenados dentro do hardware em um “buffer”

chamado de first in first out (FIFO) .

- Os dados são transferidos do “buffer” de FIFO para a memória do sistema através

de uma interrupção ou do DMA.

Estes passos acontecem automaticamente. O que é requerido do programador é

apenas alguma configuração inicial do dispositivo de hardware quando for instalado.

Buffer de FIFO : é usado para armazenar temporariamente os dados adquiridos.

Os dados são armazenados temporariamente até que possam ser transferidos à memória do

sistema.

Page 54: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

42

Interrupções: É o método mais lento, mas na maioria dos casos é o mais comum

para mover os dados adquiridos para a memória do sistema. Este método consiste no

processo de geração de um pedido de interrupção ao processador (IRQ). Este sinal pode ser

gerado quando uma amostra for adquirida ou quando amostras múltiplas são adquiridas.

Dependendo de seu sistema específico, a transferência de dados por interrupção não

é uma boa escolha quando a taxa de amostragem for maior do que 5 kHz.

DMA: Acesso de memória direto (DMA) é um sistema por meio do qual são

armazenadas amostras automaticamente na memória de sistema enquanto o processador

faz qualquer outra coisa.

O computador possui vários canais de DMA diferentes. Dependendo de sua

aplicação, pode-se usar um ou mais destes. Por exemplo, canais de entrada e saída

simultâneas requerem um canal de DMA para entrada e outro canal de DMA para a saída.

��:������

O ruído pode ser gerado por componentes elétricos do amplificador de entrada

(ruído interno), ou pode ser acrescentado quando o sinal passa próximo a instalações

elétricas (ruído externo). Técnicas utilizadas para reduzir os efeitos dos ruídos são descritas

a seguir:

Ruídos internos: Os ruídos internos surgem de efeitos térmicos no amplificador.

Amplificadores geram alguns microvolts de ruído interno, o que limita a resolução do sinal

a este nível. A quantidade de ruído acrescentada ao sinal depende da largura de faixa do

amplificador de entrada do sinal.

Para reduzir o ruído interno, deve-se selecionar um amplificador com uma largura

de faixa aproximada à largura de faixa do sinal de entrada.

Ruídos externos: Ruídos externos surgem de muitas fontes. Por exemplo, muitas

experiências de aquisição de dados estão sujeitas a ruídos de 60 Hz gerados pela rede

elétrica. Este tipo de ruído é chamado de pick-up or hum (zumbido), e aparece como um

sinal de interferência senoidal no circuito de medida. Outra fonte de interferência comum é

iluminação fluorescente. Estas luzes geram um arco com freqüência duas vezes maior que

a freqüência da linha (120 Hz). O ruído é acrescentado ao circuito de aquisição por estas

fontes externas devido à proximidade da atividade elétrica no ambiente de medição.

Page 55: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

43

Muitos destes ruído são comuns a ambos os canais, tanto elétrico como de dados.

Para removê-los deve-se:

- Configurar o canal de entrada do sinal no modo diferencial;

- Usar fios com isolação coaxial;

- Manter os fios de sinal o mais curto quanto possível;

- Manter os fios de sinal tão longe quanto possível de atividade elétrica

ambiental.

Filtragem: Para muitas aplicações de aquisição de dados, utiliza-se um filtro passa-

baixas. A freqüência de corte do filtro deve ser compatível com as freqüências de interesse

no sinal e com a taxa de amostragem do conversor A/D.

Um filtro passa-baixas que é usado para impedir que as freqüências mais altas

introduzam distorções no sinal digitalizado é o filtro de “antialiasing”. A frequência de

corte acontece na freqüência de Nyquist.

Page 56: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

44

����������������� ������������

A quase totalidade dos fenômenos físicos de natureza periódica tem sua origem em

ondas (sonoras, elétricas, hidráulicas e mecânicas) que apresentam formas bem definidas.

Em meados do século XVIII, Euler, Bernoulli e Lagrange já discutiam a

representação de sinais periódicos através de séries trigonométricas.

Fourier (1768-1830) desenvolveu em seu estudo sobre a condução de calor pelos

corpos a formulação de que um fenômeno de natureza periódica pode ser decomposto em

uma série de funções senoidais, com amplitudes variáveis e freqüências múltiplas da

freqüência fundamental, com fases coincidentes ou inversas. O estudo sobre a Teoria

Analítica do Calor foi publicado em 1822.

Os microcomputadores encontraram aplicação imediata para as séries de Fourier

dada a grande quantidade de operações necessárias para ser obtida uma confiabilidade

razoável na análise de um evento de natureza periódica.

O ouvido humano responde à intensidade das freqüências individuais presentes no

som, por este motivo é preciso trabalhar com informações sobre este sinal de som no

domínio da freqüência.

Neste capítulo será apresentada uma avaliação da base matemática para converter

qualquer função periódica nas suas componentes de freqüência, a Transformada de

Fourier.

Posteriormente será explanada a FFT (Transformada Rápida de Fourier) que é um

algoritmo que otimiza o cálculo da Transformada Discreta de Fourier- DFT.

��� ��������������������

Os sons naturais são compostos de múltiplas componentes de freqüências. Para

iniciar a análise em freqüência de um determinado som, deve-se supor que apenas uma

curta seção deste som é utilizada. Nesta análise, pode-se ignorar o restante do sinal do som.

Supondo também que a seção curta do som a ser analisada é periódica (repete-se

eternamente), pode-se então aplicar os princípios matemáticos que foram desenvolvidos

por Fourier, Bernoulli, e Eüler [19].

Page 57: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

45

Para uma função periódica (forma de onda) dada por x(t), na qual o período é dado

por To, então:

1. x(t) pode ser representado por um somatório de ondas senoidais.

2. Na forma de onda senoidal, a frequência fundamental é:

fo= 1 / To [5.1]

3. O somatório pode ser escrito como:

( ) ( )( )�∞

=

++=1

000 2.2cos

2)(

n

nn ntfsinbntfaa

tx ππ [5.2]

(E. Oran Brigham, pg 74 [20])

4. 0

0

0 22

fT

ππ

ω == é conhecido como a primeira harmônica ou freqüência

angular fundamental.

( ) ( )( )�∞

=

++=1

000 cos

2)(

nnn

ntsinbntaa

tx ωω [5.3]

para um conjunto de valores de an e bn .

5. O somatório é chamado de “Série de Fourier” e os valores de an e bn são

chamados de “coeficiente da série”.

6. Os valores de an e bn podem ser encontrados por:

( )�−

=2

T

2

cos)(2

T

ndtnttx

Ta ω e ( )�=

2

T

2

T-

)(2

dtntsintxT

bn

ω . [5.4]

Estes resultados podem ser aplicados a funções discretas (funções que só estão

definidas em pontos específicos), como também a funções contínuas. Se tivermos uma

taxa de amostragem “Fs” e uma série de “N” amostras por período, então:

Page 58: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

46

1. A menor freqüência presente é N

Ff s=0 e 00 2 fπω = [5.5]

2. A série com N amostras por período, pode ser representada por:

�∞

=

��

���

���

���

�+��

���

�+=

10 22cos)(

kkks

N

nksinb

N

nkaanTx ππ [5.6]

3. a0 corresponde ao valor da componente contínua.

4. A série de Fourier pode ser reescrita como:

( )( )�∞

=

++=1

00 cos)(k

Kktkaatx θω [5.7]

onde,

kj

kKeAX

θ= = KK

jba − [5.8]

�−

−=

2

T

2

).(2

T

tojk

Kdtetx

TX

ϖ [5.9]

�−

==2

T

2

)(1

T

oodttx

TAX [5.10]

5. o coeficiente Xk pode ser calculado numericamente através da seguinte

aproximação:

�=

−≈N

msK

N

mkjmTx

NX

1

]2exp[).(2

π [5.11]

�=

≈N

ms

mTxN

X1

0 )(1

onde Ts = T/N [5.12]

Page 59: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

47

������������������������������������

A integral de Fourier é definida pela expressão:

( ) �+∞

∞−

Π−= dtetxfX ftj 2).( [5.13]

Se a integral definida na equação 5.13 existe em todo f, X(f) pode ser definida

como a transformada de Fourier do sinal no tempo x(t).

�����������������������������������

A equação 5.14 mostra a transformada Discreta de Fourier, para N amostras de um

sinal x(k).

�−

=

Π−=1

0

/2).(1

][N

k

NnkjekxN

nx n= 0, 1, 2 ... N-1 [5.14]

Vale salientar que tanto para transformada contínua quanto para a discreta existem

as transformadas inversas que retornam o sinal do domínio da freqüência para o domínio

do tempo.

�������������������� ������������������

A Transformada Discreta de Fourier apresentada pela equação 5.14, leva ao cálculo

N2 operações de multiplicação para se obter o espectro de frequência de um sinal.

Com o algoritmo da FFT (Transformada Rápida de Fourier), desenvolvido na

seção a seguir, o número de multiplicações necessárias cai para N.log2.N. Este fato pode

ser visualizado na figura 5.3.

Page 60: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

48

��������������� ���!"#$$��%&'(�

Se fizermos na equação 5.14, n

i

n eW

π2−

= , [5.15]

então: �−

=

=

1

0

2N

n

N

kni

nk exy

π

torna-se �−

=

=

1

0

N

n

knNnk Wxy [5.16]

Se a série é dividida em elementos pares e ímpares temos:

��−

=

++

=

+=

12

0

)12(12

12

0

22

N

n

knNn

N

n

nkNnk WxWxy [5.17]

��−

=

+

=

+=

12

0

212

12

0

22

N

n

nkNn

kN

N

n

nkNnk WxWWxy [5.18]

devido a nkN

nkN WW

2

2 = , isto permite escrevermos

��−

=

+

=

+=

12

02

12

12

02

2

N

n

nkNn

kN

N

n

nkNnk WxWWxy [5.19]

��−

=

+

=

+=

12

02

12

12

02

2

N

n

nkNn

kN

N

n

nkNnk WxWWxy [5.20]

se fizermos: x1(m)= AMOSTRAS PARES = x(2n) e

x2(m)= AMOSTRAS IMPARES = x(2n+1)

��−

=

=

+=

12

02

2

12

02

1 )()(

N

n

nkN

kN

N

n

nkNk WnxWWnxy [5.21]

Page 61: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

49

Assim, se existir um número par de amostras, o problema computacional de yk pode

ser reduzido pela metade. Então fazendo 2

Nk

y+

da forma,

( ) ( )��

=

++

=

+

++=

12

0

2

22

2

12

0

2

21

2

)()(

N

n

Nkn

N

Nk

N

N

n

Nkn

NNk

WnxWWnxy [5.22]

��−

=

=+

−=

12

02

2

12

02

1

2

)()(

N

n

nkN

kN

N

n

nkNN

kWnxWWnxy [5.23]

devido a ( ) nk

N

Nkn

NWW

2

2

2=

+ e 12 −=

N

NW [prova a seguir]

12 −=N

NW ( ) nk

N

Nkn

NWW

2

2

2=

+

22

2

N

N

iN

N eW��

��

�=

− π

( )πiN

N eW −=2

12 −=N

NW

( ) 2

22

2

2

nN

N

nkN

Nkn

NWWW =

+

( ) 42

22

2

2

nN

N

nkN

Nkn

NWWW =

+

( ) nnkN

Nkn

NWW 2

2

2

21−=

+ porque 12 −=

N

NW

( ) nkN

Nkn

NWW

2

2

2=

+

Com estes resultados

��−

=

=

+=

12

02

2

12

02

1 )()(

N

n

nkN

kN

N

n

nkNk WnxWWnxy [5.24]

e ��−

=

=+

−=

12

02

2

12

02

1

2

)()(

N

n

nkN

kN

N

n

nkNN

kWnxWWnxy , [5.25]

Page 62: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

50

a Operação Butterfly é construída conforme a figura 5.1

)()()( 21 kXWkXkX kN+= e ( ) )()(2 21 kXWkXNkX k

N−=+ [5.26,27]

Figura 5.1: A Operação “Butterfly ”

A operação “butterfly” permite que a computação da DFT seja dividida ao meio, ou

seja, se existem 2n amostras, a computação da DFT pode ser repetida exigindo somente

metade do cálculo. Para uma DFT de 2 pontos (caso básico) temos:

1010

200 xxxWxy +=+= e 1010

201 xxxWxy −=−= [5.28]

Assim, se existem 2n amostras, a DFT pode ser computada através do uso de uma

série de estágios da operação “Butterfly” os quais se repetem conforme o número de bits

utilizado. A figura 5.2 mostra este processo:

Figura 5.2: Uso da Operação “Butterfly” para Computar uma FFT de 8-pontos

Page 63: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

51

Estas séries de operações podem ser mais facilmente implementadas se os valores

de entradas forem seqüenciados corretamente. A análise da representação binária dos

valores de entrada revelam um padrão subjacente, ou seja, os índices correspondem à

representação binária invertida do número da seqüência, como mostrado na tabela 5.1.

Seqüência da

Operação “Butterfly”

Endereço Binário

Bit Reverso Elementos correspondente a

seqüência Original

x0

x4

x2

x6

x1

x5

x3

x7

000 100 010 110 001 101 011 111

000 001 010 011 100 101 110 111

x0

x1

x2

x3

x4

x5

x6

x7

Tabela 5.1: Sequência e Re-ordenação dos bits de ordem reversa

Devido ao fato das representações binárias se repetirem, o número de operações de

multiplicações necessárias para se obter o espectro de frequência de um sinal diminui

consideravelmente.

Figura 5.3: Comparação do número de Multiplicações requeridas pelo cálculo direto e pela FFT

Page 64: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

52

A figura 5.3 mostra a eficiência computacional da FFT em comparação com o

método normal (transformada de Fourier simples). Pode-se ver claramente que quanto

maior for o número de pontos de uma amostra, o número de multiplicações na forma direta

cresce na forma exponencial, enquanto que a FFT possui poucas multiplicações.

Page 65: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

53

����������� ����

Um sistema completo de reconhecimento de voz, em seu mais elementar nível,

compreende uma coleção de algoritmos de uma larga variedade de disciplinas, incluindo

reconhecimento de padrões estatísticos, teoria da comunicação, processamento de sinais,

matemática combinacional, lingüística, entre outras.

Embora cada uma destas áreas seja abordada de forma diferente pelos programas

de reconhecimento de voz existentes, o grande denominador comum de todos os sistemas

de reconhecimento da fala é o processamento de sinal “font-end”, ou seja, o

processamento inicial da forma de onda da fala em parâmetros de representação.

Existem três métodos dominantes na análise espectral de um sinal:

- Modelo de Análise de Banco de Filtros.

- Código Linear de Predição (LPC).

- FFT (Transformada Rápida de Fourier)

����������������������������� ���

Tanto para a técnica de reconhecimento de voz baseada no reconhecimento de

padrões ou em modelos acústico-fonéticos, mostrados na figura 6.1 (a) e (b)

respectivamente, a fase inicial do processo é comum nos dois métodos, ou seja, o

processamento de sinais inicial é igual nos dois métodos de reconhecimento de voz, apesar

dos passos seguintes serem diferentes.

Os métodos de processamento inicial de sinais mais usados são o Banco de Filtros,

Código Linear de Predição – LPC e a Transformada Discreta de Fourier (DFT)

implementada através da FFT.

A estrutura do sistema de um Banco de filtros é mostrada na figura 6.2.

O sinal da fala, s(n), é passado através de um banco de Q filtros passa-faixa, os

quais cobrem breves espaços de freqüência de interesse no sinal. (sinais 100-3000Hz para

sinais de telefone de qualidade, 100-8000Hz para sinais de banda larga).

Page 66: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

54

Figura 6.1: (a) Aproximação por Reconhecimento de Padrões (b) Aproximação acústico-fonética.

Os filtros individuais podem e geralmente sobrepõem-se na freqüência como

mostrado na figura 6.2.

Figura 6.2: Modelo de análise de um Banco de Filtros.

Page 67: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

55

A saída do ith filtro passa-faixa, Xn (ejωωωωi) é a representação espectral de s(n) (onde

ωi é a freqüência normalizada 2.ππππ.fi/Fs, sendo Fs a freqüência de amostragem). A

freqüência central do filtro é ωωωωi. Pode-se ver que cada filtro processa o sinal

independentemente e produz uma representação espectral individual Xn.

A análise de sinal feita através do sistema LPC (Linear Predictive Coding) é

mostrada na figura 6.3. A representação espectral resultante Xn (ejωωωωi) é da forma σσσσ/A.

(ejωωωωi), onde A.(ejωωωωi) é a pth (p-ésima) ordem polinomial com a transformada Z dada por:

A(z) = 1 + a1.z-1

+ a2.z-2

+ a3.z-3

+ .... + ap.z-p [6.1]

A ordem p, é chamada ordem do analisador LPC.

Figura 6.3: Modelo de análise LPC.

Embora existam processadores alternativos para processar o sinal de entrada em

sistema de reconhecimento de voz, os modelos de banco de filtros, LPC e a FFT, tem

proporcionado mais alto desempenho em sistemas práticos. Neste trabalho será dada

ênfase ao sistema de processamento de banco de filtros, o mais utilizado nos sistemas de

reconhecimento de voz, devido à sua simplicidade e menor tempo de processamento. Vale

salientar que a FFT foi vista no capitulo 5.

��������������������������� ��

O diagrama de blocos da estrutura canônica do banco de filtros é mostrado na

figura 6.4. O sinal de fala amostrado, s(n), é passado através de um banco de Q filtros, em

que:

si(n) = s(n) * hi(n), 1 ≤≤≤≤ i ≤≤≤≤ Q [6.2]

Page 68: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

56

onde a resposta ao impulso do ith filtro passa-faixa é hi(m) com a duração de Mi amostras;

então a convolução é usada para representar a operação de filtragem.

Figura 6.4: Modelo do analisador de um Banco de Filtros.

O objetivo do banco de filtros é dar a medida da energia do sinal de voz e também a

faixa de freqüências de cada sinal (passa faixa).

������������������������ ������������� ��������������������

O tipo mais comum de banco de filtros usado para reconhecimento de fala é o

banco de filtros uniforme, para qual a freqüência central, fi, do filtro passa faixa é definida

como:

iN

Ff s

i ⋅= 1 ≤≤≤≤ i ≤≤≤≤ Q , [6.4]

onde Fs é a taxa de amostragem do sinal de fala, e N é o número de filtros uniformemente

espaçados requeridos para medir toda a faixa de freqüência da fala. O número de filtros

usado no banco de filtro, Q, satisfaz a relação,

Q ≤≤≤≤ N / 2 [6.5]

Page 69: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

57

O valor de Q é igual a (N / 2) quando a faixa de freqüência inteira do sinal de fala é

usada na análise. A largura de faixa do filtro (bi), do iésimo filtro, geralmente satisfaz à

propriedade,

bi ≥≥≥≥ Fs / N [6.6]

com a igualdade significando que não há nenhuma freqüência que se sobreponha entre

canais de filtro adjacentes, e com a desigualdade significando que aqueles canais de filtro

adjacentes se sobrepõem. (Se bi < Fs/N então certas porções do espectro de fala estariam

perdidas na análise e o espectro de fala resultante não seria considerado muito

significante).

A figura 6.5(a) mostra um conjunto Q de filtros ideais, não-sobrepostos, que

cobrem uma faixa de frequência de Fs/N(½) até (Fs/N)(Q+ ½ ).

Já a figura 6.5(b) mostra um conjunto real dos filtros cobrindo a mesma faixa de

freqüências.

Figura 6.5: (a) ideal (b) real. Respostas de um banco de filtros de Q – canais com cobertura de uma faixa de frequência de Fs/N(½) até (Fs/N)(Q+ ½ ).

Uma alternativa para os bancos de filtro uniformes, são os bancos de filtros não-

uniformes. Um critério comumente usado para espaçar os filtros não uniformes é a escala

de freqüência logarítmica. (Uma escala de freqüência logarítmica é freqüentemente

justificada de um ponto de vista da percepção audível do ser humano). Assim, para um

conjunto de Q filtros passa faixa com freqüências centrais, (fi), e largura de faixa (bi), 1 ≤≤≤≤

i ≤≤≤≤ Q , tem-se:

Page 70: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

58

b1 = C (primeira largura de banda) [6.7]

bi = α .bi –1, 2 ≤≤≤≤ i ≤≤≤≤ Q [6.8]

2

)( 11

11

bbbff i

i

j

ji

−++= �

=

[6.9]

onde C e fi são, a largura de faixa e a freqüência central do primeiro filtro e αααα é o fator de

crescimento logarítmico.

Os valores mais comumente usados de αααα são: αααα=2, que dá um espaçamento de

faixa de uma oitava nos filtros adjacentes e αααα= ¼ que dá um espaçamento de 1/3 de oitava

na faixa do filtro.

Como exemplo, pode se supor a construção de um banco de filtros de quatro

faixas, com espaçamento de uma oitava, não superpostos, cobrindo uma faixa de

freqüência de 200 a 3200 Hz (com uma taxa amostragem de 6.67 kHz).

A figura 6.6 mostra os filtros ideais para este banco de filtros. São usados valores

para fi e C de 300 Hz e 200 Hz, resultando nas seguintes especificações para este banco de

filtros:

Filtro 1: f1 = 300 Hz b1 = 200 Hz

Filtro 2: f2 = 600 Hz b2 = 400 Hz

Filtro 3: f3 = 1200 Hz b3 = 800 Hz

Filtro 4: f4 = 2400 Hz b4 = 1600 Hz

Figura 6.6: Especificação para um Banco de Filtro ideal de 4 canais de uma oitava

Page 71: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

59

����������������������������������� ��

Um banco de filtro pode ser implementado de diversos modos, dependendo do

método usado para projetar os filtros individuais. O projeto de filtros digitais divide-se em

duas classes:

- Resposta ao Impulso Infinita (IIR)

- Resposta ao Impulso Finita (FIR)

Os filtros IIR (também chamados na literatura de filtros recursivos), são os mais

diretos, e geralmente são de implementação mais eficiente, seja para realizar cada filtro

passa faixa individual como uma cascata ou uma estrutura paralela.

Para filtros FIR existem vários métodos possíveis de implementar os filtros passa

faixa em um banco de filtros. A mais simples implementação é a estrutura na forma direta.

Neste caso, se a resposta ao impulso para o iésimo canal é hi(n), onde 0 ≤≤≤≤ n ≤≤≤≤ L-1, então a

saída do iésimo canal xi(n), pode ser expressa como uma convolução discreta do sinal de

entrada s(n), com a resposta ao impulso, hi(n), isto é:

xi(n) = s(n) * hi(n) [6.10]

���� ������ ������ ��� �� �� ���� ��� ������� ��� �� ��� ��� �������� �����

���������������������

A primeira consideração para qualquer banco de filtro é o tipo de filtro digital

usado. As escolhas são IIR (recursivo) e FIR (não recursivo). O projeto de filtros IIR tem

a vantagem de ser implementável em estruturas simples e eficientes. A grande

desvantagem dos filtros IIR é que a resposta em fase é não linear. Além disso, este tipo de

filtro tem a possibilidade de ser tornar instável.

Os filtros FIR alcançam a fase linear sem comprometer a habilidade de aproximar-

se das características de magnitude ideais; porém, eles normalmente são de implementação

computacional muito cara.

Para aplicações de reconhecimento de voz, uma estrutura de FFT pode ser

aplicada freqüentemente para aliviar consideravelmente a ineficiência computacional de

Page 72: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

60

bancos de filtro FIR; conseqüentemente, estruturas de banco de filtro digitais mais

práticas usam filtros FIR (normalmente em uma realização com FFT) [17].

A próxima consideração é o número de filtros a ser usado no banco de filtros. Para

bancos de filtros uniformes, o número de filtros, Q, não pode ser muito pequeno ou então a

habilidade do banco de filtros em filtrar o sinal da fala é grandemente prejudicada.

Assim, valores de Q menores que 8 geralmente são evitados. Igualmente, o valor de

Q não pode ser muito grande (a menos que haja uma considerável sobreposição de filtros),

porque as larguras de faixa dos filtros seriam muito estreitas.

Assim, sistemas práticos tendem a ter valores de Q < 32.

Embora bancos de filtros uniformemente espaçados sejam extensamente usados

para reconhecimento de voz, muitos sistemas práticos usam filtros de espaçamento não

uniformes, em um esforço de reduzir computação global e caracterizar o espectro de fala

de uma maneira mais consistente com a percepção humana.

Vale salientar que o banco de filtros é uma ferramenta importante para o

reconhecimento de voz quando o objetivo é encontrar frequências especificas de um sinal

de voz. Como exemplo pode-se citar a análise das formantes de frequência requeridas na

aproximação Acústico-fonética (Capitulo 2). Neste estudo, a aproximação utilizada é a de

Reconhecimento de Padrões onde a análise espectral do sinal é feita como um todo, deste

modo utilizamos apenas a FFT para obter o espectro de frequência do sinal.

Page 73: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

61

�����������

Como será demonstrado no capitulo 10, a FFT é uma ferramenta eficiente para a

obtenção do espectro de freqüência de um sinal. No entanto, devido à característica

interdisciplinar do reconhecimento de voz, muitas são as variáveis que influenciam no

resultado final da FFT, isto é, as características do espectro de um sinal de voz mudam,

mesmo no caso deste sinal ser pronunciado pela mesma pessoa. Portanto, precisa-se de

uma ferramenta auxiliar para dar maior confiabilidade à resposta obtida pelo sistema. As

“Wavelets” cumprem este papel de auxiliar a FFT na definição do reconhecimento de voz.

A Transformada “Wavelet”, é uma técnica relativamente pouco difundida, em

comparação com a FFT, daí a necessidade de comparar as duas ferramentas, e assim

demonstrar sua utilidade.

Não é objetivo deste trabalho desenvolver um aprofundamento teórico referente às

“Wavelets”, mas somente demonstrar a sua utilidade como uma ferramenta auxiliar à FFT

no reconhecimento de voz. Pretende-se aqui mostrar uma pequena introdução conceitual e

exemplos práticos do uso das “Wavelets” no reconhecimento de sinais.

A Transformada “Wavelet”, em alguns casos, propicia a obtenção de informações

não conseguidas com o uso da FFT. Dentre os tipos de aplicações que utilizam as

“Wavelets”, estão o reconhecimento de sinais e a compressão de imagens utilizadas pelo

FBI americano no reconhecimento de impressões digitais.

A Transformada Discreta de Fourier foi concebida no século XIX pelo matemático

francês Jean Baptiste Fourier. Como visto no capitulo 5, esta técnica permite que, a partir

de um sinal no domínio do tempo, obtenha-se o sinal correspondente no domínio da

freqüência.

�� ������������������������

A DFT (Transformada Discreta de Fourier) informa exatamente quais são as

freqüências presentes num sinal. Se for necessário analisar um sinal estacionário, ou seja,

um sinal com espectro invariante, a freqüência apontada como existente pela DFT está

presente em todo o sinal. Mas, se for necessário trabalhar com um sinal não estacionário

Page 74: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

62

(como sinal de voz), muito embora a DFT aponte as frequências presentes, ela não diz

nada sobre a localização dessas frequências, ou seja, em que instante de tempo

determinada frequência aparece. Quando essa informação é importante, deve-se lançar mão

de outra técnica. Uma delas é usar a decomposição baseada em “Wavelets”.

A tradução literal de “Wavelet”, é ondaleta, ou, pequena onda. As principais

aplicações práticas para o uso de Wavelets são:

- Detecção de características em sinais (imagens, sons e outros sinais).

- Tremores Sísmicos

- Imagens Médicas

- Compressão de imagens e sons.

- Filtragem do ruído em imagens e sons.

- Identificação de características em sinais.

A Wavelet é uma forma de onda de duração limitada que tem um valor médio igual

a zero. A figura 7.1 mostra uma comparação entre um sinal senoidal (base da análise de

Fourier) sem limite de duração (estendida de menos a mais infinito) e um sinal Wavelet

com duração limitada, assimétrico e irregular.

Figura 7.1: Onda Senoidal e Wavelet tipo db10

Matematicamente, o processo de análise de Fourier é representado pela

Transformada de Fourier (equação 7.1), que é a soma de todo o sinal f(t) multiplicado pela

exponencial complexa (que pode ser quebrado em componentes senoidais de parte real e

imaginária).

( ) ( ) dtetfF tjωω −+∞

∞−�= . [7.1]

Page 75: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

63

A figura 7.2 mostra como a transformada de Fourier decompõe um sinal qualquer

em suas componentes senoidais.

Figura 7.2: Decomposição de um sinal qualquer em sinais senoidais

(Transformada de Fourier)

Similarmente a transformada Wavelet é definida como a soma de todo o sinal no

domínio do tempo, multiplicado pela função wavelet.

�+∞

∞−= dttposiçãoescalatfposiçãoescalaC ),,().(),( ψ [7.2]

Figura 7.3: Decomposição de um sinal qualquer em sinais de diferentes escalas e posições (Transformada Wavelet)

A equação 7.2 resulta em muitos coeficientes “C”, os quais são função da escala e

da posição sinal.

A figura 7.3 mostra a decomposição do sinal utilizando-se a Transformada

Wavelet.

A Transformada Discreta Wavelet decompõe um sinal em outros dois sinais,

fazendo uso de filtros passa-baixa (chamados scaling signals) e filtros passa-alta

(chamados wavelets signals).

Page 76: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

64

Para um sinal discreto F de n pontos, existem m ( m ≤≤≤≤ n/2 ) scaling signals

denominados por V1, V2 ...Vm, e existem também m wavelets signals denominados por W1,

W2 ... Wm.

Cada par de vetores formados pelo conjunto (V1, W1), (V2, W2), ..., (Vm, Wm) é

ortogonal, ou seja, possuí produto escalar igual a 0.

A forma como se define essa base de vetores é que da origem a diferentes classes

de Transformadas Wavelets (tipo da Wavelet, ex: db10), que se prestam melhor a uma ou

outra determinada situação. Entretanto, independente dessa definição, os scaling signals

serão sempre obtidos dos filtros passa-baixa e os wavelets signals serão obtidos dos filtros

passa-alta.

A figura 7.4 mostra o nível 1 da decomposição de um sinal pelas Wavelets. O sinal

é decomposto por dois filtros, gerando os scaling signals (A -filtros passa-baixa) e os

wavelets signals (D - filtros passa-alta).

Figura 7.4: Nível 1 de uma decomposição de um sinal pelas Wavelets

Quando m = ( n/2 ), o vetor de n pontos formado pelos coeficientes (a1, a2 ...am),

seguido de (d1, d2 ...dm ) é chamado de Transformada Wavelet nível 1 do sinal original.

Este processo de decomposição é conhecido como Análise de Multi Resolução

(MRA - Multiresolution Analysis) e é o coração da análise de sinais com Wavelets.

Para melhor exemplificar o processo de decomposição das Wavelets a figura 7.5

mostra um sinal com 1000 pontos e sua decomposição.

Page 77: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

65

Figura 7.5: Exemplificação da decomposição de um sinal

pela Transformada Wavelet Nível 1

�������������������������������������������������������������

Quando se obtêm a Transformada Wavelet de um sinal discreto, realiza-se a

Transformada de nível 1. Se for feito o cálculo da Transformada Wavelet da primeira

metade desse sinal já transformado, obter-se-á no segundo nível de análise, e assim por

diante. Este processo, que está exibido na figura 7.6, pode se repetir por log2(n), onde n é o

número de pontos do sinal original.

Figura 7.6: Decomposição para Múltiplos nível das Wavelets

A Transformação de nível 1 do sinal S é composta pelos sub-sinais cA1 e cD1, a

Transformação nível 2 é composta pelos sub-sinais cA2 , cD2 e cD1, e a Transformação

Page 78: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

66

nível 3, pelos sub-sinais cA3 , cD3 , cD2 e cD1..

Nos capítulos referentes a descrição do sistema desenvolvido neste estudo, será

mostrada a utilização da Wavelet no cálculo da correlação dos sinais de voz, como uma

ferramenta auxiliar ao cálculo da correlação da FFT.

Page 79: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

67

��������������������� ��������������

Para desenvolver um sistema completo de Reconhecimento de Voz é necessário

primeiramente escolher um software de desenvolvimento (linguagem de alto nível). Dentre

as principais linguagens de desenvolvimento estão o C/C++, Visual Basic e o Delphi.

Todas estas linguagens de programação possuem um ambiente de desenvolvimento

de alto nível e com grande capacidade de processamento de inúmeros algoritmos básicos,

como o seno e o co-seno etc. No entanto, estas linguagens não possuem nenhuma

ferramenta específica para o cálculo de algoritmos com grande complexidade, tal como a

FFT (se precisarmos efetuar o cálculo da transformada de rápida de Fourier (FFT) de um

sinal temos que desenvolver todo o algoritmo em C/C++, por exemplo).

Como citado nos capítulos anteriores, um sistema completo de reconhecimento de

voz possui a característica da interdisciplinaridade, ou seja, uma vasta gama de

conhecimentos é empregada no desenvolvimento do sistema, desde a aquisição do sinal de

voz até o reconhecimento de um padrão. Além da quantidade, existe também a

complexidade dos cálculos envolvidos no processamento. Estes fatores influenciam o

desempenho e a precisão do reconhecimento de voz e exigem um software de

desenvolvimento que possua as qualidades de rapidez e precisão nas diversas tarefas

inerentes ao sistema.

Devido a este fato, desenvolver um sistema complexo como o de Reconhecimento

de Voz torna-se uma tarefa árdua em linguagens como o C/C++, pois cada algoritmo tem

que ser programado individualmente, aumentando a possibilidade de pequenos erros de

programação (bugs) que podem levar a resultados errados e comprometer a qualidade do

sistema.

Existem vários softwares de desenvolvimento com ferramentas pré-programadas. O

que mais se destaca na área de engenharia é o MATLAB.

Desde a sua primeira versão (1984), o MATLAB é tido como produto líder na

área de computação numérica e científica. Mais que um software de desenvolvimento de

programas, o MATLAB é um ambiente integrado de modelamento de sistemas e

algoritmos, ideal para implementação de projetos complexos, e por esta razão vem sendo

adotado como ferramenta de desenvolvimento padrão pelas principais universidades e

empresas no Brasil e no mundo.

Page 80: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

68

O MATLAB é o núcleo de um ambiente de computação numérica baseado em

matrizes que integram:

- funções de tratamento numérico de alto desempenho;

- sofisticados recursos de geração de gráficos para visualização de dados;

- poderosa linguagem de programação de alto nível.

������������������������������������

A tela de desenvolvimento do MATLAB é basicamente constituída por duas

partes principais:

- [Command Window]: Janela de Comando

- [Workspace]: área de memória de trabalho do MATLAB.

Figura 8.1: Janela de Comando do MATLAB

A janela de comando vista na figura 8.1 é o espaço onde são digitados os dados e

instruções para o MATLAB e exibidos os resultados.

Page 81: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

69

O sinal de prompt “>>” indica estado de espera de entrada de dados ou

instruções.�

� A área de memória do MATLAB (Workspace) é o local onde ficam armazenadas

as variáveis criadas na janela de comando. A figura 8.2 mostra a área de memória

(Workspace).

Figura 8.2: Área de Memória do MATLAB

O MATLAB possui versões para diferentes ambientes operacionais. O sistema de

reconhecimento de voz aqui desenvolvido chama-se “Parlato” (capítulo 9) e foi

desenvolvido na versão MATLAB 6 (R12) para ambiente Windows 98.

A figura 8.3 mostra a tela de desenvolvimento completa do MATLAB, organizada

da seguinte forma:

A. Janela de Comando [Command Window]: área de trabalho na qual as instruções

são digitadas.

B. Janela de Informações [Launch Pad]: área na qual são exibidas informações,

textos explicativos e exemplos de utilização dos produtos instalados.

C. Janela de Memória [Workspace]: área na qual são exibidas as variáveis

definidas na área de trabalho do MATLAB.

D. Janela de Histórico [Command History]: área na qual ficam armazenadas todas

as instruções executadas no MATLAB.

Basicamente existem duas formas de desenvolver um programa no MATLAB.

Uma delas é desenvolver o programa direto na Janela de Comando, o que possibilita o teste

Page 82: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

70

do algoritmo instantaneamente. A outra opção é criar um arquivo de programa executável

dentro do MATLAB que é chamado de arquivo “m.file” devido a sua extensão ser “.m”.

Os “m.files” são programas desenvolvidos dentro do MATLAB e somente são

reconhecidos e executados no ambiente do MATLAB.

Figura 8.3: Tela completa do ambiente de Desenvolvimento do MATLAB

���������������������������������������

Chamadas de “Toolbox”, as caixas de ferramentas do MATLAB são o que o

diferenciam dos outros softwares de desenvolvimento como o C/C++.

O MATLAB possui inúmeras caixas de ferramentas com algoritmos pré-

programados para cada ramo específico de conhecimento. Se o intuito for por exemplo,

utilizar algoritmos para o processamento de imagens no MATLAB, basta usar a caixa de

ferramentas “Image Processing Toolbox” que contém inúmeros algoritmos prontos para

o processamento de imagens.

O MATLAB não possui uma caixa de ferramentas específica para o

reconhecimento de voz.

Page 83: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

71

As principais caixas de ferramentas do MATLAB podem ser encontradas na

Janela “Launch Pad”, a qual fornece um rápido acesso ao menu de “ajuda” (help) de cada

ferramenta. A figura 8.4 mostra a Janela “Launch Pad”.

Figura 8.4: Janela “Launch Pad” do MATLAB

No desenvolvimento do sistema “Parlato” (Capítulo 9) foram utilizados vários

algoritmos, os quais podem ser encontrados nas caixas de ferramentas descritas abaixo:

- Data Aquisition Toolbox: Caixa de ferramentas com algoritmos e funções para

aquisição de dados.

- Filter Design Toolbox: Caixa de ferramentas com funções para elaboração e

filtros e banco de filtros.

- Signal Processing Toolbox: Caixa de ferramentas com funções para o

processamento de sinais, tais como a FFT.

- Statistics Toolbox: Caixa de ferramentas com funções estatísticas tais como a

correlação.

- Wavelet Toolbox: Caixa de ferramentas com funções e algoritmos de análise

espectral de sinais através das “wavelets” (método similar a FFT).

- Database Toolbox: Caixa de ferramentas com funções e procedimentos para a

criação e manipulação de arquivos de banco de dados.

Além das caixas de ferramentas específicas, muitas funções matriciais e numéricas

foram utilizadas na confecção do sistema de reconhecimento de voz “Parlato” (capítulo

Page 84: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

72

9). A utilização de todas estas funções e ferramentas de cálculo, justifica o uso do

MATLAB como software de desenvolvimento de um sistema complexo como de

reconhecimento de voz, pois neste caso, a atenção do programador fica voltada ao sistema

e não a pormenores como o desenvolvimento de algoritmos para fazer a conexão com a

placa de som, por exemplo.

Finalmente vale salientar que o MATLAB não possui uma Caixa de Ferramentas

especifica para o reconhecimento de voz. Portanto desenvolver um sistema de

reconhecimento de voz no MATLAB torna-se uma tarefa tão árdua quanto em C/C++;

a diferença é que com o MATLAB , tem-se mais segurança na utilização de algoritmos

(algoritmos de cálculo avançado, como a FFT) que já foram amplamente testados e

aprovados. Deste modo elimina-se a possibilidade de erros na programação destes

algoritmos e conseqüentemente diminui-se a porcentagem de erros do sistema como um

todo. Portanto, o sistema “Parlato” de reconhecimento de voz (descrito no capítulo 9) é

um sistema desenvolvido neste trabalho utilizando o MATLAB como linguagem de

programação. O sistema “Parlato” é parte integrante desta dissertação.

Page 85: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

73

���������������� �����������������������

O sistema de reconhecimento de voz “Parlato” foi desenvolvido na versão do

MATLAB 6 (R12) para ambiente Windows 98. O nome “Parlato” foi escolhido para

representar uma homenagem aos descendentes de italianos (dos quais faço parte) que

ajudaram a construir este país (Brasil). Parlato é uma palavra do idioma italiano e pode

ser traduzido como o verbo “falar” conjugado no pretérito perfeito, “falado”.

Muitas funções do MATLAB 6 foram utilizadas para desenvolver este sistema.

No decorrer deste capítulo serão apresentadas aquelas que possuem real importância no

desempenho do mesmo. Estas funções são convencionalmente apresentadas em quadros de

texto com letras no formato “Arial-10, itálico”. Os comentários são precedidos do caractere

“%” com letras no formato “Times New Roman-10”. Uma linha de comando do MATLAB é

iniciada sempre com símbolo “>>”.

O sistema Parlato é constituído por vários subprogramas que utilizam as funções

do MATLAB para executar tarefas específicas. Os subprogramas desenvolvidos são:

- Subprograma AQS: subprograma que executa a aquisição de dados de um sinal

de voz, adquirido através de um microfone e amostrado pela placa de som. Este

subprograma também faz a filtragem, calcula a FFT e a Densidade Espectral de Potência

do sinal amostrado.

- Subprograma AQS_Wavelet: calcula as “wavelets” do sinal amostrado.

- Subprograma Grava_Amostra: grava o sinal amostrado em um banco de dados.

- Subprograma AQR: subprograma que faz a aquisição do sinal a ser reconhecido

(amostragem de reconhecimento).

- Subprograma CCorr: calcula o coeficiente de correlação entre os sinais gravados

(banco de dados) e o sinal amostrado. Em seguida testa a possibilidade do sinal amostrado

ser igual ou parecido com alguma das amostras gravadas. Este subprograma também é

responsável pelo acionamento de um equipamento eletro-eletrônico.

- Subprograma Dens_Espec: calcula e mostra a densidade espectral de potência de

um sinal amostrado, antes e após a filtragem.

Todos este subprogramas são gerenciados pelo programa principal chamado

“Parlato”, o qual apresenta uma tela de interface com o usuário mostrada na figura 9.1.

Page 86: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

74

A tela do sistema “Parlato” é subdividida em três janelas não móveis:

A. Janela de Comando

B. Janela Gráfica.

C. Janela de Verificação.

A janela de comando está situada no lado superior esquerdo e possuí vários

botões. O nome de cada botão descreve a sua função. A janela gráfica situada no lado

direito da tela é reservada para a visualização dos gráficos dos sinais amostrados, gravados

ou reconhecidos. No lado inferior esquerdo da tela está a janela de verificação, destinada

à visualização do sinal amostrado para conferência visual do usuário.

Figura 9.1: Tela do programa Parlato.

A figura 9.2 mostra a janela de comando do sistema Parlato. Esta janela possui os

seguintes botões de comando:

- [AQUISIÇÃO DO SINAL]: executa o subprograma AQS que é responsável pela

aquisição do sinal de voz, cálculo da FFT e a visualização do sinal.

Page 87: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

75

- [ESPECTROGRAMA]: mostra na tela o espectrograma do sinal, ou seja,

mostra todas as freqüências existentes nos sinais original e filtrado.

- [WAVELET DO SINAL]: apresenta na tela os gráficos das wavelets do sinal.

- [OUVIR SOM]: através deste botão o usuário pode ouvir o som amostrado,

verificar se o sinal foi adquirido corretamente e se o mesmo serve para ser gravado como

padrão.

- [INICIA >>]: Este botão de comando é responsável pelo inicio do

reconhecimento de voz.

Figura 9.2: Janela de Comando do sistema Parlato

Pode-se ver ainda na janela de comando um quadro com o título CONTROLE

DAS AMOSTRAS. Esse quadro será mostrado posteriormente no item referente à

gravação de amostras.

No lado superior direito da janela de comando existe um espaço com o título

RESULTADOS. Esse espaço é reservado para a apresentação dos resultados obtidos no

reconhecimento voz.

Page 88: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

76

A figura 9.3 mostra a Janela de Verificação. Nesta janela pode-se visualizar o

sinal amostrado, a FFT e a densidade espectral de potência deste sinal, bastando apenas

clicar no botão desejado. Existe ainda uma opção com marcador “���� Grade” que serve

para acionar ou desligar a impressão das linhas de grade no sinal.

A Janela de Verificação mostra sempre o último sinal adquirido pela função AQS.

Figura 9.3: Janela de Verificação do sinal amostrado do sistema “Parlato”

A Janela Gráfica será descrita no próximo item, referente à aquisição de um sinal

de som.

��� ���������������������������

A aquisição do sinal de voz, é a primeira etapa do sistema de reconhecimento de

voz. Para realizar a aquisição do sinal de voz precisa-se de um bom microfone, de uma

placa de som e do software adequado. Todos estes fatores devem ser considerados pois

influem diretamente na qualidade do som adquirido e conseqüentemente nos resultados

obtidos.

��������������� !��"!#$%"��&��#$�'�()��"!���*�

Um dos melhores modos para aumentar precisão do reconhecimento da fala é ter o

microfone certo. Diferentes tipos de microfones e suas características são apresentados

abaixo:

Page 89: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

77

- Microfone embutido no computador ou no monitor: Microfones embutidos

em computadores ou nos monitores de um computador trabalham bem em funções de

comando e controle no reconhecimento de fala, mas não trabalham bem para o ditado,

porque ficam longe da boca do locutor e detectam muito barulho do ambiente.

- Microfone de teclado: Microfones localizados nos teclados não trabalham bem

para reconhecimento de fala porque também ficam longe do locutor e detectam muito

barulho do ambiente, além de não estarem direcionados ao locutor.

- Microfone “Clip-on”: São microfones colocados sobre a camisa (roupa) do

locutor. Apesar de estar localizado perto da boca do locutor este tipo de microfone não

tem um bom desempenho, pois não está direcionado ao locutor, adquirindo assim muito

barulho do ambiente.

- Microfone “Close-Talk”: Este tipo de microfone geralmente está associado a um

fone de ouvido. O fone de ouvido é colocado sobre a cabeça e o microfone é aproximado

bem perto da boca do locutor. Estes microfones são os melhores para o reconhecimento de

fala e ditado porque eles são unidirecionais, captando diretamente o som da fala e,

conseqüentemente, pouco barulho de fundo (ambiente). Infelizmente, o cabo deste tipo de

microfone às vezes é um pouco curto.

- Microfone de Mesa: Microfones de mesa normalmente descansam em um posto

de microfone. Para funcionar bem deve ser apontado para o locutor e ficar a

aproximadamente 15cm de sua boca. São muito sensíveis a ambientes barulhentos.

- Microfone de “Orelha”: São parecidos com o “Close-talk”, pois também

possuem fone de ouvido (apenas um). Possui uma haste em forma de um gancho, e esta

haste descansa sobre a orelha do locutor. Estes microfones trabalham bem para

reconhecimento de fala e ditado. Infelizmente, o cabo deste tipo de microfone também às

vezes é um pouco curto.

- Microfones Segurados na Mão: Apesar de detectar pouco barulho externo, os

microfones de mão possuem o inconveniente de serem segurados pelo locutor. Eles devem

ser segurados a aproximadamente 10 cm longe da boca do usuário. Manter esta distância

torna-se cansativo, o que dificulta o uso deste tipo de microfone.

Portanto, os microfones mais adequados ao reconhecimento de voz são os “Close-

Talk” e os de “Orelha”, pois permitem que o microfone fique o mais próximo da boca do

locutor. Estes microfones são unidirecionais e, conseqüentemente, captam pouco barulho

do ambiente.

Page 90: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

78

O microfone está para o reconhecimento de voz como um termopar está para um

sistema de controle de temperatura, ou seja, a escolha do microfone correto é decisiva para

os próximos passos do sistema de reconhecimento de voz.

Para desenvolver o sistema Parlato foram testados vários microfones e finalmente

foi optado pelo uso do “Close-Talk”, pois o mesmo possui as qualidades necessárias para

um bom desempenho. O microfone utilizado foi da marca Clone , com fone de ouvido,

com as seguintes características:

Fone de Ouvido: - Impedância 32 Ohms

- Freqüência de resposta: 20 – 20.000 Hz

- Sensibilidade: 105 dB ± 4 dB

Microfone: - Omni-Direcional

- Freqüência de resposta: 20 – 16.000 Hz

����+����,%�%�"!���*�$-�,�.%"%��

� Como o sistema Parlato foi desenvolvido no MATLAB, a escolha da placa de

som adequada levou em conta a compatibilidade com este software. A caixa de

ferramentas “Data Aquisition Toolbox” do MATLAB possui ferramentas para aquisição

de som de placas compatíveis com a SoundBlaster.

Todo o sistema foi desenvolvido utilizando uma placa de som “Plug and Play” do

tipo DJ(ππππ) 4100 fabricado pela Tsunami com as seguintes características:

Placa de Som: - Entrada para Microfone 3,5mm

- Saída para fone de ouvido

- Saída paralela para caixas de som do computador

- 16 bits por canal

- Impedância de 32 Ohms.

- Drive (software de operação): C-Media CM8738

- Compatível com o sistema da SoundBlaster.

- Compatível com Windows 98, NT, ME e 2000.

Page 91: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

79

O MATLAB provê todas as informações sobre a placa de som instalada no

computador através da função “daqhwinfo”. Ao executar esta função na janela de

comando do Matlab tem-se:

Das características retornadas na janela de comando vale salientar:

- Resolução da placa de som = 16 Bits

- Faixa de tensão do sinal de entrada = [-1 a 1] Volt

- Máxima taxa de amostragem = 44100 Hz

- Mínima taxa de amostragem = 8000 Hz

- Canais disponíveis = 2 (stéreo)

����/����#$�'�()��"����*� ���%-,%0

Para adquirir uma amostra de som no Matlab deve-se seguir os passos:

a) Declarar uma variável que esteja ligada ao adaptador da placa de som. Isto é

feito através da função “analoginput”:

Ai = analoginput ('winsound'); Ai= variável

>> daqhwinfo >> ans = % respostas fornecidas pela função daqhwinfo

% (propriedades da aquisição de som) AdaptorName: 'winsound'

Bits: 16

DeviceName: 'C-Media Audio Record (D000)'

InputRanges: [-1 1]

MaxSampleRate: 44100

MinSampleRate: 8000

NativeDataType: 'int16'

SampleType: 'SimultaneousSample'

SingleEndedIDs: [1 2]

SubsystemType: 'AnalogInput'

TotalChannels: 2

VendorDriverDescription: 'Windows Multimedia Driver'

VendorDriverVersion: '4.0'

Page 92: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

80

A variável “Ai” (Analog input) possui todas as características de ligação entre o

Matlab e a placa de som. A ligação é feita através do objeto “winsound”.

b) Definir as propriedades de pertinentes ao adaptador conforme abaixo:

Existem várias maneiras de se fazer a aquisição de um sinal de som. Cada maneira

é escolhida definindo as propriedades do adaptador “winsound”. Na configuração acima

foi definido que:

- A amostragem será feita em apenas um canal (utiliza menos memória).

- A taxa de amostragem será de 22050 (metade da capacidade máxima da placa,

pois utiliza menos memória do que em 44100 Hz).

- A amostragem terá a duração de 0,7 segundos. (tempo suficiente para adquirir

amostra de palavras com até três sílabas).

- O disparo do início da aquisição será controlado pelo software (não

automática).

- A condição de disparo da aquisição é sinal de voz > 0,1 volts. Isto significa que

pequenos ruídos externos não fazem disparar a aquisição de dados.

Uma vez definidas as propriedades, executa-se a função “getdata(Ai)”, a qual será

responsável pela aquisição do sinal de som.

Os dados do som amostrados são armazenados na variável “dados” e o tempo de

aquisição, na variável “tempo”.

>> canal= addchannel(Ai,1:1); % Adiciona um canal da placa de som “ai”.

>> set(Ai,'SampleRate',22050); % Taxa de amostragem em 22050 Hz

>> taxa_atual = get(Ai,'SampleRate'); % taxa_atual = o valor da taxa de amostragem

>> set(Ai,'SamplesPerTrigger',taxa_atual*0,7); % define duração da amostragem em 0,7 segundos

>> set(Ai,'TriggerChannel',canal) % define o canal para o disparo da aquisicao

>> set(Ai,'TriggerType','Software') % define o controle do disparo através do software

>> set(Ai,'TriggerCondition','Rising') % define disparo da aquis. com voltagem >0 Volts

>> set(Ai,'TriggerConditionValue',0.1) % define voltagem >0.1Volts para iniciar aquisição

[dados,tempo] = getdata(Ai);

Page 93: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

81

O Subprograma desenvolvido “AQ_S”, faz todo este procedimento de aquisição

dos dados do som e ainda utiliza estes dados para calcular a FFT do sinal.

Por fim este subprograma mostra na tela o gráfico do sinal amostrado, a FFT do

sinal e a densidade espectral do sinal em dB.

A figura 9.4 mostra a parte direita da tela do sistema Parlato (Janela Gráfica) com

os gráficos do sinal de som, da FFT e da densidade espectral da palavra “Pare”.

Figura 9.4: Gráficos do sinal de som, FFT e densidade espectral em dB da palavra “Pare”

gerados pelo sistema Parlato, através da sub-função AQ_S

Page 94: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

82

��+����1����2�������������������3

O próximo passo após a aquisição do sinal é a filtragem. Como um sinal de voz

compreende a faixa frequências de 100 a 6.000 Hz, deve-se filtrar todas as freqüências

acima deste patamar. A função “filter” executa o processo de filtragem no MATLAB.

No entanto, esta função precisa de dados de entrada como o tipo de filtro usado, frequência

de corte, freqüência de aquisição, e a ordem do filtro.

��+�� ���4��!"%"!'�"����,-���$-�,�.%"��

��4�'�"!�1�,-��5�Para esta filtragem foi utilizado um filtro FIR (mais adequado ao

reconhecimento de voz, como visto no capítulo 6), passa baixa, tipo Butterworth, cuja

resposta em freqüência é mostrada na figura 9.5.

��"!*�"��1�,-��5� �A função “buttord” calcula a ordem do filtro a ser usado. Para

tanto deve-se fornecer a freqüência de corte do filtro (Wp), o ondulação(rp) em dB, a

atenuação em dB (rs) da freqüência acima do corte desejada (Ws).

Figura 9.5: Gráficos da resposta do filtro Passa Baixa, tipo “Butterworth” de ordem n=11

Page 95: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

83

Neste caso especifico a freqüência de corte do filtro é 6.000 Hz com atenuação de

60 dB em 8.000 Hz e a ondulação de 3 dB. A freqüência de aquisição do sinal é 22.050 Hz.

Assim a freqüência de Nyquist fica em 11.025 Hz, praticamente o dobro da maior

frequência do sinal de voz, que gira em torno de 6.000 Hz .

O filtro tipo Butterworth, mencionado anteriormente é implementado pela função

“butter”, com os devidos coeficientes calculados e fornecidos pela função “buttord”.

Após a definição do tipo de filtro e suas características a filtragem é feita através

da função “filter”. Os passos para a execução destas funções são mostrados no quadro

abaixo.

��/ ���6��������11����������3�

Para se obter o espectro de freqüência do sinal amostrado optou-se pela utilização

direta da FFT por dois motivos:

- A simplicidade no uso e a rapidez da resposta.

Para calcular a FFT de um sinal no MATLAB utiliza-se a função “fft”, a qual

calcula os coeficientes de amplitude da freqüência do sinal desejado (discreto). No quadro

abaixo vê-se a função sendo usada para calcular o espectro de freqüência do sinal de voz

previamente filtrado.

% dados iniciais:>> Wp= 6000 Hz; % frequência de corte >> Ws= 8000 Hz; % frequência onde a atenuação é de 60dB >> rp =3 dB; % máximo ripple >> rs=60 dB; % atenuação na frequência de 8000 Hz

% calcula a ordem e os coeficientes do filtro >> [n,Wn] = buttord(Wp,Ws,rp,rs) % Calcula a ordem do filtro

% valores calculados: >> n = 11; % n= ordem do filtro >> Wn = 0.5472; % Wn= Coef. Referente a freq. de corte

% Implementação do filtro tipo Butterworth: [b,a] = butter(n,Wn); % b, a = Coeficientes do filtro.

% Sinal de voz armazenado na variável = dados% Filtragem do sinal de voz dados_f = filter(b,a,dados); % dados_f = contém sinal filtrado

Page 96: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

84

Os valores fornecidos pela função “fft” geralmente são complexos e dispostos de

forma seqüencial. Para uma melhor apresentação gráfica deste sinal utiliza-se o valor

absoluto dos coeficientes e a visualização do gráfico é feita com o sinal centralizado. Na

figura 9.4 o segundo quadro mostra a FFT do sinal de voz .

��7 2��������������������������

Uma vez definida a amostra do sinal que se deseja gravar como padrão, basta

apenas gravar esta amostra em arquivo. O sistema de banco de dados escolhido foi o de

arquivos binários pois este tipo de arquivo ocupa menos espaço na memória.

Provavelmente o ponto mais difícil nesta etapa seja a escolha do sinal a ser gravado

como padrão. O sinal padrão será a base para o reconhecimento de um sinal qualquer.

Neste caso utilizou-se a escolha visual e auditiva, a qual é feita da seguinte maneira:

- Utilizando o programa Parlato [botão AQUISIÇÃO DE SINAL], pronuncia-se

várias vezes a palavra desejada.

- Através da Janela de Visualização (figura 9.3) procura-se visualizar qual é o

padrão gráfico da FFT destes sinais.

- O padrão visual que mais se repetir (ou aproximado) é o escolhido.

- Através do botão “OUVIR SOM” da janela de comando do sistema Parlato,

pode-se ouvir o som amostrado e verificar se o mesmo possuí uma boa

qualidade para gravação.

Portanto, a escolha da amostra padrão a ser gravada é feita pelo usuário visualmente

no software, com a ajuda da audição do sinal gravado.

A figura 9.6 mostra a parte da janela de comando do sistema Parlato, onde se

vêem os botões para gravação (GRAVAR AMOSTRA) e visualização (LER AMOSTRAS) das

amostras gravadas. Além disso existe um botão para apagar a amostra gravada (APAGAR

AMOSTRA), pois a escolha da amostra padrão pode não ter sido a melhor. Neste caso o

usuário pode apagar esta amostra e gravar uma nova. Pode-se ainda apagar todo o banco de

dados de amostras com o botão (APAGAR TODAS AMOSTRAS).

% O sinal filtrado está contido na variável “dados_f” % Calculo da FFT

>> yfft = fft(dados_f,Fs);

Page 97: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

85

A opção “���� Ver Wavelet da Amostra”, (vista em um pequeno quadrado na tela) é

responsável pela visualização da wavelet do sinal.

Figura 9.6: Parte da tela do sistema “Parlato” responsável pela gravação de amostras de som

Ao clicar no botão “GRAVAR AMOSTRA” o sistema pedirá ao usuário que digite o

nome da palavra pronunciada. Este nome será gravado juntamente com o sinal amostrado.

O objetivo aqui é ter uma palavra escrita que identifique o sinal gravado. Posteriormente

esta palavra será usada no reconhecimento do sinal.

��8 ���� �������������������9������:��������� ���������

Com as amostras padrões gravadas, o sistema está pronto para efetuar o

reconhecimento das palavras pronunciadas.

Para executar o subprograma AQR (subprograma que faz o reconhecimento de voz

continuadamente) o usuário deve clicar no botão [ INICIA >>] situado no canto inferior

esquerdo da janela de comando.

O subprograma de reconhecimento é programado para fazer a leitura do sinal de

voz continuadamente. Para fazer com que o reconhecimento seja interrompido é necessário

clicar no botão usado para começar o reconhecimento. O usuário deve notar que este botão

agora tem a inscrição de ( >>>[PARE] ) e está com desenho aprofundado conforme figura

9.7. Vale salientar que durante a execução do reconhecimento de voz o sistema impede a

execução de qualquer outra tarefa.

A figura 9.7 mostra botão responsável pelo reconhecimento (janela de comando do

sistema Parlato) nas suas duas posições: iniciar o reconhecimento e parar o

reconhecimento.

Page 98: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

86

Figura 9.7: Botão que executa o Reconhecimento de Voz.

à esquerda Inicia, à direita pára o Reconhecimento.

��8�� ���"! -����%()��"��'� %,�;!�� <!��*! -�=�

Ao clicar no botão “iniciar” o usuário executa o subprograma AQR, que por sua

vez faz um trabalho semelhante ao subprograma AQS, ou seja, faz a aquisição de um sinal

(amostragem), filtra este sinal, calcula a FFT, calcula a Densidade Espectral e mostra os

gráficos na tela. Agora o título da janela gráfica do sistema Parlato descreve que o sinal

amostrado é destinado ao reconhecimento de voz.

Em seguida o subprograma AQR executa automaticamente um outro subprograma

chamado CCorr. O subprograma CCorr calcula os coeficientes de correlação da FFT, da

Densidade Espectral e das Wavelets entre o sinal amostrado e os sinais previamente

gravados no banco de dados. Além disso este subprograma também decide se o sinal

corresponde ou não a alguma amostra gravada.

��8�+����*�-!'���>4!��*! -%�'�"%�����!,%()�

Usada freqüentemente em operações de radar, sonar, comunicação digital, entre

outras. A correlação mede a similaridade entre dois sinais [23]. Se os sinais forem

totalmente diferentes a correlação retorna 0. Se a correlação retornar um valor igual a 1,

então os sinais são idênticos. Portanto a correlação tem como resposta um valor sempre

entre 0 e 1.

Experimentalmente (capítulo 10) notou-se que os valores de correlação acima de

0.9 (90%) são valores onde existe uma alta probabilidade do sinal amostrado

corresponder ao gravado. Assim, o sistema foi programado para afirmar que a palavra

reconhecida é correta se a correlação da FFT for maior que 0.9 (90%).

Também é demonstrado na parte experimental (Capítulo 10) que com valores de

correlação abaixo de 0.6 (60%) não se pode afirmar nada sobre o sinal amostrado. Neste

Page 99: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

87

caso o sistema foi programado para dar como resposta a palavra “VAZIO”, ou seja, não

houve reconhecimento do sinal.

Para valores de correlação da FFT entre 0.6 e 0.9 o sistema apresenta uma

probabilidade média do sinal amostrado corresponder ao gravado (Capítulo 10). Neste caso

não se pode afirmar com certeza que o sinal de voz reconhecido é realmente o sinal correto

(pronunciado).

Devido ao grau de incerteza obtido nos experimentos práticos (capítulo 10),

decidiu-se que somente a correlação da FFT não produz uma certeza de que o

reconhecimento esteja correto. Em mais de 64% dos casos de reconhecimento de palavras,

a correlação tem um grau de certeza considerado médio, ou seja, o coeficiente de

correlação da FFT ficou entre 0.6 e 0.9.

Com a maioria dos casos de reconhecimento sendo efetuados com a correlação

entre 0.6 e 0.9 (reconhecimento pela média) foi necessário adicionar um método à FFT

para que o sistema pudesse afirmar com certeza (ou com menor erro) que o sinal

reconhecido é realmente a palavra pronunciada pelo interlocutor.

A partir deste ponto é que se adiciona ao cálculo da correlação da FFT o cálculo da

correlação da densidade Espectral e das Wavelets (método alternativo de obtenção do

espectro de frequência de um sinal, como visto no capítulo 7).

��8�/������'$%,�.%()��"�'�!'$,-%"�'�"��!�� <!��*! -��"!���.

Após o cálculo das correlações faz-se a decisão se o sinal foi ou não reconhecido e

com que grau de certeza. A resposta é apresentada na tela em um espaço da janela de

comando do sistema Parlato.

A figura 9.8 mostra a parte da janela de comando onde são apresentados os

resultados do reconhecimento de voz.

Neste caso específico o reconhecimento foi efetuado com um valor de correlação

médio (entre 0.6 e 0.9).

A palavra reconhecida foi “PARE”, com os coeficientes de correlação da FFT

igual 0.74332, da Densidade Espectral de Potência igual a 0.81143 e da Wavelet igual

0.62421.

Page 100: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

88

Figura 9.8: Parte da janela de comando do sistema Parlato

que exibe os resultados do Reconhecimento de Voz.

��? �������1�����@�������

A transformada Wavelet é utilizada no sistema Parlato como auxiliar à FFT. No

subprograma Ccorr, além da correlação da FFT, é feita também a correlação dos

coeficientes da transformada Wavelet entre o sinal amostrado e o gravado. O objetivo é

aumentar a confiabilidade da resposta do reconhecimento de voz.

Os coeficientes cA1 , cD1 , cA2 , cD2 , ... cA10 , cD10 , são obtidos através da

função “wavedec” do MATLAB. Esses coeficientes são usados para auxiliar a

identificação dos sinais no reconhecimento de voz através da correlação.

A função wavedec decompõe um sinal de dados (variável = dados_f) utilizando a

transformada Wavelet. Para tanto é necessário informar quantos níveis (n) de

decomposição serão efetuados e qual o tipo de Wavelet utilizada .

No sistema Parlato foi utilizada a decomposição com 10 níveis e Wavelet tipo

“db10”.

��A������������������������������9������

Após o reconhecimento positivo de uma palavra, ou seja, um comando de voz

reconhecido corretamente, chega-se ao objetivo final que é o acionamento de um sistema

eletro-eletrônico através deste comando de voz.

% decomposição de um sinal filtrado “dados_f” % pela transformada Wavelet

>> n= 10; % níveis >> [C,L] = wavedec(dados_f,n,'db10');

Page 101: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

89

Para fazer o acionamento o sistema deve:

- Reconhecer corretamente a palavra falada pelo “locutor”.

- Identificar a palavra reconhecida.

- Executar o acionamento do sistema conforme a palavra reconhecida.

Como exemplo de reconhecimento pode-se citar as palavras “ANDE” e “PARE” as

quais poderiam ordenar a um robô que ande ou pare, respectivamente.

Para identificar a palavra reconhecida o sistema Parlato utiliza-se da palavra

gravada juntamente com o sinal de voz na opção “gravar amostra”, e compara com a

palavra reconhecida.

Uma vez reconhecida e identificada a palavra, o sistema deve emitir um comando

através da porta paralela ou serial para acionar o sistema elétrico adequadamente.

��A��������$�-���,!-�B ����"!����� %*! -��

Após o reconhecimento da palavra o sistema envia um sinal específico à porta

paralela ou serial do computador. Esse sinal deve ser trabalhado por um sistema eletrônico

digital com a finalidade de prover (estágio de potência) o acionamento de um equipamento

elétrico qualquer.

A figura 9.9 mostra o esquema dos pinos da porta paralela de um computador PC,

bem como a respectiva função de cada pino.

Figura 9.9: Pinos da porta paralela de um computador PC

Page 102: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

90

O sinal de saída de uma porta paralela pode ser emitido nos pinos D0, D1, D2, D3,

D4, D5, D6, D7 e D8. Com 8 pinos de saída (podem ser utilizados ainda mais 4 pinos) o

sistema pode trabalhar com um sinal de saída de 8 bits (ou no máximo 12 bits).

No entanto, não pode-se acionar diretamente através da porta paralela nenhum

sistema eletrônico, pois a tensão de saída é 5 Volts e a corrente fornecida pela porta é da

ordem de 10 a 50 mA.

Portanto, para acionar quaisquer equipamentos a partir da porta paralela deve-se

utilizar um circuito eletrônico que forneça a corrente necessária para o acionamento, ou

seja, um circuito de potência. A figura 9.10 mostra um circuito básico de acionamento de

um sistema a partir da porta paralela.

Figura 9.10: Circuito de acionamento elétrico

No circuito acima, o chip 74LS541 é usado para proteger a Porta Paralela de altas

correntes. Ele é alimentado com 5 Volts, diferente da outra parte do circuito que controla o

relê, que precisa de 12v para ser acionado. Os contatos do relê devem suportar 220V/10A,

para que se possa acionar aparelhos de potência, se assim for desejado.

Neste circuito pode-se controlar até oito dispositivos simultaneamente, a partir das

saídas S1 a S8. Se o objetivo for controlar mais do que um dispositivo, basta adicionar

mais circuitos, idênticos ao da saída S1, às demais saídas (S2 a S8).

Page 103: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

91

������������ �������������� �������������� ������������

Este capítulo visa demonstrar a utilização prática do sistema Parlato, ou seja,

controlar um equipamento elétrico através de comandos de voz.

Os experimentos realizados podem ser divididos em duas partes:

- Experimentos de reconhecimento de palavras.

- Experimentos de acionamento.

���������������������� ��� ������������������

O maior problema encontrado na fase dos testes do sistema, foi encontrar a melhor

maneira de fazer a escolha de qual palavra correspondia ao sinal medido.

Como citado no capítulo 9, o sistema faz a identificação (reconhecimento) do sinal

através do cálculo da correlação. O coeficiente de correlação é calculado entre o sinal

amostrado e os sinais previamente gravados.

��������������������� ��!"�������"�##��

Vários testes foram realizados com a utilização do coeficiente de correlação da

FFT. O teste apresentado a seguir reflete os problemas encontrados neste experimento.

Este teste foi realizado com um banco de dados de 10 palavras (números de zero a

nove). Para manter um padrão no sistema foi utilizado sempre o mesmo microfone (tipo

Close-Talk) tanto na gravação dos padrões quanto no reconhecimento. O volume e a

distância do microfone à boca do locutor foram mantidas dentro de um padrão Para esse

teste foi computada somente a correlação da FFT . O gráfico da figura 10.1 mostra os

resultados obtidos.

Dados:

- Palavras usadas: UM, DOIS, TRÊS, .... , NOVE e ZERO.

- Coef. de Correlação: Somente FFT.

- Microfone: Tipo “Close-Talk” (aprox. 3cm da boca)

- Volume: 70% do valor máximo.

Page 104: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

92

Resultados:

- Quantidade de Testes: 50 testes.

- Quantidade e Porcentagem de Acerto: 28 Acertos , 56 %

- Quantidade e Porcentagem de Erro: 22 Erros, 44 %

- Acertos com coeficiente acima de 0.9: 19 (67 % dos acertos)

- Acertos e Erros com coef. entre 0.6 e 0.9: 32 (64% dos testes)

- Todos os reconhecimentos tiveram coef. de correlação acima de 0.6.

Figura 10.1: Gráfico do teste de reconhecimento somente com correlação da FFT

Pode-se ver no gráfico da figura 10.1 que para todos os reconhecimentos, certos ou

errados, o valor do coeficiente de correlação da FFT ficou acima de 0.6.

Nota-se ainda que todos os reconhecimentos errados tiveram coeficiente de

correlação entre 0.6 e 0.9.

Pode-se afirmar também que cerca de 68% dos reconhecimentos acertados tiveram

coeficiente igual ou maior que 0.9 (19 dos 28 acertos com coef.>=0.9).

Portanto, com este teste encontrou-se o limite prático da utilização da correlação da

FFT, ou seja:

Page 105: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

93

- Coeficiente de Correlação abaixo de 0.6: Neste caso valores de correlação

abaixo de 0.6 indicam reconhecimento de voz indefinido.

- Coeficiente de Correlação acima de 0.9: Neste caso valores de correlação

acima de 0.9 indicam reconhecimento de voz correto.

- Coeficiente de Correlação entre 0.6 e 0.9: Para valores de correlação entre 0.6

e 0.9 indica reconhecimento de voz médio, ou impreciso.

Apesar de se ter um nível de acerto maior que 55%, este valor ainda é baixo.

O objetivo a seguir era melhorar o nível de acerto do sistema. Para tanto foram

utilizados além do coeficiente da FFT, mais dois parâmetros de teste: A densidade

espectral e as Wavelets do sinal.

Os motivos para tal escolha foram:

a) Dos 50 testes efetuados, 32 (64%) tiveram coeficiente de correlação entre 0.6 e

0.9 (certos ou errados). Portanto é nesta faixa de valores que se deve trabalhar

para melhorar a porcentagem de acerto do sistema.

b) A natureza singular de algumas palavras as torna foneticamente parecidas, ou

seja, a pronuncia de palavras como “três” e “seis” podem causar erros de

reconhecimento (figura 10.2).

A figura 10.2 mostra o gráfico da FFT (segundo gráfico) das palavras “três” e

“seis”.

O espectro de freqüência (FFT) da palavra “três” é muito semelhante ao da palavra

“seis”, havendo apenas diferença de amplitude.

Pode-se notar ainda, que a densidade espectral é consideravelmente diferente nas

duas palavras. Este fato torna o cálculo do coeficiente de correlação da densidade espectral

interessante no auxílio da escolha de qual sinal é mais apropriado ao reconhecimento.

Na figura 10.3, vemos as formas de onda das Wavelets das palavras “três” e “seis”.

Nesta figura estão apresentadas duas Wavelets de cada palavras.

As Wavelets de cada palavra são substancialmente diferentes. Assim o coeficiente

de correlação das wavelets pode ser também um auxiliar na escolha da amostra correta no

reconhecimento.

Page 106: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

94

Figura 10.2: Comparação gráfica das palavras “três” e “seis” (Sinal, FFT e Densidade Espectral)

Figura 10.3: Comparação gráfica das palavras “três” e “seis” (Wavelets)

Page 107: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

95

�����$��������������� ��!"�������"�##�%�����!�&�����'����&(���)&*�(����

Neste teste de reconhecimento foram utilizadas as mesmas palavras do teste

anterior. A diferença está no fato de que foram levados em consideração os coeficientes de

correlação da FFT , da Densidade Espectral e das Wavelets do sinal.

Com objetivo de manter um padrão, os mesmos dados do teste anterior foram

mantidos.

As figuras 10.4 e 10.5 mostram os gráficos com os resultados dos coeficientes de

correlação da FFT, da Densidade Espectral (dB) e das Wavelets (Wav), bem como os erros

e acertos obtidos.

Figura 10.4: Gráfico do teste de reconhecimento com as correlações da FFT, Densidade Espectral e Wavelet

Figura 10.5: Gráfico do teste de reconhecimento com erros e acertos

Os resultados obtidos foram:

Page 108: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

96

- Quantidade de Testes: 30 testes.

- Quantidade e Porcentagem de Acerto: 24 (80 %)

- Quantidade e Porcentagem de Erro: 06 (20 %)

Nota-se que com o uso em conjunto dos coeficientes de correlação da FFT, da

Densidade Espectral e das Wavelets a porcentagem de acerto aumentou consideravelmente

chegando a 80%. Vale salientar que os melhores sistemas de reconhecimento de voz do

mercado garantem 85% de acerto no reconhecimento de voz, podendo chegar a 95%.

Um outro dado importante é que quando ocorreu o erro no reconhecimento, a

palavra reconhecida (errada) era similar à palavra correta (pronunciada).

Esta similaridade pode ser fonética como citada no item anterior, ou em alguns

casos pode haver similaridade de entonação. Como exemplo pode-se citar as palavras

“zero” e “nove”. Apesar de serem foneticamente bem diferentes estas palavras possuem

uma entonação similar, ou seja, possuem a mesma sílaba tônica , a primeira.

�����+����'�����,�&"&��&���&(&*�&��

Experimentalmente pode-se notar que palavras foneticamente similares aumentam a

probabilidade de um reconhecimento errôneo. Uma maneira de visualizar este fato é

através do espectrograma da palavra. O espectrograma mostra a intensidade das

freqüências existentes no sinal amostrado.

A figura 10.7 mostra o Espectrograma da palavra “Esquerda”. Pode-se notar

facilmente as três regiões de frequência distintas, correspondendo às três sílabas da

palavra. Do inicio do sinal até perto de 0.15 segundos vê-se a sílaba “es”. De 0.15s a

aproximadamente 0.23s ocorreu um espaço que é chamado teoricamente de “Unvoiced” ou

um período de baixa voz (capítulo 3). De 0.23s até 0.45s vê-se a sílaba “quer”, a qual

praticamente não se extingue devido ao “r” no final da sílaba. De 0.45s até 0.5s tem-se

outro período de baixa voz “Unvoiced”. Finalmente de 0.5 a 0.6 segundos vê-se a última

sílaba “da”.

Vale salientar que o espectrograma visto na figura 10.7 apresenta freqüências de até

6 KHz devido ao sinal ser filtrado acima deste patamar.

O tempo de amostragem desta palavra é de 0.6 segundos.

Page 109: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

97

Figura 10.6: Sinal amostrado e Espectrograma da palavra “Esquerda”

A figura 10.7 mostra o sinal e o espectrograma da palavra “direita”. Apesar de ter

três sílabas e a mesma sílaba tônica da palavra esquerda, pode-se notar que os espectros

destas palavras são bem diferentes.

A distância entre as sílabas “di” e “rei”, é pequena, da ordem de 0.02s, e pode-se

ver que as mesmas estão bem próximas.

Já as sílabas “rei” e “ta” estão distantes cerca de 0.1s. Isto se dá devido à maneira

como se pronuncia a palavra “direita”, ou seja, pronuncia-se mais rápido “direi” e se

alonga o “i” para em seguida pronunciar a sílaba “ta”.

Por fim pode-se notar que, a exemplo da palavra “esquerda”, a palavra “direita”

também apresenta espaços intermediários (Unvoiced) entre as sílabas. Isto caracteriza a

separação silábica da língua portuguesa. O objetivo desta dissertação é estudar o

reconhecimento de voz para o acionamento de equipamentos elétricos. Neste caso os erros

devem ser mínimos, ou pode-se correr o risco de se ter um acionamento equivocado. Com

o intuito de reduzir estes possíveis erros no acionamento por comandos de voz, sugere-se o

uso de palavras foneticamente diferentes e, se possível, com sílabas tônicas não

semelhantes, na confecção do banco de dados de amostras padrão.

Page 110: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

98

Figura 10.7: Sinal amostrado e Espectrograma da palavra “Direita”

���$����������������� ��������

O MATLAB 6 disponibiliza ao usuário funções de manipulação para acionamento

elétrico tanto analógico como digital. Para tanto basta programar as características do

sistema elétrico desejado para que o mesmo seja acionado pela porta paralela ou serial do

computador.

Portanto, qualquer sistema elétrico pode ser acionado por comandos de voz através

do sistema Parlato (desde que seja programado adequadamente). Freqüentemente é

necessário o desenvolvimento de uma interface (circuito de potência, conforme visto no

capítulo 9) de controle do sistema elétrico a ser acionado.

O sistema elétrico a ser controlado neste experimento é um robô didático chamado

“Khepera”. A escolha do robô Khepera se deu pelos seguintes motivos:

- O laboratório de robótica do curso de Engenharia Elétrica da UDESC dispõe de

um robô Khepera para uso em pesquisas.

Page 111: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

99

- Existem rotinas de controle do robô Khepera geradas para o MATLAB 6. Isto

se deu pelo fato do Khepera ser um robô didático amplamente utilizado.

- Não é objetivo deste trabalho desenvolver um sistema eletrônico para controlar

um sistema elétrico qualquer, mas sim demonstrar a utilidade do sistema de comando de

voz. Portanto o robô Khepera torna-se ideal pois possui uma interface (circuito de

potência) pronta para ser usada, bastando apenas conectá-la ao computador.

Se o sistema Parlato é capaz de acionar um robô do tipo didático como o Khepera

então será capaz de acionar, por comando de voz, qualquer outro sistema elétrico, desde

que observadas suas características de acionamento e comando.

���$������-.�/ �'��&�

Khepera é um robô miniatura do tipo móvel e possui funcionalidade semelhante aos

grandes robôs usados em pesquisa e em sistemas didáticos. A figura 10.6 mostra o robô

Khepera .

Figura 10.8: Robô Khepera

O Khepera foi projetado originalmente como uma ferramenta pedagógica para um

Programa de Pesquisa da EPFL em Lausanne-Suíça.

Page 112: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

100

O Khepera permite testar em ambientes reais os algoritmos desenvolvidos em

simulação, tais como: movimento em trajetória plana, desvio de obstáculos, pré-

processamento de informações de sensores (luz e aproximação), entre outros.

Muito modular em nível de software e hardware, o Khepera tem uma biblioteca

muito eficiente de aplicações para controlar o robô.

Possui também um grande número de módulos de extensão, o que o torna

adaptável a uma extensiva gama de experimentos.

Para facilitar a programação do robô, o fabricante disponibiliza diversas

ferramentas de controle para vários softwares de desenvolvimento. Entre eles estão o

“SysQuake”, o LabVIEW e o Matlab. Existe ainda a possibilidade de programar o

robô Khepera com linguagem C.

O robô Khepera é compacto, de fácil uso, possui um micro controlador com grande

poder de processamento, além de muitos sensores.

O software do robô é de domínio livre, o que facilita o trabalho com o mesmo.

Devido à sua grande flexibilidade e também à vasta gama de acessórios que podem

ser acoplados a ele, o robô Khepera pode ser utilizado em inúmeras experiências, tais

como: Navegação, Inteligência Artificial, Controle, Programação em tempo real, etc.

���$�$��� �"&���������&�(&-�'&�&�����-.�/ �'��&�

Como citado anteriormente, o fabricante do robô Khepera disponibiliza ao usuário

ferramentas prontas para várias plataformas de desenvolvimento, inclusive para

MATLAB. Dentre os subprogramas disponibilizados pelo fabricante, pode-se citar alguns

como o controle para o robô andar, virar, parar, etc.

O objetivo aqui é apenas demonstrar que este robô pode ser controlado por

comandos de voz e portanto apenas comandos simples foram utilizados.

Para fazer com que o robô ande para frente por exemplo, deve-se executar a função

do Khepera chamada de “Ksetspeed”. Esta função deve estar inserida no subprograma de

reconhecimento de voz, para que quando o reconhecimento for positivo, o robô possa ser

acionado automaticamente, ou seja, “ande”.

Para fazer com que o robô “pare” deve-se executar a função “Kstop”, a qual faz

com que o robô “pare”.

Page 113: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

101

���$�+������0(�&�����-�!����

Inicialmente os testes realizados com o sistema Parlato foram somente de

reconhecimento da palavra pronunciada sem o acionamento de qualquer equipamento (fase

de testes preliminares, item 10.1).

Uma vez que o sistema funcionava bem no reconhecimento de palavras passou-se

para a etapa final, ou seja, acionar um equipamento elétrico através de comandos de voz.

A primeira bateria de testes realizada com o robô Khepera, tinha como objetivo

fazer o robô andar, parar e voltar continuadamente. Vários testes desta natureza foram

realizados. Os resultados obtidos em um destes testes são apresentados abaixo e

representam o comportamento médio de todos os testes deste experimento:

- Quantidade de Testes: 30 testes.

- Palavras utilizadas: ANDE, PARE, VOLTE.

- Quantidade e Porcentagem de Acerto: 27 Acertos , 90 %

- Quantidade e Porcentagem de Erro: 03 Erros, 10 %

Vale salientar que os erros aqui apresentados foram de não reconhecimento, ou

seja, o valor da correlação nestes casos ficou abaixo de 0.6.

A segunda bateria de testes realizada, tinha como objetivo fazer o robô virar a

esquerda e voltar, virar a direita e voltar, continuadamente. Novamente vários testes foram

realizados e um deles é apresentado abaixo:

- Quantidade de Testes: 30 testes.

- Palavras utilizadas: ESQUERDA, DIREITA,

VOLTE, PARE

- Quantidade e Porcentagem de Acerto: 22 Acertos , 73 %

- Quantidade e Porcentagem de Erro: 08 Erros, 27 %

Nesta bateria de testes, pode-se notar que a porcentagem de erro aumentou. Este

resultado ocorreu devido ao fato de que as palavras “direita” e “esquerda” possuem

espectros parecidos, como o caso das palavras “três” e “seis” , citadas anteriormente.

Page 114: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

102

Com o objetivo de melhorar a porcentagem de acertos, foi feita uma terceira bateria

de testes. Agora a palavra “esquerda” foi substituída pela palavra “vire” na função de fazer

com que o robô vire a esquerda. Os resultados obtidos em média foram:

- Quantidade de Testes: 30 testes.

- Palavras utilizadas: ANDE, PARE, VOLTE,

“VIRE”, DIREITA.

- Quantidade e Porcentagem de Acerto: 25 Acertos , 83 %

- Quantidade e Porcentagem de Erro: 05 Erros, 17 %

Nesta bateria de testes ficou claro que para fazer um acionamento qualquer, a

palavra correspondente a este acionamento pode ser substituída com o objetivo de

melhorar o desempenho do sistema de reconhecimento. Como por exemplo, se o objetivo

for acionar uma lâmpada pode-se utilizar as palavras “ligue”, “luz” etc.

Portanto o reconhecimento de voz para acionamento de um sistema eletro-

eletrônico é viável dentro das limitações aqui discutidas, ou seja, para se obter um maior

acerto no reconhecimento, o banco de amostras padrão deve ser formado por palavras com

pouca semelhança espectral. Havendo necessidade de utilização de um grande banco de

dados de amostras é recomendável a utilização de algoritmos inteligência artificial, tais

como as redes neurais.�

Page 115: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

103

���������

Neste trabalho chegou-se a conclusão que o desenvolvimento de sistemas de

reconhecimento de voz para comandar equipamentos elétricos é totalmente viável,

ressalvando-se o fato que poucas palavras formam o banco de dados de amostras

utilizado.

Para sistemas de reconhecimento de voz, onde o objetivo é o reconhecimento de

pronúncia contínua (ditado), são necessárias ferramentas de busca mais eficientes e

rápidas, tais como o uso de Redes Neurais e Inteligência Artificial. Isto se dá, devido ao

fato do banco de dados de amostras possuir uma grande quantidade de palavras, o que

torna proibitivo o uso de um mecanismo de busca linear e uma análise simples do sinal.

Vários são os fatores que influem no reconhecimento de voz. A posição do

microfone, o volume do microfone, a distância do microfone à boca do usuário, o timbre

de voz do usuário, a qualidade da placa de som, os ruídos (barulho) do ambiente, os ruídos

do sistema (ruídos de rede), dentre outros. Todos estes fatores influem no resultado do

reconhecimento de voz e portanto concluí-se que para se obter melhores resultados deve-se

padronizar estes fatores o máximo possível. Para tanto deve-se usar sempre o mesmo

microfone, tanto na gravação, como no reconhecimento e procurar manter suas

características, como o volume. Deve-se também utilizar um microfone tipo Close-Talk,

que ajuda a manter uma distância padrão do microfone à boca do usuário. Deve-se ainda

eliminar ao máximo os ruídos de rede e do ambiente fazendo as filtragens necessárias.

O tamanho do banco de dados de amostras ainda é o grande problema a ser

vencido. Apesar da grande capacidade de processamento dos computadores atuais, o

tamanho do banco de dados influi diretamente no desempenho de um sistema de

reconhecimento de voz contínuo (on line).

A interdisciplinaridade do sistema de reconhecimento de voz, a vasta gama de

conhecimentos necessários e a sua inerente complexidade, fazem concluir que para

desenvolver um sistema de reconhecimento de voz que possa reconhecer e interpretar

Page 116: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

104

corretamente o ditado humano é necessário o esforço conjunto de uma equipe de

pesquisadores com conhecimento nas mais diversas áreas afins e uma boa gama de

investimento em equipamentos.

Por fim concluí-se que o desenvolvimento de um sistema de reconhecimento de voz

para o controle de equipamentos pode ser considerado como fato concreto nos dias de hoje

e que as cenas de ficção científica dos filmes de Hollywood, onde homens conversam com

máquinas inteligentes, em breve poderão ser realidade.

Como sugestão de trabalhos futuros propõe-se o reconhecimento contínuo de

palavras (ditado), pela tentativa de reconhecer palavras em português através de suas

sílabas, o que poderia diminuir significantemente o tamanho do banco de dados. Como

visto no capítulo 10, através do espectrograma, pode-se ver que as palavras em português

têm uma divisão silábica bem definida (é claro com exceções), o que pode facilitar em

muito o sistema de reconhecimento de voz, pois o núcleo de reconhecimento passaria a ser

a sílaba e não mais a palavra.

Esta linha de raciocínio, aliada a métodos de busca usando Inteligência Artificial,

podem viabilizar o sistema de reconhecimento de voz contínua.

� �

Page 117: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

105

��������������� �������

[1] K. H. Davis, R. Biddulph, and Balashek, “Automatic Recognition of Spoken Digits”, J. Acoust. Soc. Am., 24 (6) : 637-642, 1952.

[2] H. F. Olson and H.Belar, “Phonetic Typewriter”, J. Acoust. Soc. Am., 28(6): 1072-1081, 1956.

[3] D. B. Fry, “Theoretical Aspects of Mechanical Speech Recognition”; and P. Denes, “The Design and Operation of the Mechanical Speech Recognizer at University College London”, J. British Inst. Radio Engr., 19: 4,211-229,1959.

[4] J. W. Forgie and C. D. Forgie, “Results Obtained From a Vowel Recognition Computer Program”, J. Acoust. Soc. Am., 31(110: 1480-1489, 1959.

[5] J. Suzuki and K. Nakata, “Recognition of Japanese Vowels – Preliminary to the Recognition of Speech”, J. Radio Res. Lab. 37 (8): 193-212, 1961. [6] T. Sakay and S. Doshita, “The Phonetic Typewrite – Information Processing”, Proc.

IFIP Congress, Munich, 1962.

[7] K. Nagata, Y. Kato, and S. Chiba, “Spoken Digit Recognizer for Japanese Language”, NEC Res. Develop., No. 6, 1963.

[8] T. B. Martin, A. L. Nelson, and H. J. Zadell, “Speech Recognition by Feature Abstraction Techniques”, Tech. Report Al-TDR-64-176, Air Force Avionics Lab, 1964.

[9] T. K. Vintsyuk, “Speech Discrimination by Dynamic Programming”, Kibernetika, 4 (2): 81-88, Jan-Feb, 1968.

[10] D. R. Reddy, “An Approach to Computer Speech Recognition by Direct Analysis of Speech Wave”, Tech. Report No. C549, Computer Science Dept., Stanford Univ., September 1966.

[11] V. M. Velichko and N. G. Zagoruyko, “Automatic Recognition of 200 words”, Int. J. Man-Machine Studies, 2:223, June 1970.

[12] H. Sakoe and S. Chiba, “Dynamic Programming Algorithm Optimizations for Spoken Word Recognition”, IEEE Trans. Acoustics, Speech, Signal Proc. ASSP-26 (1): 43-49, February 1978.

[13] F. Itakura, “Minimum Prediction Residual Applied to Speech Recognition”, IEEE Trans. Acoustics, Speech, Signal Proc., ASSP-23(1): 67-72, February 1975.

[14] H. Sakoe, “Two Level DP Matching – A Dynamic Programming Based Pattern Matching Algorithm for Connected Word Recognition”. IEEE, Trans. Acoustics, Speech, Signal Proc. ASSP-27: 588-595, December 1979.

[15] J. Ferguson, Ed., “Hidden Markov Models for Speech”, IDA, Princeton, NJ, 1980.

Page 118: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

106

[16] A. Weibel, T. Hanazawa, G. Hinton, K. Shicano, and K. Lang, “Phoneme Recognition Using Time-Delay Neural Networks”, IEEE Trans Acoustics, Speech, Signal Proc. 37: 393-404, 1989.

[17] Lawrence Rabiner & Biing-Hwag Juang, “Fundamentals of Speech Recognitions”, Prentice Hall Signal Processing Series. Allan V. Oppenheim, Series Editor. Prentice Hall Company– New Jersey – October/2000.

[18] Berne, R. M. & Levy, M. N., “Physiology, 3th ed.”, Mosby Year Book, Boston – 1993.

[19] Zill, Gennis G. “A First Course in Differential Equations with Applications”. 4th Ed. PWS-Kent Publishing Company, 1989.

[20] E. Oran Brigham, “The Fast Fourier Transform and its Applications”, Prentice Hall, processing series. New Jersey 1988.

[21] Walker, J. “A Primer on Wavelets and Their Scientific Applications”, USA; CRC Press,

1999.

[22] K-TEAM, “página dos desenvolvedores do robô Khepera” - www.k-team.com

[23] Proakis, Jonh G. and Manolakis, Dimitris G. “Digital Signal Processing: Principles,

Algorithms, and Applications”. Upper Saddle River, New Jersey: Third Edition – Prentice

Hall, 1996.

[24] Jackson, L.B. “Digital Filters and Signal Processing”. Third Ed. Boston: Kluwer

Academic Publishers, 1989.

[25] Kay, S.M. “Modern Spectral Estimation”. Englewood Cliffs, NJ: Prentice Hall, 1988.

[26] Oppenheim, A.V., and R.W. Schafer. “Discrete-Time Signal Processing”. Englewood

Cliffs, NJ: Prentice Hall, 1989.

[27] Parks, T.W., and C.S. Burrus. “Digital Filter Design”. New York: John Wiley & Sons,

1987.

[28] Antoniou, A., “Digital Filters: Analysis, Design, and Applications”, Second Edition,

McGraw-Hill, Inc. 1993.

[29] Jackson, L., “Digital Filtering and Signal Processing with MATLAB Exercises”, Third

edition, Kluwer Academic Publishers, 1996.

Page 119: Estudo do Reconhecimento de Voz para o Acionamento de ...tede.udesc.br/bitstream/tede/1878/1/Adriano de Andrade Bresolin.pdf · tais, como o computador HAL de Stanley Kubrick no famoso

107

[30] McClellan, J.H., C.S. Burrus, A.V. Oppenheim, T.W. Parks, R.W. Shafer, and H.W.

Schuessler, “Computer-Based Exercises for Signal Processing Using MATLAB 5”,

Prentice-Hall, 1998.

[31] “Fonética, Semântica, Fonologia, Sintaxe, Morfologia” – site sobre a língua portuguesa.

http://www.portugues.com.br/.

[32] Selesnick, I.W., and C.S. Burrus. "Generalized Digital Butterworth Filter Design." Proceedings of the IEEE Int. Conf. Acoust., Speech, Signal Processing. Vol. 3 (May 1996).

[33] Moore, Martin L. “Sound Blaster o Livro definitivo”. Editora Campus – RJ 1994.

[34] Bispo, Sidney Cerqueira. “Silabas como unidades fonéticas para o Reconhecimento

automático de Voz em Português”. Revista controle e Automação – Abril 2001.