Reconnaissance vocale

Effectué

Note

Pour plus d’informations, consultez l’onglet Texte et images !

La reconnaissance vocale, souvent appelée reconnaissance vocale (STT), est une fonctionnalité IA qui permet aux applications et aux agents de répondre aux entrées vocales. La reconnaissance vocale prend le mot parlé et la convertit en données, généralement du texte. Le logiciel de reconnaissance vocale utilise généralement plusieurs modèles, notamment :

  • Modèle acoustique qui convertit l’audio en phonèmes (représentations de sons spécifiques).
  • Modèle de langage qui mappe les phonèmes aux mots.

Les mots que la reconnaissance vocale par IA reconnaît sont convertis en texte. Vous pouvez utiliser le texte à diverses fins, telles que la fourniture de sous-titres, la création de transcriptions d’appels, l’automatisation de la dictée de notes, etc.

Reconnaissance vocale Azure - Conversion de la parole en texte

Azure Speech inclut une API de reconnaissance vocale que vous pouvez utiliser pour traiter l’entrée vocale à partir d’un microphone ou d’un fichier audio.

Note

Une API (interface de programmation d’application) est un ensemble de règles et de points de terminaison qui permet à une application logicielle de communiquer avec et d’utiliser les fonctionnalités ou les données d’une autre application.

Microsoft Foundry est une plateforme Microsoft qui aide les développeurs à créer, tester et déployer des applications et des agents IA en regroupant des modèles, des outils, des données et des services à un seul endroit.

Dans le nouveau portail Microsoft Foundry, nous pouvons explorer les fonctionnalités de reconnaissance vocale d’Azure Speech dans le terrain de jeu Foundry. Pour accéder au terrain de jeu, accédez à la page Générer , puis à Modèles, puis à l’onglet Services IA . Sous l’onglet, vous trouverez une sélection de services IA disponibles pour les tests, notamment Azure Speech - Reconnaissance vocale.

Dans le terrain de jeu, vous pouvez charger un fichier audio ou enregistrer vous-même en parlant. Azure Speech transcrit ce qui est dit, ce qui vous donne une idée de la façon dont votre propre application répond à l’entrée audio.

Capture d’écran de la reconnaissance vocale dans le terrain de jeu Foundry.

Le terrain de jeu dans le portail Foundry est un endroit idéal pour expérimenter Azure Speech, mais pour utiliser la reconnaissance vocale dans une application, nous devons écrire du code.

Utilisation du Kit de développement logiciel (SDK) de reconnaissance vocale Azure

Le SDK Azure Speech – de la parole en texte est une bibliothèque cliente qui permet aux applications de convertir la voix en texte écrit. Le Kit de développement logiciel (SDK) de reconnaissance vocale est conçu pour faciliter l’ajout de la reconnaissance vocale aux applications.

Note

Une bibliothèque cliente est un ensemble de code prêt à l’emploi que les développeurs peuvent utiliser dans leur application pour communiquer facilement avec un service ou une API.

Le Kit de développement logiciel (SDK) permet à votre application de :

  • Capturer ou envoyer du contenu audio à partir d’un microphone, d’un fichier audio ou d’un flux audio
  • Envoyer ce contenu audio à Azure Speech en toute sécurité
  • Recevoir du texte transcrit en temps quasi réel ou une fois le traitement terminé

Le SDK gère la mise en réseau, l’authentification, le streaming audio et l’analyse des réponses afin que les développeurs puissent se concentrer sur la logique d’application.

Développement d’une application

Le SDK Speech-to-Text est généralement utilisé dans la couche client ou de service d’une application. Le Kit de développement logiciel (SDK) joue le rôle de pont entre votre code d’application et le service Azure Speech.

Pour utiliser le Kit de développement logiciel (SDK) Python Azure Speech, vous devez disposer d’une version compatible de Python et du Kit de développement logiciel (SDK) Azure Speech Python installé.

Le Kit de développement logiciel (SDK) Python peut être installé dans le terminal Visual Studio Code à l’aide de :

pip install azure-cognitiveservices-speech

Note

Le code d’application est écrit dans des éditeurs de code, tels que Visual Studio Code. Le terminal d’un éditeur de code est une fenêtre de ligne de commande intégrée à l’intérieur de l’éditeur où vous pouvez exécuter des commandes sans quitter votre environnement de développement.

