come integrare la chiamata mobile a un chatbot usando l'asterisco


0

Sto sviluppando un chatbot basato sulla voce che può chiamare una persona e conversare. Attualmente, il chatbot utilizza il microfono e l'altoparlante del mio PC per l'audio in ingresso e in uscita. Sto cercando di integrarlo sulla rete mobile in modo da sostituire il microfono e l'altoparlante del mio PC con il cellulare. Vedi diagramma a blocchi nel link per la comprensione

stesso schema a blocchi ma nuvola diversa

Sto prendendo input dal microfono e lo sto dando a un convertitore da parlato a testo (S2TC) e la risposta data da chatbot dandogli un convertitore da testo a parlato (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)

Ora sto cercando di utilizzare l'asterisco per connettermi alla rete e integrare mobile e il mio chatbot. Per questo, ho bisogno che tutto ciò che viene detto in mobile sia ricevuto come 'in_audio' e 'out_audio' debba essere inviato sulla rete.

Qui il bot avvia la chiamata, ho appena ricevuto un link per effettuare una chiamata , ma come posso ricevere o acquisire in_audio sulla rete per inviarlo al mio programma o ai miei convertitori e inviare out_audio a un utente. Ci sono funzioni di asterisco per farlo? Se non è possibile configurare l'asterisco, è possibile integrare la rete mobile con i robot vocali?

Sto costruendo l'applicazione usando Python e il convertitore da bing speech a text in Windows.

Nota: sono un nuovo asterisco.

Risposte:


1

Asterisk ha interfacce audiohook che possono essere utilizzate per questo (richiede la codifica c / c ++)

Inoltre c'è l'interfaccia EAGI (il suono può essere ricevuto dall'handle del file numero 3).

Problema principale con tale bot non connessione. I servizi di telefonia utilizzano la voce 8 khz e NON sono sufficienti per il riconoscimento corretto. Non c'è modo di cambiare per una voce migliore, tutti i codecs al momento della connessione PSTN / GSM sono codec da 8 kHz.

Inoltre IBM Watson dispone di servizi di integrazione della telefonia (costosi), che accettano chiamate, riconoscono, inviano risultati tramite callback. Ma ancora una volta, la qualità del riconoscimento è terribile se la lingua della persona dall'altra parte non è perfetta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.