Reconhecimento de Voz no Linux
Este artigo serve como base inicial para a criação de recursos de reconhecimento de voz no Linux, com recursos
disponíveis na WEB e com melhor qualidade de voz.
disponíveis na WEB e com melhor qualidade de voz.
Introdução, Ferramentas e Recursos
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.
Lista de projetos dedicados ao reconhecimento de voz para Linux, vou citar nomes e sites para referência.
Além destes, alguns projetos relacionados:
. . .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.
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:
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.
- CMU Sphinx: http://cmusphinx.sourceforge.net
- Julius: http://julius.sourceforge.jp
- Simon (Construído com ferramentas do Julius): http:// sourceforge.net
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: