Übersicht
Im vorliegenden Dokument wird die grundlegende Verwendung der Spracherkennung beschrieben. Sie erfahren, welche Arten von Anfragen Sie an Speech-to-Text senden können, wie Sie diese Anfragen erstellen und wie Sie die Antworten verarbeiten. Wir empfehlen allen Nutzern von Speech-to-Text, diesen Leitfaden zu lesen und eine der zugehörigen Anleitungen durchzugehen, bevor sie sich näher mit der API an sich befassen.
Jetzt testen
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit von Speech-to-Text in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Speech-to-Text kostenlos testenErkennungssysteme
Erkennungsfunktionen sind die grundlegende Ressource für die Erkennung in V2. Sie definieren eine konfigurierbare, wiederverwendbare Erkennungskonfiguration. Erkennungsfunktionen enthalten das für die Erkennung verwendete Modell und eine Liste der Sprachcodes, die für die Erkennung verwendet werden. Diese Werte können nicht überschrieben werden, wenn Erkennungsanfragen mit dem Erkennungsmodul gesendet werden. Erkennungsfunktionen haben auch eine standardmäßige RecognitionConfig, die bei jeder Erkennungsanfrage überschrieben werden kann.
RecognitionConfig
enthält die folgenden untergeordneten Felder:
decoding_config
: Wählen Sie entwederauto_decoding_config
aus, um die automatische Erkennung von Audiometadaten zu aktivieren, oderexplicit_decoding_config
, um bestimmte Audiometadaten für die Erkennung anzugeben. Für PCM-Audio ohne Header müssen Sieexplicit_decoding_config
festlegen.features
: Für die Erkennung festzulegendeRecognitionFeatures
.adaptation
: DerSpeechAdaptation
für die Erkennung. Weitere Informationen finden Sie auf der Seite Konzepte zur Sprachanpassung.
Bevor Sie Erkennungsanfragen stellen, müssen Sie zuerst einen Recognizer, also das Erkennungsmodul, erstellen, indem Sie die CreateRecognizer-Methode aufrufen.
Wenn Sie eine Erkennungsanfrage stellen, können Sie in der Anfrage den Namen des Erkennungsmoduls angeben, der das folgende Format haben sollte.
projects/PROJECT_ID/locations/LOCATION/recognizers/RECOGNIZER_ID
Ersetzen Sie PROJECT_ID
durch Ihre Google Cloud-Projekt-ID, LOCATION
durch den gewünschten Standort (us, global usw.) und RECOGNIZER_ID
durch eine ID für Ihren Recognizer.
Sprachanfragen
Speech-to-Text verwendet zur Spracherkennung die folgenden drei Hauptmethoden:
Bei der synchronen Erkennung (REST und gRPC) werden Audiodaten an die Speech-to-Text API gesendet. Für die Daten wird eine Spracherkennung durchgeführt und die Ergebnisse werden zurückgegeben, nachdem alle Audiodaten verarbeitet wurden. Anfragen für eine synchrone Erkennung sind auf Audiodaten mit einer maximalen Dauer von einer Minute beschränkt.
Bei der Streamingerkennung (nur gRPC) wird die Spracherkennung für Audiodaten innerhalb eines bidirektionalen gRPC-Streams durchgeführt. Bei Streaminganfragen erfolgt die Erkennung in Echtzeit, zum Beispiel bei der Aufnahme von Live-Audio mit einem Mikrofon. Die Streamingerkennung liefert während der Aufnahme der Audiodaten Zwischenergebnisse, sodass das Ergebnis zum Beispiel bereits angezeigt wird, während ein Nutzer noch spricht.
Anfragen enthalten sowohl Konfigurationsparameter als auch Audiodaten. In den folgenden Abschnitten wird ausführlicher auf diese Arten von Erkennungsanfragen, die von ihnen generierten Antworten und die Verarbeitung dieser Antworten eingegangen.
Erkennung mit der Speech-to-Text API
Die einfachste Methode zur Spracherkennung aus Audiodaten besteht darin, eine Anfrage zur synchronen Erkennung an die Speech-to-Text API zu stellen. Speech-to-Text kann bis zu 1 Minute Audiosprachdaten verarbeiten, die in einer synchronen Anfrage gesendet wurden. Nachdem Speech-to-Text alle Audiodaten verarbeitet und erkannt hat, wird eine Antwort zurückgegeben.
Eine synchrone Anfrage blockiert. Das bedeutet, dass Speech-to-Text vor der Verarbeitung der nächsten Anfrage eine Antwort zurückgeben muss. Speech-to-Text verarbeitet Audiodaten in der Regel schneller als in Echtzeit. Audiodaten von 30 Sekunden Dauer werden im Durchschnitt in 15 Sekunden verarbeitet. Bei schlechter Audioqualität kann die Erkennungsanfrage allerdings deutlich länger dauern.
Speech-to-Text bietet sowohl REST- als auch gRPC-Methoden fürs Aufrufen von synchronen Speech-to-Text API-Anfragen. In diesem Artikel wird zu Demonstrationszwecken die REST API verwendet, da die grundlegende Verwendung der API so einfacher darstellbar und erklärbar ist. Der grundlegende Aufbau einer REST-Anfrage ist jedoch mit dem Aufbau einer gRPC-Anfrage vergleichbar. Anfragen für eine Streamingerkennung werden jedoch nur von gRPC unterstützt.
Synchrone Spracherkennungsanfragen
Eine synchrone Speech-to-Text API-Anfrage besteht aus einer Spracherkennungskonfiguration und Audiodaten. Im Folgenden finden Sie eine Beispielanfrage:
{ "recognizer": "projects/PROJECT_ID/locations/LOCATION/recognizers/RECOGNIZER_ID", "config": { "explicitDecodingConfig": { "encoding": "LINEAR16", "sampleRateHertz": 16000, } }, "uri": "gs://bucket-name/path_to_audio_file" }
Audiodaten werden mit dem Parameter audio_source
vom Typ RecognitionAudio an Speech-to-Text übergeben. Das Feld audio_source
enthält eines der folgenden untergeordneten Felder:
content
enthält die auszuwertenden Audiodaten, eingebettet in die Anfrage. Weitere Informationen finden Sie unten im Abschnitt Audioinhalte einbetten.uri
enthält einen URI, der auf den Audioinhalt verweist. Die Datei darf nicht komprimiert sein (z. B. mit gzip). Derzeit muss dieses Feld einen Google Cloud Storage-URI im Formatgs://bucket-name/path_to_audio_file
enthalten. Weitere Informationen finden Sie unten im Abschnitt Audioverweis durch URI übergeben.
Audiodaten für die synchrone Erkennung sind auf 60 Sekunden und 10 MB begrenzt.
Weitere Informationen zu diesen Anfrage- und Antwortparametern finden Sie in den folgenden Abschnitten.
Audio-Metadaten
Innerhalb von RecognitionConfig können Sie entweder eine ExplicitDecodingConfig oder eine AutoDetectDecodingConfig angeben.
Mit AutoDetectDecodingConfig
erkennt der Dienst die Audiometadaten automatisch.
Sie können ExplicitDecodingConfig
nur für Header ohne PCM verwenden.
Legen Sie die Abtastrate für Ihre Audiodaten im Feld sampleRateHertz
fest, um ExplicitDecodingConfig
festzulegen. Sie muss der Abtastrate des bereitgestellten Audioinhalts oder Streams entsprechen. Speech-to-Text unterstützt Abtastraten zwischen 8.000 und 48.000 Hz. Sie müssen außerdem das Feld encoding
auf einen beliebigen AudioEncoding-Wert setzen.
Wenn Sie bei der Codierung des Quellmaterials eine Wahl haben, erfassen Sie Audio mit einer Abtastrate von 16.000 Hz. Niedrigere Werte können die Spracherkennungsgenauigkeit beeinträchtigen, höhere Werte haben keine nennenswerte Auswirkung auf die Spracherkennungsqualität.
Wenn Ihre Audiodaten jedoch bereits mit einer anderen Abtastrate als 16.000 Hz aufgezeichnet wurden, sollten Sie Ihre Audiodaten nicht mit einer Abtastrate von 16.000 Hz resampeln. Die meisten veralteten Audiocodecs für Telefonie nutzen beispielsweise Abtastraten von 8.000 Hz, die weniger genaue Ergebnisse liefern. Wenn Sie solche Audiodaten verwenden müssen, stellen Sie sie der Speech API mit ihrer nativen Abtastrate bereit.
Sprachen
Die Erkennungs-Engine von Speech-to-Text unterstützt eine Vielzahl von Sprachen und Dialekten. Die Sprache sowie der nationale oder regionale Dialekt Ihrer Audiodaten werden im Feld languageCode
der Anfragekonfiguration angegeben. Dazu verwenden Sie eine BCP 47-Kennung.
Eine vollständige Liste der unterstützten Sprachen für die einzelnen Features finden Sie auf der Seite Sprachunterstützung.
Zeitversätze (Zeitstempel)
Speech-to-Text kann Zeitverschiebungswerte (Zeitstempel) für den Beginn und das Ende eines jeden gesprochenen Wortes zurückgeben, das in den bereitgestellten Audiodaten erkannt wird. Ein Zeitverschiebungswert gibt die Zeit in Schritten von 100 ms an, die seit Beginn des Audiosignals vergangen ist.
Zeitverschiebungen sind besonders nützlich für die Analyse von längeren Audiodateien, in denen Sie eventuell nach einem bestimmten Wort im erkannten Text suchen und dieses in den Originalaudioinhalten finden möchten. Zeitverschiebungen werden in allen unseren Spracherkennungsmethoden unterstützt: recognize
, streamingrecognize
und .
Zeitverschiebungswerte werden nur für die erste Alternative der Erkennungsantwort eingefügt.
Sie können den Ergebnissen Ihrer Anfragen Zeitverschiebungen hinzufügen, wenn Sie den Parameter enableWordTimeOffsets
in Ihren RecognitionFeatures auf "true" setzen.
Beispiele für die Verwendung der REST API oder der Clientbibliotheken finden Sie unter Zeitverschiebungen (Zeitstempel) verwenden.
Sie können beispielsweise den Parameter enableWordTimeOffsets
in die Anfrage aufnehmen, wie hier gezeigt:
{ "recognizer": "projects/PROJECT_ID/locations/LOCATION/recognizers/RECOGNIZER_ID", "config": { "features": { "enableWordTimeOffsets": true } }, "uri":"gs://gcs-test-data/gettysburg.flac" }
Das Ergebnis, das von der Speech-to-Text API zurückgegeben wird, enthält Zeitverschiebungswerte für jedes erkannte Wort, wie im Folgenden gezeigt:
{ "results": [ { "alternatives": [ { "transcript": "Four score and twenty...(etc)...", "confidence": 0.97186122, "words": [ { "startTime": "1.300s", "endTime": "1.400s", "word": "Four" }, { "startTime": "1.400s", "endTime": "1.600s", "word": "score" }, { "startTime": "1.600s", "endTime": "1.600s", "word": "and" }, { "startTime": "1.600s", "endTime": "1.900s", "word": "twenty" }, ... ] } ] }, { "alternatives": [ { "transcript": "for score and plenty...(etc)...", "confidence": 0.9041967, } ] } ] }
Modellauswahl
Speech-to-Text kann eines von mehreren Modellen für maschinelles Lernen verwenden, um Audiodateien zu transkribieren. Google hat diese Spracherkennungsmodelle für spezifische Audiotypen und -quellen trainiert.
Wenn Sie eine Anfrage zur Audiotranskription an Speech-to-Text senden, können Sie die Ergebnisse verbessern, wenn Sie die Quelle der ursprünglichen Audiodaten angeben. Diese Angabe ermöglicht der Speech-to-Text API, Ihre Audiodateien mithilfe eines Modells für maschinelles Lernen zu verarbeiten, das speziell dafür trainiert wurde, gesprochene Sprache aus dieser Art von Quelle zu erkennen.
Wenn Sie ein Modell für die Spracherkennung festlegen möchten, legen Sie das Feld model
im Recognizer
fest, wenn Sie ihn erstellen, und verweisen Sie dann auf dieses Erkennungsmodul, wenn Sie eine Erkennungsanfrage stellen.
Speech-to-Text kann die folgenden Arten von Modellen für maschinelles Lernen verwenden, um Audiodateien zu transkribieren.
Typ | Enum-Konstante | Beschreibung |
---|---|---|
Aktuelle Langversion | latest_long |
Verwenden Sie dieses Modell für alle Arten von langen Inhalten wie Medien oder spontane Sprache und Unterhaltungen. Verwenden Sie dieses Modell anstelle des Videomodells, insbesondere wenn das Videomodell nicht in Ihrer Zielsprache verfügbar ist. Sie können dies auch anstelle des Standardmodells verwenden. |
Aktuelle Kurzversion | latest_short |
Verwenden Sie dieses Modell für kurze Äußerungen, die einige Sekunden lang sind. Diese Methode ist hilfreich, um Befehle oder andere Anwendungsfälle für die gezielte Sprachausgabe zu erfassen. Verwenden Sie dieses Modell anstelle des Befehls- und Suchmodells. |
Telefonkonferenz | telephony |
Verwenden Sie dieses Modell zum Transkribieren der Audiodaten eines Telefonanrufs. In der Regel werden Smartphone-Audiodaten mit einer Abtastrate von 8.000 Hz aufgezeichnet. |
Medizinisches Diktat | medical_dictation |
Verwenden Sie dieses Modell zum Transkribieren von Notizen, die von medizinischen Fachkräften diktiert wurden. |
Medizinisches Gespräch | medical_conversation |
Verwenden Sie dieses Modell, um Unterhaltungen zwischen einem Arzt und einem Patienten zu transkribieren. |
Eingebettete Audioinhalte
Eingebettete Audioinhalte können mit dem Parameter content
des Feldes audio_source
in eine Spracherkennungsanfrage eingefügt werden. Es lassen sich nur Audiodaten als "content" in einer gRPC-Anfrage bereitstellen, die mit der Proto3-Serialisierung kompatibel sind. Ferner müssen die Audiodaten in Form von Binärdaten eingefügt werden. Eingebettete Audiodaten, die als "content" in einer REST-Anfrage bereitgestellt werden, müssen mit der JSON-Serialisierung kompatibel und base64-codiert sein. Weitere Informationen finden Sie unter Base64-Codierung von Audioinhalten.
Beim Erstellen einer Anfrage über eine Google Cloud-Clientbibliothek werden diese Binärdaten bzw. base64-codierten Daten normalerweise direkt in das Feld content
geschrieben.
Audioverweis durch URI übergeben
In den meisten Fällen verweisen Sie wahrscheinlich mit dem Parameter uri
des Feldes audio_source
in der Sprachanfrage (im Binärformat, nicht mit base64) auf eine Audiodatei, die sich in Google Cloud Storage befindet. Der Verweis wird im folgenden Format angegeben:
gs://bucket-name/path_to_audio_file
Beispielsweise verweist der folgende Teil einer Sprachanfrage auf die Beispieldatei, die in der Schnellstartanleitung verwendet wird:
... "uri":"gs://cloud-samples-tests/speech/brooklyn.flac" ...
Sie müssen ein Dienstkonto für Speech-to-Text erstellen und diesem Konto Lesezugriff auf das entsprechende Speicherobjekt gewähren. Führen Sie in Cloud Shell den folgenden Befehl aus, um ein Dienstkonto zu erstellen und aufzurufen, falls es nicht vorhanden ist.
gcloud beta services identity create --service=speech.googleapis.com \ --project=PROJECT_ID
Wenn Sie aufgefordert werden, die Komponente gcloud Beta Commands zu installieren, geben Sie Y
ein. Nach der Installation wird der Befehl automatisch neu gestartet.
Die Dienstkonto-ID ist wie eine E-Mail-Adresse formatiert:
Service identity created: service-xxx@gcp-sa-speech.iam.gserviceaccount.com
Gewähren Sie diesem Konto Lesezugriff auf das relevante Speicherobjekt, auf dem Sie die Erkennung ausführen möchten.
Weitere Informationen zur Verwaltung des Zugriffs auf Google Cloud Storage finden Sie unter Zugriffssteuerungslisten erstellen und verwalten in der Google Cloud Storage-Dokumentation.
Speech-to-Text API-Antworten
Wie bereits erwähnt, kann es einige Zeit dauern, bis durch eine synchrone Speech-to-Text API-Antwort Ergebnisse zurückgegeben werden. Die Dauer hängt von der Länge der bereitgestellten Audiodaten ab. Nach der Verarbeitung gibt die API eine Antwort wie diese zurück:
{ "results": [ { "alternatives": [ { "confidence": 0.98267895, "transcript": "how old is the Brooklyn Bridge" } ], "resultEndOffset": "0.780s", "languageCode": "en-US" } ] }
Diese Felder werden im Folgenden beschrieben:
results
: Enthält die Liste der Ergebnisse vom TypSpeechRecognitionResult
, wobei jedes Ergebnis einem Segment der Audiodaten entspricht. Audiosegmente sind durch Pausen voneinander getrennt. Jedes Ergebnis besteht aus einem oder mehreren der folgenden Felder:alternatives
enthält eine Liste möglicher Transkriptionen vom TypSpeechRecognitionAlternative
. Ob mehrere Alternativen angezeigt werden, hängt davon ab, ob Sie mehrere Alternativen durch Festlegen vonmaxAlternatives
inRecognitionFeatures
auf einen Wert größer als1
angefordert haben. Es hängt auch davon ab, ob die Qualität der von Speech-to-Text erzeugten Alternativen hoch genug ist. Jede Alternative besteht aus den folgenden Feldern:transcript
: Enthält den transkribierten Text. Weitere Informationen finden Sie unten im Abschnitt Transkriptionen behandeln.confidence
: Enthält einen Wert zwischen 0 und 1, der angibt, wie hoch Speech-to-Text die Zuverlässigkeit der vorliegenden Transkription einstuft. Weitere Informationen finden Sie nachstehend unter Konfidenzwerte interpretieren.
channelTag
: Das Kanal-Tag, das dem erkannten Ergebnis für die Audiodaten aus diesem Kanal entspricht. Dies gilt nur für Audio mit mehreren Kanälen.resultEndOffset
: Zeitverschiebung des Endes dieses Ergebnisses relativ zum Beginn des Audios.languageCode
: Entspricht dem Sprachcode, der in diesem Ergebnis für die Erkennung verwendet wird. Wenn mehrere Sprachcodes für die Erkennung angegeben wurden, entspricht dieser Wert der Sprache, die am wahrscheinlichsten in den Audiodaten gesprochen wird.
Wenn im bereitgestellten Audio keine Sprache erkannt werden konnte, enthält die zurückgegebene results
-Liste keine Einträge.
Nicht erkannte Sprache ist sehr häufig das Ergebnis von schlechter Audioqualität oder von Sprachcodierungen bzw. Abtastraten, die nicht der bereitgestellten Audiodatei entsprechen.
Die Komponenten dieser Antwort werden in den folgenden Abschnitten erläutert.
Bei jeder synchronen Speech-to-Text API-Antwort wird eine Ergebnisliste statt eines einzelnen Ergebnisses mit allen erkannten Audiodaten zurückgegeben. Die Liste der erkannten Audiosegmente (in den transcript
-Elementen) wird in zusammenhängender Reihenfolge angezeigt.
Alternativen auswählen
Jedes Ergebnis in einer erfolgreichen Antwort der synchronen Spracherkennung kann eine oder mehrere alternatives
enthalten, wenn der Wert maxAlternatives
in RecognitionFeatures
größer als 1
ist. Wenn Speech-to-Text den Konfidenzwert einer Alternative als hoch genug einstuft, wird die Alternative in die Antwort eingeschlossen. Die erste Alternative in einer Antwort ist immer die beste, d. h. wahrscheinlichste Alternative.
Wenn für maxAlternatives
ein höherer Wert als 1
eingestellt wurde, bedeutet dies nicht automatisch, dass mehrere Alternativen zurückgegeben werden. Im Allgemeinen ist das Anfordern mehrerer Alternativen besonders bei der Bereitstellung von Echtzeitoptionen für Nutzer sinnvoll, die Ergebnisse über eine Streamingerkennungsanfrage erhalten möchten.
Transkriptionen behandeln
Jede in einer Antwort gelieferte Alternative enthält ein transcript
mit dem erkannten Text. Wenn aufeinanderfolgende Alternativen bereitgestellt werden, sollten Sie diese Transkriptionen verketten.
Der folgende Python-Code durchläuft die Ergebnisliste und verkettet die Transkriptionen miteinander. Beachten Sie, dass wir in allen Fällen die erste Alternative (die nullte) verwenden.
response = service_request.execute() recognized_text = 'Transcribed Text: \n' for i in range(len(response['results'])): recognized_text += response['results'][i]['alternatives'][0]['transcript']
Konfidenzwerte interpretieren
Der confidence
-Wert ist eine Schätzung zwischen 0,0 und 1,0. Zu seiner Berechnung werden die "Wahrscheinlichkeitswerte" aggregiert, die jedem Wort im Audioinhalt zugewiesen sind. Je höher der Wert ist, desto höher ist die geschätzte Wahrscheinlichkeit, dass die einzelnen Wörter korrekt erkannt wurden. Dieses Feld wird meist nur für die oberste Hypothese und nur für die Ergebnisse bereitgestellt, in denen is_final=true
gilt. Sie können beispielsweise anhand des confidence
-Werts entscheiden, ob Sie dem Nutzer alternative Ergebnisse anzeigen oder ihn um eine Bestätigung bitten möchten.
Beachten Sie jedoch, dass das Modell das "beste", an erster Stelle stehende Ergebnis auf der Grundlage von mehr Signalen als nur des confidence
-Werts (z. B. Satzkontext) bestimmt.
Aus diesem Grund gibt es gelegentlich Fälle, in denen das beste Ergebnis nicht den höchsten Konfidenzwert hat. Wenn Sie nicht mehrere alternative Ergebnisse angefordert haben, kann das zurückgegebene "beste" Einzelergebnis einen niedrigeren Konfidenzwert haben als erwartet. Dies kann beispielsweise der Fall sein, wenn seltene Wörter verwendet werden. Einem Wort, das nur selten verwendet wird, kann ein niedriger "Wahrscheinlichkeitswert" zugewiesen werden, selbst wenn es richtig erkannt wird. Wenn das Modell anhand des Kontexts feststellt, dass das seltene Wort die wahrscheinlichste Option ist, wird dieses Ergebnis ganz oben zurückgegeben, auch wenn der confidence
-Wert des Ergebnisses niedriger als bei alternativen Optionen ist.
Speech-to-Text API-Anfragen zur Streamingerkennung
Ein Speech-to-Text API-Streamingerkennungsaufruf ist für eine Echtzeiterfassung und -erkennung von Audiodaten in einem bidirektionalen Stream entwickelt worden. Ihre Anwendung kann Audiodaten im Anfragestream senden und vorläufige sowie endgültige Erkennungsergebnisse im Antwortstream in Echtzeit empfangen. Die Zwischenergebnisse geben das aktuelle Erkennungsergebnis für einen Audiobereich wieder, während die endgültigen Erkennungsergebnisse den letzten besten Versuch für diesen Audiobereich darstellen.
Streaminganfragen
Im Gegensatz zum synchronen Verfahren, bei dem Sie sowohl die Konfiguration als auch die Audiodaten innerhalb einer einzigen Anfrage senden, erfordert die Streaminganfrage der Speech API das Senden mehrerer Anfragen. Die erste StreamingRecognizeRequest
-Anfrage muss eine Konfiguration vom Typ StreamingRecognitionConfig ohne begleitende Audiodaten enthalten. Die nachfolgenden StreamingRecognizeRequest
-Anfragen, die über denselben Stream gesendet werden, bestehen dann aus aufeinanderfolgenden Frames von Roh-Audiobytes.
Eine StreamingRecognitionConfig
besteht aus folgenden Feldern:
config
: Eine optionale Konfiguration vom Typ RecognitionConfig. Die Konfiguration ist die gleiche, die in synchronen Anfragen gezeigt wird.config
: Eine optionale Liste von Feldern, die die Werte in der Standard-RecognitionConfig im Recognizer überschreiben. Wenn keine Maske bereit gestellt wird, überschreiben alle nicht standardmäßigen Felder inconfig
die Werte im Recognizer für diese Erkennungsanfrage. Wenn eine Maske bereit gestellt wird, überschreiben die in der Maske aufgeführten Felder die Konfiguration im Recognizer für diese Erkennungsanfrage. Wenn ein Platzhalter (*
) angegeben wird, überschreibtconfig
die Konfiguration im Recognizer für diese Erkennungsanfrage vollständig und ersetzt sie.features
: Optional. Spracherkennungsfunktionen, die für Anfragen zur Streaming-Audioerkennung aktiviert sind. Weitere Informationen finden Sie unter StreamingRecognitionFeatures.
Streamingantworten
Die Ergebnisse einer Streamingspracherkennung werden in einer Reihe von Antworten vom Typ StreamingRecognitionResponse zurückgegeben. Eine solche Antwort umfasst die folgenden Felder:
speechEventType
: Enthält Ereignisse vom Typ SpeechEventType. Der Wert dieser Ereignisse weist darauf hin, wann eine einzelne gesprochene Eingabe abgeschlossen ist. Die Sprachereignisse dienen als Marker in der Streamingantwort.results
: Enthält die Liste der Ergebnisse, bei denen es sich entweder um Zwischenergebnisse oder endgültige Ergebnisse vom Typ StreamingRecognitionResult handelt. Dieresults
-Liste enthält folgende untergeordnete Felder:alternatives
: Enthält eine Liste alternativer Transkriptionen.isFinal
: Gibt an, ob die Ergebnisse in diesem Listeneintrag vorläufige oder endgültige Ergebnisse sind. Google kann mehrereisFinal=true
-Ergebnisse in einem einzigen Stream zurückgeben, aber dasisFinal=true
-Ergebnis ist nur garantiert, nachdem der Schreibstream geschlossen wurde (halbgeschlossen).stability
: Gibt die bisherige Volatilität der Ergebnisse an, wobei0.0
auf vollständige Instabilität und1.0
auf vollständige Stabilität hinweist. Beachten Sie, dass im Gegensatz zum Konfidenzwert, der die Zuverlässigkeit einer Transkription ermittelt, derstability
-Wert eine Schätzung darstellt, ob sich das gegenwärtige Teilergebnis noch ändern wird. WennisFinal
auftrue
eingestellt ist, wirdstability
nicht festgelegt.result_end_offset
: Zeitverschiebung des Endes dieses Ergebnisses relativ zum Beginn des Audios.channel_tag
: Die Kanalnummer, die dem erkannten Ergebnis für die Audiodaten aus diesem Kanal entspricht. Dies gilt nur für Audio mit mehreren Kanälen.language_code
: Das BCP-47-Sprachtag der Sprache in diesem Ergebnis.
speech_event_offset
: Die Zeitverschiebung zwischen dem Beginn der Audio- und der Ereignisemission.metadata
: Enthält RecognitionResponseMetadata, das sich auf die Anzahl der in Rechnung gestellten Audiosekunden bezieht.