So integrieren Sie einen mobilen Anruf mit einem Sternchen in einen Chatbot

704
Raady

Ich entwickle einen sprachbasierten Chatbot, der eine Person anrufen und die Konversation führen kann. Derzeit verwendet der Chatbot mein PC-Mikrofon und meinen Lautsprecher für die Eingabe und Ausgabe von Audio. Ich versuche, dies über das Mobilfunknetz zu integrieren, um mein PC-Mikrofon und den Lautsprecher durch ein Mobiltelefon zu ersetzen. Siehe das Blockdiagramm im Link zum Verständnis

Gleiches Blockdiagramm, jedoch unterschiedliche Cloud

Ich nehme die Eingaben vom Mikrofon und gebe sie einem Rede-zu-Text-Konverter (S2TC) und der Antwort, die der Chatbot gibt, die ihn einem Text-zu-Sprache-Konverter (T2S) gibt.

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) 

Jetzt versuche ich, Sternchen zu verwenden, um mich mit dem Netzwerk zu verbinden und Mobile und meinen Chatbot zu integrieren. Dafür brauche ich alles, was in Mobile gesprochen wird, um als 'in_audio' empfangen zu werden, und 'out_audio' sollte über das Netzwerk gesendet werden.

Hier initiiert der Bot den Anruf, ich habe gerade einen Link erhalten, um einen Anruf zu tätigen, aber wie erhalte oder erfasse ich in_audio über das Netzwerk, um es an mein Programm oder an meine Konverter zu senden und das out_audio an einen Benutzer zu senden. Gibt es irgendwelche Sternchenfunktionen, um dies zu tun? Wenn es nicht möglich ist, Sternchen zu konfigurieren, gibt es eine Möglichkeit, ein Mobilfunknetz in Voice-Bots zu integrieren?

Ich baue die Anwendung mit Python und Bing-Sprach-Text-Konverter in Windows.

Hinweis: Ich bin neu in Sternchen.

0

1 Antwort auf die Frage

0
arheops

Asterisk hat Audiohooks-Schnittstellen, die dazu verwendet werden können (C / C ++ - Codierung erfordert)

Es gibt auch eine EAGI-Schnittstelle (Ton kann unter der Dateikennungsnummer 3 empfangen werden).

Hauptproblem mit solchen Bot nicht Verbindung. Telefondienste verwenden eine Sprache von 8 kHz und dies ist NICHT für eine korrekte Erkennung ausreichend. Es gibt keine Möglichkeit, die Sprache zu verbessern. Alle Codecs bei einer PSTN / GSM-Verbindung sind derzeit 8 kHz-Codecs.

Auch IBM Watson bietet Telefonie-Integrationsdienste (kostenintensiv) an, die Anrufe annehmen, erkennen und Ihr Ergebnis per Rückruf senden. Aber wieder ist die Qualität der Anerkennung schrecklich, wenn die Personensprache auf der anderen Seite nicht perfekt ist.