|
Ainda falando sobre reconhecimento da fala utilizando o google, enviei uma mensagem na lista AsteriskBrasil onde expressava minhas idéias de como utilizar o serviço de reconhecimento de fala do google em tempo real com o Asterisk, já se passou quase uma semana sem se quer um suspiro de interesse, então resolvi seguir sozinho !
A idéia é utilizar EAGI para controle do canal de entrada de áudio em conjunto com o File Descriptor, o Asterisk entrega o áudio em formato RAW diretamente no File Descriptor 3, então podemos utilizar esta informação da maneira que acharmos conveniente, para este caso a manipulação se torna muito prática, o que me desprende totalmente das APP’s prontas para gravações inseridas no Asterisk Ex. Record, nada melhor do que ser livre para voar, é claro várias análises se tornam possíveis com isso e o leque de aplicações possíveis se tornam infinitas.
Você certamente já pensou em ter um PABX com funcionalidade para reconhecimento da fala então certamente irá precisar partir para soluções cooporativas e caras certo???
A Partir de hoje não !
Tudo que irá precisar é ter internet para acessar o google o Script possue algumas dependencias:
https://github.com/ederwander/Asterisk-Google-Speech-Recognition/blob/master/README
Estou usando novamente o módulo audiolab para efetuar o encode do áudio em FLAC, caso exista alguma dificuldade para a instalação deste módulo poderei pensar em adaptar o código para uso externo do sox ou flac.
Como ele funciona?
- Atende uma ligação
- O usuário tem no máximo 10 segundos para efetuar a fala
- Caso nao encontre atividade de voz encerra com timeout
- Estratégia para atividade de voz verdadeira para os seguintes valores RMS > 15 e Pitch > 75
- Se atividade for encontrada o usuário poderá falar por no máximo 10 segundos
- O script verifica blocos em tempo real com amostras de 1 em 1 segundo e verifica se a fala cessou
- Caso sim o script interrompe a gravação automáticamente e envia o que foi gravado para o google
- Caso não o script continua o seu curso até seu máximo de 10 segundos
- Apos encontrada a resposta da fala no google o script seta a variável “GoogleUtterance”


Source em:
https://github.com/ederwander/Asterisk-Google-Speech-Recognition
Fonte: http://ederwander.wordpress.com/2012/01/16/google-speech-python-asterisk/#comment-183 |