Pour utiliser Azure Speech, vous devez également créer une ressource Foundry. Le point de terminaison et la clé de ressource Foundry sont utilisés dans votre code pour authentifier votre connexion.

Après avoir installé le Kit de développement logiciel (SDK) Python et créé une ressource Foundry, vous pouvez créer et exécuter votre programme. Considérez le code Python suivant. Lorsque vous l’exécutez :

  1. Votre application initialise le Kit de développement logiciel (SDK) Speech : fournit un point de terminaison et une authentification (clé ou ID Microsoft Entra)
  2. L’audio est capturé ou chargé : entrée du microphone ou fichier/flux audio
  3. L’audio est envoyé à Azure Speech : le sdk diffuse ou charge l’audio en toute sécurité
  4. La reconnaissance vocale s’exécute dans le cloud : les modèles vocaux d’Azure analysent l’audio
  5. Les résultats du texte sont retournés : votre application reçoit du texte reconnu et des métadonnées facultatives
import azure.cognitiveservices.speech as speechsdk

# Set up the speech config using resource endpoint
endpoint_url = "ENDPOINT"
speech_key = "FOUNDRY_KEY"

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key,
    endpoint=endpoint_url
)

# Create a recognizer with microphone input
audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True)
speech_recognizer = speechsdk.SpeechRecognizer(
    speech_config=speech_config, 
    audio_config=audio_config
)

# Event handlers
def recognized_handler(evt):
    print(f"Recognized: {evt.result.text}")

def recognizing_handler(evt):
    print(f"Recognizing: {evt.result.text}")

# Connect event handlers
speech_recognizer.recognized.connect(recognized_handler)
speech_recognizer.recognizing.connect(recognizing_handler)

# Start continuous recognition
speech_recognizer.start_continuous_recognition()
print("Say something...")

# Keep the program running
input("Press Enter to stop...")
speech_recognizer.stop_continuous_recognition()

Exemple d’application cliente

Par exemple, supposons que vous souhaitez développer une application légère qui transcrit automatiquement les messages vocaux. Dans l’éditeur de code, nous avons un fichier audio et un fichier Python, qui contient du code d’application.

Capture d’écran de Visual Studio Code avec un fichier audio ouvert.

Supposons que vous disposez d’un fichier audio contenant un enregistrement de messagerie vocale. Pour transcrire le message, commencez par spécifier le point de terminaison et la clé et la source audio que vous souhaitez transcrire. Utilisez ensuite un SpeechRecognizer objet pour effectuer la transcription, avant d’afficher les résultats.

Capture d’écran du code Python de reconnaissance vocale dans Visual Studio Code.

Une fois que vous avez exécuté le code, vous pouvez voir le texte de transcription.

Capture d’écran de Visual Studio Code avec le terminal ouvert et les résultats de la reconnaissance vocale.

Options de traitement audio

Vous pouvez utiliser l’API de reconnaissance vocale d’Azure Speech pour effectuer une transcription en temps réel ou par lot d’audio dans un format texte. La source audio pour la transcription peut être un flux audio en temps réel provenant d’un microphone ou un fichier audio.

Transcription en temps réel : la reconnaissance vocale en temps réel vous permet de transcrire des flux audio en texte. Vous pouvez utiliser la transcription en temps réel pour des présentations, des démos ou tout autre scénario où une personne parle.

Pour que la transcription en temps réel fonctionne, votre application doit écouter le contenu audio entrant provenant d’un microphone ou une autre source d’entrée audio, comme un fichier audio. Votre code d’application diffuse le contenu audio sur le service, qui retourne le texte transcrit.

Transcription par lots : tous les scénarios de reconnaissance vocale ne sont pas en temps réel. Vous pouvez avoir des enregistrements audio stockés sur un partage de fichiers, un serveur distant ou même sur Stockage Azure. Vous pouvez pointer vers des fichiers audio avec un URI de signature d’accès partagé (SAS) et recevoir de manière asynchrone les résultats de la transcription.

La transcription par lots doit être exécutée de manière asynchrone car les traitements par lots sont planifiés sur une base de meilleur effort. Normalement, le traitement d'un travail débute dans les minutes qui suivent la requête, mais il n’y a aucune estimation du moment où il passe au statut d’exécution.

La reconnaissance vocale dans Azure Speech est un excellent moyen de créer des solutions qui transcrivent l’audio enregistré ou automatisent le sous-titrage vocal. Découvrez ensuite comment incorporer la synthèse vocale dans une application.