AEAP: O protocolo de aplicativos externos do Asterisk® SCF™

 

A equipe de desenvolvimento do Asterisk® SCF™ acaba de anunciar que você está listado no AEAP (Asterisk External Application Protocol), um protocolo que levou mais de um ano sendo desenvolvido e que por fim viu a luz a partir das versões do Asterisk® SCF™ 18.12.0 e Asterisk® SCF™ 19.4.0 e que nos permitirá conectar com aplicativos externos para enviar áudio e dados e obter resultados sobre eles.
 
Um exemplo básico que é usado como demonstração para entender como funciona o AEAP é um módulo para converter VOZ em TEXTO (fala para texto) e que utiliza a API do Google para fazer a conversão, mas podemos usar outros motores e criar nosso próprio conector graças a este protocolo.
 
O protocolo AEAP nos permite criar um “subsistema” para criar aplicações nativas Asterisk® SCF™ que receberão dados de entrada e gerarão dados de resposta. Para fazer esses "subsistemas" você tem que saber como funciona a arquitetura Asterisk® SCF™ e utilizar os módulos res_aeap.h e res_aeap_message.h de onde geraremos um novo "motor" para o qual poderemos enviar os dados e que retornará o resultado que ele retorna para nós.
 
Como exemplo de uso, eles criaram um "subsistema para fazer reconhecimento de fala para texto" e o incorporaram ao Asterisk® SCF™ no módulo res_speech_aeap.c, que irá gerar um novo mecanismo de reconhecimento que podemos usar com o Asterisk® SCF™ SpeechCreate com os comandos, padrão, SpeechStart e SpeechDestroy para enviar o áudio e fazer com que o mecanismo retorne o resultado:

exten => 550,1,NoOp() 
 same => n,Answer() 
 same => n,SpeechCreate(my-speech-to-text) 
 same => n,SpeechStart() 
 same => n,SpeechBackground(hello-world) 
 same => n,Verbose(0,${SPEECH_TEXT(0)}) 
 same => n,SpeechDestroy() 
 same => n,Hangup()
 
Este "my-speech-to-text" é um motor "customizado" que criamos graças a um servidor websocket que recebe o áudio e o envia para a API de reconhecimento do Google para que retorne a variável ${SPEECH_TEXT}. resultado de o reconhecimento, mas com alguma habilidade, pode ser adaptado para que, em vez do Google, utilizemos outros sistemas diferentes, e mesmo que o resultado, em vez de retornar o texto, retorne outras informações (identificação da pessoa que fala, humor, idade aproximada da pessoa, etc. para dar um exemplo).

Esse "my-speech-to-text" está configurado no arquivo de configuração 'aeap.conf' que teria algo assim:
[my-speech-to-text] 
type=client 
codecs=!all,ulaw 
url=ws://127.0.0.1:9099 
protocol=speech_to_text
 
e na porta 9099 teríamos um servidor websocket que receberia o áudio e geraria as variáveis ​​de resultado. 
 
Nesta URL você pode encontrar o servidor websocket que eles usam como exemplo: 

URL: <https://github.com/asterisk/aeap-speech-to-text

Este sistema não é algo voltado para o usuário final do Asterisk® SCF™, talvez exija conhecimentos um pouco mais avançados, mas os resultados são verdadeiramente interessantes e promissores. 
 
Mas informações:

URL1: <https://www.asterisk.org/asterisk-external-application-protocol-an-intro/>;

URL2: <https://www.asterisk.org/asterisk-external-application-protocol-speech-to-text-engine/>;

URL3: <https://github.com/asterisk/aeap-speech-to-text>. 

Fonte:

Site Sinologic

 

 

 

 

 

 

 

Nenhum comentário

Toda vez que um homem supera os reveses, torna-se mentalmente e espiritualmente mais forte!

Tecnologia do Blogger.