Estoy desarrollando un chatbot basado en voz que puede llamar a una persona y mantener la conversación. Actualmente, el chatbot usa el micrófono y el altavoz de mi PC para el audio de entrada y salida. Estoy tratando de integrar esto a través de la red móvil para reemplazar el micrófono y el altavoz de mi PC con el móvil. Vea el diagrama de bloques en el enlace para comprender
mismo diagrama de bloques pero diferente nube
Estoy tomando la entrada del micrófono y la doy a un convertidor de voz a texto (S2TC) y la respuesta dada por chatbot dándola a un convertidor de texto a voz (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)
Ahora estoy tratando de utilizar un asterisco para conectarme a la red e integrar el móvil y mi chatbot. Para esto, necesito que todo lo que se hable en el móvil se reciba como 'in_audio' y 'out_audio' debe enviarse a través de la red.
Aquí el bot inicia la llamada, acabo de recibir un enlace para hacer una llamada , pero ¿cómo recibo o capturo in_audio a través de la red para enviarlo a mi programa o a mis convertidores y enviar el out_audio a un usuario? ¿Hay alguna función de asterisco para hacer esto? Si no es posible configurar el asterisco, ¿hay alguna forma de integrar la red móvil a los bots de voz?
Estoy creando la aplicación usando Python y el convertidor de voz a texto de Bing en Windows.
Nota: Soy nuevo en asterisco.