Documento original enviado em 31 de março de 2007 por Ederson Luiz Honorato <ederson.luiz.santos # itelefonica.com.br>, "Reconhecimento Síntese de Voz no GNU/Linux" original em formato doc.
Reconhecimento Síntese de Voz no GNU/Linux
Recentemente o reconhecimento de voz no linux melhorou bastante, relembrando que em outras plataformas existem aplicativos de reconhecimento de voz bastante satisfatórios, mas existe um porém, esses aplicativos são proprietários e custam caro.
Como não poderia ser diferente, existem alternativas livres como o Cvoicecontrol, mas ao que parece o seu desenvolvimento foi interrompido.
À pouco tempo conheci o Sphinx um utilitário de reconhecimento de voz desenvolvido pela Carnegie Mellon University que usado em conjunto com o Festival fornece uma ferramenta de reconhecimento de voz espetacular.
Nesse pequeno manual quero mostrar como fazer a integração desses dois excelentes programas utilizando uma interface feita em Perl chamada PerlBox-Voice.
Reconhecimento de voz
Para o reconhecimento de voz vamos utilizar o Sphinx2.
Existem novas versões: o Sphinx3 e Sphinx4, porém o Sphinx2 é mais leve que as duas últimas versões e possui boas características como reconhecimento contínuo e independência do locutor.
Após baixa-lo é só descompactar e instalar da forma usual como segue :
tar zxvf sphinx2****.tgz cd sphinx2**** ./configure make make install
Se o seu Linux usa o sistema de pacotes DEB
o link é esse:
ou
# apt-get install sphinx2-bin
Síntese de Voz
Para síntese de voz utilizaremos a última versão disponível do Festival. Basta acessar o site do desenvolvedor em... e baixar o pacote para a usa distribuição.
Caso use o Debian basta:
# apt-get install festival
Integração do Sphinx2 e Festival com PerlBox-Voice
Para fazer a integração do Sphinx2 com o Festival usaremos o PerlBox-Voice, uma bela interface feita em Tcl. Antes de fazer a instalação do PerlBox-Voice propriamente dita, é preciso instalar o Perl-Tk para que o PerlBox-Voice funcione corretamente. O Perl-Tk é um toolkit gráfico para Perl e se não veio junto com a sua distribuição, você pode encontrá-lo em :
Para usuários do Debian basta:
# apt-get install perl-tk
Para instalar o Perlbox-Voice, basta baixar o pacote nos links abaixo:
Pacote Deb
http://ufpr.dl.sourceforge.net/sourceforge/perlbox/perlbox-voice-0.09.noarch.deb
Pacote RPM
http://ufpr.dl.sourceforge.net/sourceforge/perlbox/perlbox-voice-0.09.noarch.rpm
Após fazer a instalação do pacote, basta abrir um terminal e executar:
$ perlbox-voice
Irá se abrir a seguinte interface:
Clicando na Seção Control
você terá a seguinte tela :
A caixa em branco no menu é onde você poderá escrever ou colar qualquer texto para que o PerlBox-Voice leia.
O que mais interessa é o botão Start Listener que vai iniciar o listering, interpretando todos os comandos falados no microfone e executando a ação correspondente que foi configurado na seção Vocab. O botão Stop Listener para o listering.
Clicando na Seção Vocab você terá a seguinte tela:
Nesta seção você vai configurar os comandos de voz propriamente ditos. Um inconveniente é que os comandos de voz devem ser dados em inglês que é a linguagem padrão do PerlBox-Voice ( e a única por enquanto ;-) ).
Para adicionar um comando, basta digitar na caixa When You Say (Quando Você Disser ...) o comando de voz e na caixa Computer Does (O Computador Faz...) a chamada a um comando de sistema ou aplicativo. Depois basta clicar no botão Add Entry e reiniciar o listering.
Na Seção Config você terá a seguinte tela :
No botão deslizante você configura o nível de verbosidade do locutor. Se você usa o KDE como Window Manager na caixa Desktop Plugins você encontrará a opção kde, que ativa o plugin de compatibilidade com o KDE.
Após fazer as mudanças, basta clicar no botão Apply Changes e reiniciar o listering.
Conclusão
O uso do Sphinx2 juntamente com o Festival e PerlBox-Voice fornece uma ferramenta muito útil e OpenSource, para deficientes que fazem uso do Linux. Embora falte suporte para a lingua portuguesa (e outros idiomas) o trio cumpre o que promete e mostra mais uma vez que soluções livres podem competir com softwares proprietários em qualidade e usabilidade, já que o consumo de recursos (CPU e memória ) é mínimo se comparado com aplicativos existentes para outras plataformas e o tempo de resposta é aceitável além da boa integração com os gerenciadores de janelas mais usados KDE e Gnome.