
Partager:
Ancien directeur de la formation des développeurs chez Vonage. Avec une expérience de développeur créatif, de gestionnaire de produits et d'organisateur de journées de hacking, Martyn travaille comme défenseur de la technologie depuis 2012, après avoir travaillé dans le secteur de la radiodiffusion et dans de grandes maisons de disques. Il forme et responsabilise les développeurs du monde entier.
Speech-To-Text avec Nexmo et Microsoft Azure
Temps de lecture : 6 minutes
Si vous avez déjà eu besoin de recevoir des appels téléphoniques entrants et de les transcrire automatiquement en temps réel, vous avez de la chance, car vous pouvez le faire en utilisant notre nouveau connecteur Nexmo-to-Azure Speech Service connector.
Nous avons récemment mis à jour le code et les options de déploiement de ce connecteur, de sorte qu'il est désormais encore plus facile de le déployer, de le modifier ou de l'étendre s'il correspond à un problème que vous avez essayé de résoudre.
Si cela vous a déjà convaincu et que vous êtes impatient de vous lancer, vous pouvez consulter plus de détails dans notre nexmo-community sur Github.
Comment l'application fonctionne avec le service vocal d'Azure
La plateforme Azure de Microsoft fournit un grand nombre de services cognitifs via une API qui vous permet de travailler avec la parole, la vision, le langage et bien plus encore. Cette application utilise leur API de reconnaissance vocale pour reconnaître des données audio diffusées en temps réel via une connexion websocket d'un appel téléphonique facilité par un objet de contrôle d'appel Nexmo.
En d'autres termes, vous littéralement appeler l'API et lui parler. Azure Speech effectue la reconnaissance de l'audio et les phrases sont renvoyées à la console.

Exécution de votre propre instance
Cette application fait partie de notre Nexmo Extend où nous créons des Applications utiles et réutilisables pour vous aider à utiliser Nexmo avec d'autres grands fournisseurs de services tels que Microsoft Azure, Google Cloud et Amazon Web Services.
Nous avons facilité le déploiement et l'utilisation immédiate de votre propre instance de cette application, en un seul clic.
Options de déploiement en un clic
Vous avez la possibilité de déployer l'application sur Heroku, ou Azure via les boutons en haut du Readme dans le dépôt GitHub.
Cependant, si vous souhaitez le déployer et avoir un moyen sûr (cassable !) de travailler avec le code directement depuis votre navigateur, essayez de remixer l'application sur Glitch et commencez à étendre la base de code immédiatement.
Déployer/exécuter avec Docker
Cette application est également disponible pour être exécutée ou déployée avec Docker. Le moyen le plus rapide de le faire est de cloner le dépôt et, à partir du répertoire racine, d'utiliser Docker Compose pour lancer l'application :
docker-compose upQuelle que soit l'option de déploiement choisie, vous obtiendrez un nouveau numéro virtuel Nexmo. hostname où l'application est exécutée, vous devrez donc y associer votre numéro virtuel Nexmo pour terminer l'installation.
Lier l'application à 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.
Utilisation du tableau de bord
Ajouter l'URL de l'événement -
https://<your_new_hostname>/nccoAjouter l'URL de la réponse -
https://<your_new_hostname>/eventCliquez sur
Create ApplicationCliquez sur
Numberset liez le numéro virtuel récemment créé.Copiez le numéro virtuel pour l'utiliser à l'étape suivante.
Utilisation de l'interface de ligne de commande
Vous pouvez installer l'interface de programmation en suivant les instructions suivantes. Ensuite, créez une nouvelle application Nexmo qui met également en place vos answer_urlet event_url pour l'application fonctionnant localement sur votre machine.
Vous obtiendrez un numéro d'identification de l'application. Notez-le.
Louer un nouveau numéro virtuel
Si vous n'avez pas de numéro déjà en place, vous devrez en louer un. Vous pouvez le faire en utilisant le CLI :
Lier le numéro virtuel à l'Application
Enfin, reliez votre nouveau numéro à l'application que vous avez créée en cours d'exécution :
Essayez-le
Maintenant que votre application fonctionne - quel que soit l'endroit où vous l'avez déployée - appelez le numéro que vous lui avez attribué et commencez à parler. Après une brève pause, vous verrez ce que vous dites écrit sur la console, en temps réel.
Comment l'étendre
La prochaine étape logique consisterait à transmettre les phrases renvoyées par Azure Speech Service à un autre service qui les utiliserait et agirait en fonction de ce qu'il reçoit.
Vous pouvez le faire en modifiant la fonction on_return_message qui se termine actuellement comme suit :
if data['RecognitionStatus'] == "Success":
# Extend From here to handle your transcription messages
print(data["DisplayText"])En utilisant la bibliothèque Requests (qui est déjà une dépendance, il n'est donc pas nécessaire de l'installer à nouveau), vous pouvez envoyer des phrases en tant qu'objet JSON à une autre API où elles seront consommées, puis exploitées. POST les phrases en tant qu'objet JSON vers une autre API où elles seront consommées, puis exploitées. Pour ajouter cette fonctionnalité, modifiez la fin de l'instruction if dans on_return_message par quelque chose comme ceci :
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)
Chaque fois qu'une nouvelle phrase est renvoyée par Azure Speech Service, un objet {"phrase":"Words returned by the app."} est envoyé.
À vous de voir ce que vous en ferez ensuite !
Si vous étendez cette application, ou si vous avez des questions sur son fonctionnement, rendez-vous sur le canal Slack de la communauté Nexmo où nous serons plus qu'heureux de vous aider à répondre à vos questions et d'écouter vos suggestions.
Partager:
Ancien directeur de la formation des développeurs chez Vonage. Avec une expérience de développeur créatif, de gestionnaire de produits et d'organisateur de journées de hacking, Martyn travaille comme défenseur de la technologie depuis 2012, après avoir travaillé dans le secteur de la radiodiffusion et dans de grandes maisons de disques. Il forme et responsabilise les développeurs du monde entier.
