Korzystanie z interfejsu API zamiany mowy na tekst

Ukończone

Wskazówka

Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .

Usługa Azure Speech in Foundry Tools obsługuje rozpoznawanie mowy za pośrednictwem interfejsu API zamiany mowy na tekst*. Szczegóły różnią się w zależności od używanego zestawu SDK (Python, C#itd.); Istnieje spójny wzorzec używania interfejsu API zamiany mowy na tekst :

Diagram przedstawiający sposób tworzenia obiektu SpeechRecognizer na podstawie obiektu SpeechConfig i AudioConfig, a jego metoda RecognizeOnceAsync służy do wywoływania interfejsu API zamiany mowy na tekst.

  1. Użyj obiektu SpeechConfig , aby hermetyzować informacje wymagane do nawiązania połączenia z zasobem Foundry. W szczególności jego punkt końcowy (lub region) i klucz.
  2. Opcjonalnie użyj AudioConfig, aby zdefiniować źródło wejściowe dla dźwięku do transkrypcji. Domyślnie jest to domyślny mikrofon systemowy, ale można również określić plik dźwiękowy.
  3. Użyj obiektów SpeechConfig i AudioConfig , aby utworzyć obiekt SpeechRecognizer . Ten obiekt działa jako klient proxy dla API zamiany mowy na tekst.
  4. Użyj metod obiektu SpeechRecognizer , aby wywołać podstawowe funkcje interfejsu API. Na przykład metoda RecognizeOnceAsync() używa usługi Azure Speech do asynchronicznego transkrypcji pojedynczej wypowiedzi mówionej.
  5. Przetwórz odpowiedź. W przypadku metody RecognizeOnceAsync() wynik jest obiektem SpeechRecognitionResult zawierającym następujące właściwości:
    • Czas trwania
    • OffsetInTicks
    • Właściwości
    • Powód
    • IdentyfikatorWyniku
    • Tekst

Jeśli operacja zakończyła się pomyślnie, właściwość Reason ma wyliczoną wartość RecognizedSpeech, a właściwość Text zawiera transkrypcję. Inne możliwe wartości elementu Reason obejmują NoMatch (co oznacza, że dźwięk został pomyślnie przetworzony, ale nie rozpoznano mowy) lub Canceled, co wskazuje, że wystąpił błąd (w takim przypadku można sprawdzić kolekcję Properties pod kątem właściwości CancellationReason, aby ustalić, co poszło nie tak).

Przykład — transkrypcja pliku audio

Poniższy przykład języka Python używa usługi Azure Speech w narzędziach Foundry Tools do transkrypcji mowy w pliku 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))