
Compartir:
Antiguo Director de Educación para Desarrolladores en Vonage. Con experiencia como desarrollador creativo, gestor de productos y organizador de jornadas de hacking, Martyn lleva trabajando como defensor de la tecnología desde 2012, tras haber pasado anteriormente por el mundo de la radiodifusión y las grandes discográficas. Educa y capacita a desarrolladores de todo el mundo.
Voz a texto con Nexmo y Microsoft Azure
Tiempo de lectura: 6 minutos
Si alguna vez ha necesitado algo que le ayude a recibir llamadas telefónicas entrantes y transcribirlas automáticamente en tiempo real, está de suerte, porque puede hacerlo utilizando nuestro recién actualizado conector conector Nexmo-to-Azure Speech Service.
Recientemente hemos actualizado el código y las opciones de despliegue de este conector, por lo que ahora es aún más fácil de desplegar, modificar o ampliar si esto coincide con un problema que te has encontrado tratando de resolver.
Si eso ya te ha convencido y estás deseando ponerte en marcha, puedes consultar más detalles en nuestra nexmo-comunidad repositorio Github.
Cómo funciona la aplicación con el servicio de voz de Azure
La plataforma Azure de Microsoft ofrece un gran conjunto de servicios cognitivos vía API que permite trabajar con Voz, Visión, Lenguaje y más. Esta aplicación utiliza su API de voz a texto para reconocer el audio que se transmite en tiempo real a través de un websocket de una llamada telefónica facilitada por un Objeto de control de llamadas Nexmo.
En pocas palabras, usted literalmente llamas a la API y hablas con ella. Azure Speech reconoce el audio y devuelve las frases a la consola.

Ejecutar su propia instancia
Esta aplicación forma parte de Nexmo Extend donde creamos aplicaciones útiles y reutilizables para ayudarte a poner en marcha Nexmo con otros grandes proveedores de servicios como Microsoft Azure, Google Cloud y Servicios Web de Amazon.
Le hemos facilitado la implantación y el uso inmediato de su propia instancia de esta aplicación con un solo clic.
Opciones de despliegue con un solo clic
Tienes la opción de desplegar la aplicación en Heroku o Azure a través de los botones de la parte superior del Léame en el repositorio de GitHub.
Sin embargo, si quieres desplegarla y tener una forma segura (¡rompible!) de trabajar con el código directamente desde tu navegador, prueba a remezclar la aplicación en Glitch y empieza a extender el código directamente.
Despliegue/ejecución con Docker
Esta aplicación también está disponible para ejecutarse o desplegarse con Docker. La forma más rápida de hacerlo es clonar el repositorio y, desde el directorio raíz, utilizar Docker Compose para ponerlo en marcha:
docker-compose upSea cual sea la opción de despliegue que elija, terminará con un nuevo hostname donde se ejecuta la aplicación, por lo que tendrás que vincular tu número virtual Nexmo al mismo para completar la configuración.
Vincular la aplicación a Nexmo
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.
Uso del panel de control
Añade la URL del evento -
https://<your_new_hostname>/nccoAñade la URL de la respuesta -
https://<your_new_hostname>/eventHaga clic en
Create ApplicationHaga clic en
Numbersy vincule el número virtual recién creado.Copie el número virtual para utilizarlo en el siguiente paso.
Uso de la interfaz de línea de comandos
Puede instalar la CLI siguiendo estas instrucciones. A continuación, cree una nueva aplicación Nexmo que también configura su answer_urly event_url para la aplicación que se ejecuta localmente en su máquina.
Esto devolverá un ID de aplicación. Anótelo.
Alquilar un nuevo número virtual
Si aún no dispone de un número, deberá alquilar uno. Puedes conseguirlo utilizando la CLI:
Vincular el número virtual a la aplicación
Por último, vincula tu nuevo número a la aplicación que has creado ejecutando:
Pruébelo
Ahora, con tu aplicación en marcha -dondequiera que la hayas desplegado-, llama al número que le hayas asignado y empieza a hablar. Tras una breve pausa, verás lo que dices escrito en la consola, en tiempo real.
Cómo ampliarlo
El siguiente paso lógico sería empezar a enviar las frases devueltas por Azure Speech Service a otro servicio que las consuma y actúe en función de lo recibido.
Puede hacerlo modificando la función on_return_message que actualmente termina así:
if data['RecognitionStatus'] == "Success":
# Extend From here to handle your transcription messages
print(data["DisplayText"])Usando la librería Requests (que ya es una dependencia, por lo que no es necesario instalarla de nuevo), podrías POST las frases como un objeto JSON a otra API donde se consumirían, y posteriormente se actuaría sobre ellas. Para añadir esta funcionalidad, cambie la terminación if en on_return_message para que sea algo como esto
if data['RecognitionStatus'] == "Success":
# Extend From here to handle your transcription messages
print(data["DisplayText"])
url = "http://<another_api>/<endpoint>"
headers = {'Content-Type': 'application/json'}
resp = requests.post(url, headers=headers, data=json.dumps({'phrase': data["DisplayText"]}))
if resp.status_code == 200:
print(resp.content)
else:
print(resp.status_code)
print(resp.content)
Cada vez que el Azure Speech Service devuelva una nueva frase, se enviará un objeto {"phrase":"Words returned by the app."} será enviado.
Lo que haga después con él depende de usted.
Si amplías esta aplicación o tienes alguna pregunta sobre su funcionamiento, dirígete al canal de canal Slack de la Comunidad Nexmo donde estaremos encantados de ayudarle con cualquier duda y escuchar cualquier sugerencia.
Compartir:
Antiguo Director de Educación para Desarrolladores en Vonage. Con experiencia como desarrollador creativo, gestor de productos y organizador de jornadas de hacking, Martyn lleva trabajando como defensor de la tecnología desde 2012, tras haber pasado anteriormente por el mundo de la radiodifusión y las grandes discográficas. Educa y capacita a desarrolladores de todo el mundo.
