Este é meu primeiro artigo aqui no VOL.
Realmente gosto de devolver, sempre que possível, um pouco de tudo que aprendo.
Estava procurando sobre soluções para interação com voz pelo
Linux.
Achei diversas opções, excelentes! E diga-se de passagem, as mais flexíveis para diversos projetos eram as Open Source.
O melhor de tudo, é que de Asterisk a GNOME, e de Smartphone a Tablet (com base Linux, claro), você irá encontrar algumas boas ferramentas para o
que você precisa.
Com um pouco de esforço, você conseguirá adaptar um reconhecimento de voz ao seu sistema.
É necessário um básico conhecimento em Shell Script, e noções de terminal. Faço aqui uso de ferramentas que têm melhor desempenho que as formas
sintetizadas de voz que já conhecemos.
Com a Internet, temos alguns recursos On-line que podemos usar para nossos sistemas, facilitando a implementação.
Recomendo uma busca mais a fundo, se você deseja criar Softwares mais acessíveis, e ferramentas para interação.
Não sou nenhum expert no assunto. Realmente achei bastante relevante ver como andam estas ferramentas em nosso maravilhoso mundo Linux e na
WEB.
Se por acaso, você tem alguma ideia que acrescente no Script, por favor, cite nos comentários.
A seguir, quero deixar alguns caminhos para este tipo de desenvolvimento.
Informações Gerais sobre Ferramentas de Voz e suas Dificuldades
Existem inúmeras ferramentas para iniciar, basta dar uma 'googlada'.
Lista de projetos dedicados ao reconhecimento de voz para Linux, vou citar nomes e sites para referência.
Além destes, alguns projetos relacionados:
- Platypus
- Vedics
- Xvoice
- GnomeVoiceControl
- CVoiceControl
- SphinxKeys,
- Open Mind Speech
- PerlBox
- VoxForge
. . .E outros, com suporte ao português brasileiro, ou adaptados.
Fonte (em Inglês):
http://en.wikipedia.org - wiki
Porém, estava interessado em algo não tão sintetizado, pois na maioria uma configuração precisa, chamada de Phonemas, é necessária para melhor
pronunciar as palavras na língua nativa.
Na verdade, boa parte dos sistemas de reconhecimento de voz precisam ser configurados, conforme região e dialeto da língua que se pretende usar.
O português brasileiro é um conjunto de variações de Norte a Sul, Leste a Oeste do Brasil.
A língua falada sofre entonações, mudanças na fala, que se alteram devido ao posicionamento e exercício fisiológico da boca e língua, para se falar
algumas palavras de forma diferenciada.
O português brasileiro, não é o da televisão!
Sendo assim, é bastante difícil padronizar a identificação de voz para um país como o nosso.
Mas, é possível prever através da programação, as diferenças de regionalismos. Também se faz necessário, que nem mesmo os dicionários, cobrem
toda a gama de vocábulos que encontramos no Brasil.
Macaxeira, mandioca e aipim, apesar de alguns diferenciarem pelo tipo, em algumas regiões, são exatamente o mesmo tipo de alimento.
Para o reconhecimento de voz, além das frequências, cortes, e pausas, é necessário diferenciar a velocidade falada das palavras, potência de voz e
outros.
Isso não vem ao caso para nós, mas você pode estudar mais a fundo, pesquisando sobre fisiologia e pronúncia, e tudo que envolve nosso português.
Quando você olha para este balaio de necessidades, você começa a reconhecer o tamanho do esforço que isso exige.
Usando Recursos Melhorados
Para alegria de alguns, e para a decepção de outros que gostam de reinventar a roda, podemos hoje contar com diversas ferramentas, como as que
citei, com um bom avanço nestes recursos.
Ainda sim, estas ferramentas exigem uma modificação.
Faz algum tempo, o Google investiu no projeto:
http://espeak.sourceforge.net.
Este projeto Open Source, eSpeak, foi usado para o que vemos na pronuncia das palavras traduzidas pelo Google Translator, por exemplo. [1]
Também foi usada com Engine para diversos projetos nesta área pelo Google, e também para aplicativos para o
Android criados por
terceiros.[2]
No caso de reconhecimento de voz do Android, há uma Engine adaptada para
Java, que serve como propulsor dos recursos usados nos
dispositivos móveis com este sistema.[3]
Mas, temos recursos mais próximos dos nossos computadores domésticos, que podem ser usados como ferramentas para diversão e conhecimento
inicial.
[1] Em inglês:
[2] Aplicativo com Engine eSpeak:
[3] Em inglês: