Artigo de Marcelo Terres com algumas adaptações por Marcelo Araújo
Asterisk e Google Text to Speech
No uso diário do Asterisk,
periodicamente me deparo com a necessidade de gerar arquivos de áudio
para tocar mensagens informativas básicas para o usuário.
Obter tais arquivos é uma tarefa eventualmente árdua que normalmente
envolve a gravação in house dos arquivos (que consome um tempo razoável)
ou a contratação de uma empresa especializada. Existem várias empresas
excelentes neste nicho de mercado, mas às vezes não existe orçamento ou
até mesmo tempo para produzir áudios mais básicos, para consumo interno.
Como alternativa para a criação de tais áudios, encontrei na lista AsteriskBrasil a sugestão do AGI GoogleTTS.
Este AGI
utiliza o Google Text to Speech para gerar um arquivo de áudio on demand
na linguagem que você indicar, e que, após sua geração, é
automaticamente tocado pra o usuário. Como utiliza o Google Text to
Speech, este AGI necessita de uma conexão ativa de Internet, mas, como
todo software bem planejado, ele possui um sistema de cache que garante
que a mesma mensagem de áudio não precise ser gerada mais de uma vez, o
que possibilita que os arquivos de áudio possam ser utilizados mesmo
que o link Internet esteja indisponível, contanto que o mesmo já tenha
sido gerado anteriormente.
Instalando o googletts.agi
O AGI, que é escrito em perl, depende de algumas bibliotecas e softwares bastante populares, que podem ser facilmente instalados no Ubuntu 12.04 com o comando apt-get install libwww-perl mpg123 sox.
Após fazer o download do arquivo .tar.gz, descompacte-o e coloque o arquivo googletts.agi no diretório /var/lib/asterisk/agi-bin/ para que o Asterisk possa acessá-lo. Não esqueça de verificar as permissões de acesso do arquivo.
Ajuda:
cd /var/lib/asterisk/agi-bin
wget http://github.com/zaf/asterisk-googletts/tarball/master/zaf-asterisk-googletts-v0.6-20-g3bebc50.tar.gz
tar -xzvf master
cd zaf-asterisk-googletts-3bebc50
mv googletts.agi /var/lib/asterisk/agi-bin/googletts.agi
cd cli
mv googletts-cli.pl /var/lib/asterisk/agi-bin/zaf-asterisk-googletts-3bebc50/googletts-cli.pl
cd /var/lib/asterisk/agi-bin/
rm -r zaf-asterisk-googletts-3bebc50
rm master
Aconselho que antes de iniciar o uso, o arquivo googletts.agi
seja editado para definir algumas paramêtros, como a linguagem padrão e o
diretório para armazenamento do cache (o diretório padrão, /tmp, certamente não é a melhor escolha para armazenar tais dados).
Permissões:
chmod 755 googletts.agi
Alterar ficheiro:
vi googletts.agi
mudar lingua para:
Portuguese Brazil: pt-BR ou Portuguese Portugal:pt-PT
Utilizando o googletts.agi
Abaixo um pequeno exemplo de utilização da ferramenta para informar de
maneira audível ao usuário qual seu ramal e nome de usuário:
[internal_services]
Criar um ficheiro wave:exten => *65,1,NoOp(Who Am I)same => n,Answersame => n,agi(googletts.agi,"Meu ramal é ${CALLERID(num)} e meu usuário é ${CALLERID(name)}",pt-BR)same => n,Hangup
/var/lib/asterisk/agi-bin/googletts-cli.pl -l en -t "Olá, chegou à caixa de mensagens da casa de Marcelo, por favor deixe a sua mensagem depois do sinal" -r 8000 -o /var/lib/asterisk/sounds/tts/chegoucaixamensagens.wav
Bibiografia:
http://mundoopensource.blogspot.pt/2013/01/asterisk-e-google-text-to-speech.html
http://zaf.github.io/asterisk-googletts/
http://pbxinaflash.com/community/index.php?threads/create-wav-file-with-googletts.12555/
2 comentários:
Estou tendo alguns problemas com palavras acentuadas, como à ou táxi... não interpreta os acentos no audio... deu a ideia de ser qq coisa a ver con o encoding das frases... utf8... Alguem já teve este problema?
Oi! Vi que voce colocou uma mensagem meio que de porteiro.. voce já viu uma forma de ligar o interfone no asterisk? Valeu!
Enviar um comentário