Verwenden der Sprach-zu-Text-API

Abgeschlossen

Tipp

Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".

Azure Speech in Foundry Tools unterstützt die Spracherkennung über die Sprach-zu-Text-API. Die spezifischen Details variieren je nach verwendeter SDK (Python, C# usw.). Es gibt ein konsistentes Muster für das Verwenden der Sprache-in-Text-API:

Diagramm mit einem SpeechRecognizer, der aus einer SpeechConfig und AudioConfig erstellt wurde, und „RecognizeOnceAsync“, das die Speech-to-Text-API aufruft.

  1. Verwenden Sie ein SpeechConfig-Objekt , um die informationen zu kapseln, die zum Herstellen einer Verbindung mit Ihrer Foundry-Ressource erforderlich sind. Insbesondere der Endpunkt (oder die Region) und der Schlüssel.
  2. Verwenden Sie optional ein AudioConfig-Objekt, um die Eingabequelle für die zu transkribierenden Audioinformationen zu definieren. Standardmäßig ist dies das Standardsystemmikrofon, aber Sie können auch eine Audiodatei angeben.
  3. Verwenden Sie SpeechConfig und AudioConfig , um ein SpeechRecognizer-Objekt zu erstellen. Dieses Objekt ist ein Proxyclient für die Sprach-zu-Text-API .
  4. Verwenden Sie die Methoden des SpeechRecognizer-Objekts , um die zugrunde liegenden API-Funktionen aufzurufen. Beispielsweise verwendet die RecognizeOnceAsync() -Methode den Azure-Sprachdienst, um asynchron eine einzelne gesprochene Äußerung zu transkribieren.
  5. Verarbeiten sie die Antwort. Bei der RecognizeOnceAsync() -Methode ist das Ergebnis ein SpeechRecognitionResult-Objekt , das die folgenden Eigenschaften enthält:
    • Dauer
    • OffsetInTicks
    • Eigenschaften
    • Ursache
    • Ergebnis-ID
    • Text

Wenn der Vorgang erfolgreich war, weist die Reason-Eigenschaft den Enumerationswert "RecognizedSpeech" auf, und die Text-Eigenschaft enthält die Transkription. Andere mögliche Werte für Reason sind NoMatch (das angibt, dass das Audio erfolgreich analysiert wurde, aber keine Sprache erkannt wurde) oder "Canceled", was angibt, dass ein Fehler aufgetreten ist (in diesem Fall können Sie die Properties-Auflistung für die CancellationReason-Eigenschaft überprüfen, um zu bestimmen, was nicht geklappt hat).

Beispiel: Transkribieren einer Audiodatei

Im folgenden Python-Beispiel wird Azure Speech in Foundry Tools verwendet, um die Sprache in einer Audiodatei zu transkribieren.

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 succeed
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))