como integrar a chamada móvel a um chatbot usando asterisco


0

Estou desenvolvendo um chatbot baseado em voz que pode chamar uma pessoa e ter a conversa. Atualmente, o chatbot usa meu microfone e alto-falante para áudio de entrada e saída. Eu estou tentando integrar isso através da rede móvel, de modo a substituir o microfone do meu PC e alto-falante com o celular. Veja o diagrama de blocos no link para entender

mesmo diagrama de blocos, mas nuvem diferente

Eu estou tomando entrada de mic e dando-lhe um conversor de fala para texto (S2TC) ea resposta dada pelo chatbot dando-o para um conversor de texto para fala (T2S).

import speech_recognition as sr
from speechtotext import convert_speech_to_text

r = sr.Recognizer()

with sr.Microphone() as source:
    # in_audio is the mic input
    in_audio = r.listen(source)

# bot give response based on input audio  
bot_response = chatbot(convert_speech_to_text(in_audio))
out_audio = convert_text_to_speech(bot_response)

Agora estou tentando utilizar o asterisco para conectar-se à rede e integrar o mobile e o meu chatbot. Para isso, preciso que o que quer que seja falado em dispositivos móveis seja recebido como 'in_audio' e 'out_audio' devem ser enviados pela rede.

Aqui o bot inicia a ligação, acabei de receber um link para fazer uma ligação , mas como faço para receber ou capturar in_audio pela rede para enviar para o meu programa ou para meus conversores, e enviar o out_audio para um usuário. Existem funções de asterisco para fazer isso? Se não for possível configurar o asterisco, existe alguma maneira de integrar rede móvel a bots de voz?

Eu estou construindo o aplicativo usando python e discurso bing para conversor de texto no windows.

Nota: Eu sou novo no asterisco.

Respostas:


0

Asterisco tem interfaces de audiohooks que podem ser usadas para isso (requer codificação c / c ++)

Também há interface EAGI (o som pode ser recebido no identificador de arquivo número 3).

Problema principal com tal bot não conexão. Os serviços de telefonia usam voz de 8khz e isso NÃO é suficiente para o reconhecimento correto. Não há como mudar para uma melhor voz, todos os codecs na conexão PSTN / GSM no momento atual são codecs de 8khz.

Além disso, o IBM Watson possui serviços de integração de telefonia (custosos), que aceitam chamadas, reconhecem e enviam resultados via retorno de chamada. Mas, novamente, a qualidade do reconhecimento é terrível se a linguagem da pessoa do outro lado não for perfeita.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.