In diesem Dokument werden die Grundlagen der Verwendung von Cloud Speech-to-Text beschrieben. In diesem konzeptionellen Leitfaden erfahren Sie, welche Arten von Anfragen Sie an Cloud STT senden können, wie Sie diese Anfragen erstellen und wie Sie die Antworten darauf verarbeiten. Wir empfehlen allen Nutzern von Cloud STT, diesen Leitfaden zu lesen und eine der damit verknüpften Anleitungen durchzugehen, bevor sie sich näher mit der API befassen.
Jetzt testen
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, mit dem sie sich dann von der Leistungsfähigkeit von Cloud STT in der Praxis überzeugen können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Cloud STT kostenlos testenSprachanfragen
Cloud STT bietet drei Hauptmethoden für die Spracherkennung:
Bei der synchronen Erkennung (REST und gRPC) werden Audiodaten an die Cloud Speech-to-Text API gesendet. Für die Daten wird eine Erkennung durchgeführt und die Ergebnisse werden zurückgegeben, nachdem alle Audiodaten verarbeitet wurden. Synchrone Erkennungsanfragen sind auf Audiodaten mit einer maximalen Dauer von 1 Minute beschränkt.
Bei der asynchronen Erkennung (REST und gRPC) werden Audiodaten an die Cloud Speech-to-Text API gesendet und es wird ein Vorgang mit langer Ausführungszeit initiiert. Während dieses Vorgangs können Sie regelmäßig Erkennungsergebnisse abfragen. Verwenden Sie asynchrone Anfragen für Audiodaten von einer beliebigen Dauer bis zu maximal 480 Minuten.
Bei der Streamingerkennung (nur gRPC) wird die Erkennung 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 Cloud Speech-to-Text API
Die einfachste Methode zur Spracherkennung aus Audiodaten besteht darin, eine synchrone Erkennungsanfrage an die Cloud Speech-to-Text API zu senden. Cloud STT kann bis zu 1 Minute Audiosprachdaten verarbeiten, die in einer synchronen Anfrage gesendet wurden. Nachdem Cloud STT alle Audiodaten verarbeitet und erkannt hat, wird eine Antwort zurückgegeben.
Eine synchrone Anfrage blockiert. Das bedeutet, dass Cloud STT vor der Verarbeitung der nächsten Anfrage eine Antwort zurückgeben muss. Cloud STT 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.
Synchrone Spracherkennungsanfragen
Eine synchrone Cloud Speech-to-Text API-Anfrage besteht aus einer Spracherkennungskonfiguration und Audiodaten. Beispiel:
{ "config": { "encoding": "LINEAR16", "sampleRateHertz": 16000, "languageCode": "en-US", }, "audio": { "uri": "gs://bucket-name/path_to_audio_file" } }
Alle synchronen Erkennungsanfragen an die Cloud Speech-to-Text API müssen ein config-Spracherkennungsfeld (vom Typ RecognitionConfig) enthalten. Eine RecognitionConfig enthält die folgenden untergeordneten Felder:
encoding: Erforderlich. Gibt das Codierungsschema der bereitgestellten Audiodaten (vom TypAudioEncoding) an. Wenn Sie den Codec frei wählen können, sollten Sie eine verlustfreie Codierung wie FLAC oderLINEAR16nutzen, um die bestmögliche Leistung zu erzielen. (Weitere Informationen finden Sie unter Audiocodierungen.) Das Feldencodingist optional für FLAC- und WAV-Dateien, bei denen die Codierung im Dateiheader enthalten ist.sampleRateHertz: Erforderlich. Gibt die Abtastrate der bereitgestellten Audiodaten (in Hertz) an. (Weitere Informationen zu Abtastraten finden Sie unten im Abschnitt Abtastraten.) Das FeldsampleRateHertzist optional für FLAC- und WAV-Dateien, bei denen die Abtastrate im Dateiheader enthalten ist.languageCode: Erforderlich. Enthält die Sprache und die Region oder das Gebietsschema, die für die Spracherkennung der bereitgestellten Audiodaten verwendet werden sollen. Der Sprachcode muss eine BCP-47-Kennung sein. Beachten Sie, dass Sprachcodes in der Regel aus den primären Sprachtags und sekundären Tags für die Region zur Angabe von Dialekten bestehen (im obigen Beispiel ist dies „en“ für Englisch und „US“ für die Vereinigten Staaten). (Eine Liste der unterstützten Sprachen finden Sie unter Unterstützte Sprachen.)maxAlternatives: Optional, der Standardwert ist1. Gibt die Anzahl der alternativen Transkriptionen an, die in der Antwort angegeben werden sollen. Standardmäßig bietet die Cloud Speech-to-Text API eine primäre Transkription an. Wenn Sie verschiedene Alternativen auswerten möchten, setzen SiemaxAlternativesauf einen höheren Wert. Beachten Sie, dass Cloud STT nur dann Alternativen zurückgibt, wenn vom Erkennungssystem Alternativen von ausreichender Qualität ermittelt werden; im Allgemeinen eignen sich Alternativen eher für Echtzeitanfragen, die Nutzerfeedback erfordern (z. B. Sprachbefehle). Sie sind daher besser für Streaming-Erkennungsanfragen geeignet.profanityFilter: Optional. Gibt an, ob anstößige Wörter oder Wortgruppen herausgefiltert werden sollen. Wörter, die herausgefiltert werden, enthalten ihren ersten Buchstaben und Sternchen für die restlichen Zeichen (z. B. S******). Der Filter für vulgäre Sprache basiert auf einzelnen Wörtern. Wortgruppen oder Wortkombinationen, die als Schimpfworte verwendet werden oder verletzend sind, können daher nicht umfassend herausgefiltert werden.speechContext: Optional. Enthält zusätzliche kontextbezogene Informationen zur Verarbeitung dieser Audiodaten. Ein Kontext enthält das folgende untergeordnete Feld:boost: Enthält einen Wert, der die Erkennung eines bestimmten Wortes oder einer Wortgruppe zu einer Gewichtung zuweist.phrases: Enthält eine Liste von Wörtern und Wortgruppen, die Hinweise für den Task der Spracherkennung enthalten. Weitere Informationen finden Sie unter Sprachanpassung.
Audiodaten werden durch den Parameter audio vom Typ RecognitionAudio an Cloud STT übergeben. Das Feld audio enthält eines der folgenden untergeordneten Felder:
contententhält die auszuwertenden Audiodaten, eingebettet in die Anfrage. Weitere Informationen finden Sie unter Audioinhalte einbetten. Audiodaten, die direkt in diesem Feld übergeben werden, sind auf eine maximale Dauer von 1 Minute begrenzt.urienthält einen URI, der auf den Audioinhalt verweist. Die Datei darf nicht komprimiert sein (z. B. mit gzip). Dieses Feld muss einen Cloud Storage-URI (im Formatgs://bucket-name/path_to_audio_file) enthalten. Weitere Informationen finden Sie unter Audioverweis durch einen URI übergeben.
Abtastraten
Sie legen die Abtastrate für Ihre Audiodaten im Feld sampleRateHertz der Anfragekonfiguration fest. Sie muss der Abtastrate des verknüpften Audioinhalts oder Streams entsprechen. In Cloud STT werden Abtastraten zwischen 8.000 und 48.000 Hz unterstützt. Sie können die Abtastrate für eine FLAC- oder WAV-Datei im Dateiheader angeben, anstatt das sampleRateHertz-Feld zu verwenden.
Eine FLAC-Datei muss die Abtastrate im FLAC-Header enthalten, damit sie an die Speech-to-Text API gesendet werden kann.
Wenn Sie bei der Codierung des Quellmaterials eine Wahl haben, erfassen Sie Audiodaten 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 Legacy-Audioinhalte für Telefonie nutzen beispielsweise Abtastraten von 8.000 Hz, die möglicherweise weniger genaue Ergebnisse liefern. Wenn Sie solche Audiodaten verwenden müssen, stellen Sie sie der Speech API mit ihrer ursprünglichen Abtastrate bereit.
Sprachen
Die Erkennungs-Engine von Cloud STT unterstützt viele verschiedene Sprachen und Dialekte. Sie geben die Sprache (sowie den nationalen oder regionalen Dialekt) Ihrer Audioinhalte im Feld languageCode der Anfragekonfiguration mithilfe einer BCP-47-Kennung an.
Eine vollständige Liste der unterstützten Sprachen für die einzelnen Funktionen finden Sie auf der Seite Sprachunterstützung.
Zeitlicher Versatz (Zeitstempel)
Cloud STT kann Zeitversatzwerte (Zeitstempel) für den Beginn und das Ende jedes gesprochenen Wortes zurückgeben, das in den bereitgestellten Audioinhalten erkannt wird. Ein Zeitversatzwert stellt die Zeitdauer dar, die seit Beginn des Audioinhalts in Schritten von 100 ms abgelaufen ist.
Zeitliche Versätze 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. Zeitliche Versätze werden in allen unseren Erkennungsmethoden unterstützt: recognize, streamingrecognize und longrunningrecognize.
Zeitversatzwerte werden nur für die erste Alternative der Erkennungsantwort eingefügt.
Sie können den Ergebnissen Ihrer Anfragen zeitliche Versätze hinzufügen, wenn Sie den Parameter enableWordTimeOffsets in Ihrer Anfragekonfiguration auf „true“ setzen. Beispiele für die Verwendung der REST API oder der Clientbibliotheken finden Sie unter Zeitliche Versätze (Zeitstempel) verwenden.
Sie können beispielsweise den Parameter enableWordTimeOffsets in die Anfragekonfiguration aufnehmen, wie hier gezeigt:
{ "config": { "languageCode": "en-US", "enableWordTimeOffsets": true }, "audio":{ "uri":"gs://gcs-test-data/gettysburg.flac" } }
Das Ergebnis, das von der Cloud Speech-to-Text API zurückgegeben wird, enthält Zeitversatzwerte für jedes erkannte Wort, wie im Folgenden gezeigt:
{ "name": "6212202767953098955", "metadata": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata", "progressPercent": 100, "startTime": "2017-07-24T10:21:22.013650Z", "lastUpdateTime": "2017-07-24T10:21:45.278630Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse", "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
Cloud STT kann eines von mehreren Modellen für maschinelles Lernen verwenden, um Ihre Audiodatei zu transkribieren. Google hat diese Spracherkennungsmodelle für spezifische Audiotypen und -quellen trainiert.
Wenn Sie eine Anfrage zur Audiotranskription an Cloud STT senden, können Sie die erhaltenen Ergebnisse verbessern, wenn Sie die Quelle der ursprünglichen Audioinhalte angeben. Diese ermöglicht der Cloud Speech-to-Text API, Ihre Audiodateien mithilfe eines Modells für maschinelles Lernen zu verarbeiten, das speziell dafür trainiert wurde, Sprachaudioinhalte aus dieser Art von Quelle zu erkennen.
Wenn Sie ein Modell für die Spracherkennung festlegen möchten, fügen Sie das Feld model in das Objekt RecognitionConfig für Ihre Anfrage ein und geben das gewünschte Modell an.
Informationen zu den verfügbaren Modellen für maschinelles Lernen finden Sie in der Liste der Cloud STT-Transkriptionsmodelle.
Eingebettete Audioinhalte
Eingebettete Audioinhalte lassen sich durch das Übergeben des Parameters content innerhalb des Feldes audio in eine Spracherkennungsanfrage einfügen. Eingebettete Audioinhalte, die innerhalb einer gRPC-Anfrage als Inhalte bereitgestellt werden, müssen mit der Proto3-Serialisierung kompatibel sein und als Binärdaten bereitgestellt werden. Eingebettete Audioinhalte, die innerhalb einer REST-Anfrage als Inhalte bereitgestellt werden, müssen mit der JSON-Serialisierung kompatibel und zuerst 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 übergeben Sie wahrscheinlich einen uri-Parameter innerhalb des Feldes audio in der Sprachanfrage und verweisen damit auf eine Audiodatei (im Binärformat, nicht base64), die sich in Cloud Storage befindet. Dabei wird das folgende Format verwendet:
gs://bucket-name/path_to_audio_file
Beispielsweise verweist der folgende Teil einer Sprachanfrage auf die Beispiel-Audiodatei, die in der Schnellstartanleitung verwendet wird:
... "audio": { "uri":"gs://cloud-samples-tests/speech/brooklyn.flac" } ...
Sie müssen eine zulässige Zugriffsberechtigung haben, um Cloud Storage-Dateien zu lesen, z. B. eine der Folgenden:
- Öffentlich lesbar (wie unsere Beispiel-Audiodateien)
- Von Ihrem Dienstkonto lesbar, wenn Sie die Dienstkontoautorisierung verwenden
- Von einem Nutzerkonto lesbar, wenn dreibeiniges OAuth für die Nutzerkonto-Autorisierung verwendet wird
Weitere Informationen zur Verwaltung des Zugriffs auf Cloud Storage finden Sie unter Access Control Lists erstellen und verwalten in der Cloud Storage-Dokumentation.
Cloud Speech-to-Text API-Antworten
Wie bereits erwähnt, kann es einige Zeit dauern, bis durch eine synchrone Cloud Speech-to-Text API-Antwort Ergebnisse zurückgegeben werden. Die Dauer hängt von der Länge der bereitgestellten Audioinhalte ab. Nach der Verarbeitung gibt die API eine Antwort wie im folgenden Codeblock zurück:
{ "results": [ { "alternatives": [ { "confidence": 0.98267895, "transcript": "how old is the Brooklyn Bridge" } ] } ] }
resultsenthält die Liste der Ergebnisse (vom TypSpeechRecognitionResult), wobei jedes Ergebnis einem Segment der Audioinhalte entspricht (Audiosegmente sind durch Pausen voneinander getrennt). Jedes Ergebnis besteht aus einem oder mehreren der folgenden Felder:alternativesenthält eine Liste möglicher Transkriptionen vom TypSpeechRecognitionAlternatives. Ob mehrere Alternativen angezeigt werden, hängt davon ab, ob Sie mehrere Alternativen (durch Festlegen vonmaxAlternativesauf einen Wert größer als1) angefordert haben. Es hängt auch davon ab, ob die Qualität der von Cloud STT erzeugten Alternativen hoch genug ist. Jede Alternative besteht aus den folgenden Feldern:transcriptenthält den transkribierten Text. Weitere Informationen finden Sie unter Transkriptionen handhaben.confidenceenthält einen Wert zwischen0und1, der angibt, wie hoch Cloud STT die Zuverlässigkeit der vorliegenden Transkription einstuft. Weitere Informationen finden Sie unter Konfidenzwerte interpretieren.
Die Komponenten dieser Antwort werden in den folgenden Abschnitten erläutert.
Alternativen auswählen
Jedes Ergebnis in einer erfolgreichen Antwort einer synchronen Spracherkennung kann eine oder mehrere alternatives enthalten (wenn der Wert maxAlternatives für die Anfrage größer als 1 ist). Wenn Cloud STT 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 (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 es sinnvoller, mehrere Alternativen anzufragen, um Echtzeitoptionen für Nutzer bereitzustellen, die Ergebnisse über eine Streamingerkennungsanfrage erhalten.
Transkriptionen handhaben
Jede in der 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
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 mehr Signale als nur den confidence-Wert verwendet (z. B. den Satzkontext), um das „beste“, an erster Stelle stehende Ergebnis zu bestimmen.
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 angefragt 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.
Asynchrone Anfragen und Antworten
Eine asynchrone Cloud Speech-to-Text API-Anfrage an die Methode LongRunningRecognize ist in der Form mit einer synchronen Speech-to-Text API-Anfrage identisch. Statt jedoch eine Antwort zurückzugeben, wird durch die asynchrone Anfrage ein Vorgang mit langer Ausführungszeit (vom Typ Vorgang) initiiert sofort und an den Aufgerufenen zurückgegeben. Sie können die asynchrone Spracherkennung mit Audioinhalten von einer beliebigen Länge bis zu maximal 480 Minuten verwenden.
Beispiel:
{ "name": "operation_name", "metadata": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata" "progressPercent": 34, "startTime": "2016-08-30T23:26:29.579144Z", "lastUpdateTime": "2016-08-30T23:26:29.826903Z" } }
Beachten Sie, dass noch keine Ergebnisse vorhanden sind. Cloud STT fährt mit der Verarbeitung der Audioinhalte fort und verwendet diesen Vorgang, um die Ergebnisse zu speichern. Die Ergebnisse werden im Feld response des Vorgangs angezeigt, der zurückgegeben wird, wenn die Anfrage LongRunningRecognize abgeschlossen ist.
Das folgende Beispiel zeigt eine vollständige Antwort nach Beendigung der Anfrage:
{ "name": "1268386125834704889", "metadata": { "lastUpdateTime": "2016-08-31T00:16:32.169Z", "@type": "type.googleapis.com/google.cloud.speech.v1.LongrunningRecognizeMetadata", "startTime": "2016-08-31T00:16:29.539820Z", "progressPercent": 100 } "response": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse", "results": [{ "alternatives": [{ "confidence": 0.98267895, "transcript": "how old is the Brooklyn Bridge" }]}] }, "done": True, }
Beachten Sie, dass done auf True gesetzt wurde und die response des Vorgangs eine Ergebnismenge vom Typ SpeechRecognitionResult enthält. Dies ist derselbe Typ, der von einer synchronen Cloud Speech-to-Text API-Erkennungsanfrage zurückgegeben wird.
Cloud Speech-to-Text API-Anfragen zur Streamingerkennung
Ein Aufruf zur Streamingerkennung an die Cloud Speech-to-Text API ist so ausgelegt, dass damit Audioinhalte in einem bidirektionalen Stream in Echtzeit erfasst und erkannt werden können. Ihre Anwendung kann Audioinhalte 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 zu synchronen und asynchronen Aufrufen, bei denen Sie sowohl die Konfiguration als auch die Audioinhalte innerhalb einer einzigen Anfrage senden, erfordert die Streaminganfrage der Speech API das Senden mehrerer Anfragen. Die erste StreamingRecognizeRequest muss eine Konfiguration vom Typ StreamingRecognitionConfig ohne begleitende Audioinhalte enthalten. Die nachfolgenden StreamingRecognizeRequests, die über denselben Stream gesendet werden, bestehen dann aus aufeinanderfolgenden Frames von Roh-Audiobytes.
Eine StreamingRecognitionConfig besteht aus folgenden Feldern:
config: Erforderlich. Enthält Konfigurationsinformationen für die Audioinhalte vom Typ RecognitionConfig und ist mit dem in synchronen und asynchronen Anfragen gezeigten Feld identisch.single_utterance: Optional, standardmäßigfalse. Gibt an, ob diese Anfrage automatisch beendet werden soll, wenn keine Sprache mehr erkannt wird. Wenn dies festgelegt ist, ermittelt Cloud STT Pausen, Stille oder Audio ohne Sprachanteile, um so festzustellen, wann die Erkennung beendet werden soll. Ist dies nicht festgelegt, werden die Audioinhalte vom Stream weiter abgehört und verarbeitet, bis entweder der Stream direkt geschlossen oder die maximale Länge des Streams überschritten wird. Wenn Sprachbefehle verarbeitet werden sollen, ist es sinnvoll,single_utteranceauftruefestzulegen.interim_results: Optional, standardmäßigfalse. Gibt an, dass diese Streaminganfrage vorläufige Ergebnisse zurückgeben soll, die sich dann (nach der Verarbeitung weiterer Audioinhalte) zu einem späteren Zeitpunkt optimieren lassen. Zwischenergebnisse werden in den Antworten durch Festlegen vonis_finalauffalsegekennzeichnet.
Streamingantworten
Die Ergebnisse einer Streamingspracherkennung werden in einer Reihe von Antworten vom Typ StreamingRecognitionResponse zurückgegeben. Eine solche Antwort umfasst die folgenden Felder:
speechEventTypeenthält Ereignisse vom Typ SpeechEventType. Der Wert dieser Ereignisse weist darauf hin, wann eine einzelne gesprochene Eingabe abgeschlossen ist. Die Sprachereignisse dienen als Markierungen innerhalb der Antwort Ihres Streams.resultsenthä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:alternativesenthält eine Liste alternativer Transkriptionen.isFinalgibt an, ob die Ergebnisse in diesem Listeneintrag vorläufige oder endgültige Ergebnisse sind. Google kann möglicherweise mehrereisFinal=true-Ergebnisse in einem einzigen Stream zurückgeben, aber dasisFinal=true-Ergebnis ist nur garantiert, nachdem der Schreibstream geschlossen (halb geschlossen) wurde.stabilitygibt die bisherige Volatilität der Ergebnisse an, wobei0.0auf vollständige Instabilität und1.0auf vollständige Stabilität hinweist. Beachten Sie, dass im Gegensatz zum Konfidenzwert, der die Korrektheit einer Transkription schätzt, derstability-Wert eine Schätzung darstellt, ob sich das angegebene Teilergebnis noch ändern wird. WennisFinalauftruefestgelegt ist, wirdstabilitynicht festgelegt.