Utiliser l’API de reconnaissance vocale
Conseil
Pour plus d’informations, consultez l’onglet Texte et images !
Azure Speech dans Foundry Tools prend en charge la reconnaissance vocale via l’API Reconnaissance vocale* . Bien que les détails spécifiques varient, en fonction du SDK utilisé (Python, C#, et ainsi de suite) ; il existe un modèle cohérent pour l’utilisation de l’API Reconnaissance vocale :
- Utilisez un objet SpeechConfig pour encapsuler les informations requises pour vous connecter à votre ressource Foundry. Plus précisément, son point de terminaison (ou sa région) et sa clé.
- Si vous le souhaitez, utilisez un AudioConfig pour définir la source d’entrée de l’audio à transcrire. Par défaut, il s’agit du microphone système par défaut, mais vous pouvez également spécifier un fichier audio.
- Utilisez SpeechConfig et AudioConfig pour créer un objet SpeechRecognizer . Cet objet est un client proxy pour l’API Reconnaissance vocale .
- Utilisez les méthodes de l’objet SpeechRecognizer pour appeler les fonctions d’API sous-jacentes. Par exemple, la méthode RecognizeOnceAsync() utilise le service Azure Speech pour transcrire de façon asynchrone un seul énoncé parlé.
- Traitez la réponse. Dans le cas de la méthode RecognizeOnceAsync(), le résultat est un objet SpeechRecognitionResult qui inclut les propriétés suivantes :
- Durée
- OffsetInTicks
- Propriétés
- Motif
- Identifiant du Résultat
- Texto
Si l’opération a réussi, la propriété Reason a la valeur énumérée RecognizedSpeech et la propriété Text contient la transcription. D’autres valeurs possibles pour Result incluent NoMatch (indiquant que l’audio a été correctement analysé, mais qu’aucune voix n’a été reconnue) ou Canceled, indiquant qu’une erreur s’est produite (auquel cas, vous pouvez vérifier la collection Properties pour la propriété CancellationReason pour déterminer ce qui s’est passé.
Exemple : transcrire un fichier audio
L’exemple Python suivant utilise Azure Speech dans Foundry Tools pour transcrire la voix dans un fichier audio.
import azure.cognitiveservices.speech as speech_sdk
# Speech config encapsulates the connection to the resource
speech_config = speech_sdk.SpeechConfig(subscription="YOUR_FOUNDRY_KEY",
endpoint="YOUR_FOUNDRY_ENDPOINT")
# Audio config determines the audio stream source (defaults to system mic)
file_path = "audio.wav"
audio_config = speech_sdk.audio.AudioConfig(filename=file_path)
# Use a speech recognizer to transcribe the audio
speech_recognizer = speech_sdk.SpeechRecognizer(speech_config=speech_config,
audio_config=audio_config)
result = speech_recognizer.recognize_once_async().get()
# Did it succeeed
if result.reason == speech_sdk.ResultReason.RecognizedSpeech:
# Yes!
print(f"Transcription:\n{result.text}")
else:
# No. Try to determine why.
print("Error transcribing message: {}".format(result.reason))