In diesem Dokument werden die Grundlagen der Verwendung von Media Translation erläutert. In diesem Leitfaden lesen Sie, welche Arten von Anfragen Sie an Media Translation senden können, wie Sie diese Anfragen erstellen und wie Sie die Antworten verarbeiten. Wir empfehlen allen Nutzern, diesen Leitfaden für Media Translation zu lesen und eine der damit verknüpften Anleitungen durchzugehen, bevor sie sich näher mit der API befassen.
Anfragen zur Sprachübersetzung
Media Translation bietet derzeit nur eine Methode für die Sprachübersetzung:
- Streaming Translation (nur gRPC) übersetzt Audiodaten, die in einem bidirektionalen gRPC-Stream bereitgestellt werden. Streaminganfragen sind für Echtzeitübersetzungen bestimmt, zum Beispiel bei der Aufnahme von Live-Audio mit einem Mikrofon. Die Streamingübersetzung liefert während der Aufnahme der Audiodaten Zwischenergebnisse, sodass Ergebnisse zum Beispiel bereits angezeigt werden, während ein Nutzer noch spricht. Anfragen für Streamingübersetzungen sind auf Audiodaten mit einer maximalen Länge von fünf Minuten beschränkt.
Die Anfragen enthalten entweder Konfigurationsparameter oder Audiodaten. In den folgenden Abschnitten werden diese Arten von Sprachübersetzungsanfragen, die dadurch generierten Antworten und deren Verarbeitung im Detail beschrieben.
Anfragen zur Streamingsprachübersetzung
Eine Streaminganfrage an die Media Translation API kann entweder eine Sprachübersetzungskonfiguration oder Audiodaten enthalten. Hier sehen Sie ein Beispiel für eine Konfigurationsanfrage:
{ "audio_config": { "audio_encoding": "linear16", "sample_rate_hertz": 16000, "source_language_code": "en-US", "target_language_code": "zh", "model" : "google-provided-model/video", } "single_utterance" : False }
Im Folgenden sehen Sie ein Beispiel für eine Audiodatenanfrage:
{ "audio_content " : "\366c\256\375jQ\r\312\205j\271\243%/u\216z\330\354\221\360\253KJ\005\" }
Die erste StreamingTranslateSpeechRequest
-Anfrage muss eine Konfiguration vom Typ StreamingTranslateSpeechConfig ohne zugehörige Audiodaten enthalten. Die nachfolgenden StreamingTranslateSpeechRequest
-Anfragen, die über denselben Stream gesendet werden, bestehen dann aus aufeinanderfolgenden Frames von Roh-Audiobytes.
Eine StreamingTranslateSpeechConfig
enthält die folgenden Felder:
audio_config
(erforderlich) enthält Konfigurationsinformationen des Typs TranslateSpeechConfig für die Audiodaten.single_utterance
(optional, standardmäßigfalse
) gibt an, ob diese Anfrage automatisch beendet werden soll, wenn keine Sprache mehr erkannt wird. Wenn diese Option aktiviert ist, erkennt Media Translation Pausen, Stille oder Ton ohne Sprache, um zu bestimmen, wann die Übersetzung beendet werden soll. Ist dies nicht festgelegt, wird der Audiostream weiter verarbeitet, bis er entweder direkt geschlossen wird oder die maximale Länge des Audiostreams überschritten wurde. Wenn Sprachbefehle verarbeitet werden sollen, ist es sinnvoll,single_utterance
auftrue
zu setzen.
TranslateSpeechConfig
enthält die folgenden untergeordneten Felder:
audio_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 wieFLAC
oderLINEAR16
nutzen, um die bestmögliche Leistung zu erzielen. Weitere Informationen finden Sie unter Unterstützte Audiocodierungen.sample_rate_hertz
(erforderlich) gibt die Abtastrate der bereitgestellten Audiodaten (in Hertz) an. Weitere Informationen zu Abtastraten finden Sie unten im Abschnitt Abtastraten.source_language_code
(erforderlich) enthält die Sprache und Region, die zur Spracherkennung der bereitgestellten Audiodaten zu verwenden ist. Der Sprachcode muss eine BCP-47 sein. Beachten Sie, dass Sprachcodes in der Regel aus den primären Sprach-Tags 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.- "target_language_code" (erforderlich) enthält die Sprache, die für die Textübersetzung der bereitgestellten Audiodaten verwendet werden soll. Der Sprachcode muss eine BCP-47 sein. Beachten Sie, dass Sprachcodes normalerweise nur aus primären Sprach-Tags bestehen, da Übersetzungstext keine Dialekte berücksichtigt. Die Übersetzungstexte von "zh-CN" und "zh-TW" sind jedoch unterschiedlich. Eine Liste der unterstützten Sprachen finden Sie unter Unterstützte Sprachen.
Die Audiodaten werden Media Translation über das Feld audio_content
vom Typ StreamingTranslateSpeechRequest bereitgestellt. Das Feld audio_content
enthält die auszuwertenden Audiodaten, die in die Anfrage eingebettet sind.
Weitere Informationen finden Sie unten im Abschnitt Audioinhalte einbetten.
Antwort der Streamingsprachübersetzung
Die Ergebnisse der Streaming-Sprachübersetzung werden mit einer Reihe von Antworten vom Typ StreamingTranslateSpeechResponse zurückgegeben. Eine solche Antwort umfasst die folgenden Felder:
speech_event_type
enthält Ereignisse vom Typ SpeechEventType. Der Wert dieser Ereignisse weist darauf hin, wann eine einzelne gesprochene Eingabe abgeschlossen ist. Die Sprachereignisse dienen als Markierungen in der Streamingantwort. Nach dem Empfang vonEND_OF_SINGLE_UTTERANCE
muss der Nutzer keine Anfragen mehr senden, während er auf die verbleibenden Übersetzungsantworten wartet.results
enthält die Liste der Ergebnisse, die entweder Zwischen- oder Endergebnisse des Typs StreamingTranslateSpeechResult sein können. Dieresults
-Liste enthält folgende untergeordnete Felder:translation
enthält den Übersetzungstext.isFinal
gibt an, ob die Ergebnisse in diesem Listeneintrag vorläufige oder endgültige Ergebnisse sind.
Weitere Informationen zu diesen Anfrage- und Antwortparametern finden Sie nachstehend.
Abtastraten
Legen Sie die Abtastrate für Ihre Audiodaten im Feld sample_rate_hertz
der Anfragekonfiguration fest. Sie muss der Abtastrate des bereitgestellten Audioinhalts oder Streams entsprechen. In Media Translation werden Abtastraten zwischen 8.000 Hz und 48.000 Hz unterstützt.
Wenn Sie beim Codieren des Quellmaterials eine Wahl haben, nehmen Sie Audio mit einer Abtastrate von 16.000 Hz auf. Niedrigere Werte können die Genauigkeit der Spracherkennung und damit auch die Übersetzungsqualität beeinträchtigen. Eine höhere Abtastrate hat keine nennenswerten Auswirkungen auf die Spracherkennungsqualität, kann aber die Latenz erhöhen.
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-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 Media Translation API mit ihrer nativen Abtastrate zur Verfügung.
Sprachen
Das Erkennungs-/Übersetzungsmodul von Media Translation unterstützt eine Vielzahl von Sprach-/Dialektpaaren. Die Sprache sowie der nationale oder regionale Dialekt Ihrer Audiodaten werden im Feld source_language_code
und target_language_code
der Anfragekonfiguration als BCP-47 angegeben.
Eine vollständige Liste der unterstützten Sprachen für die einzelnen Features finden Sie auf der Seite Sprachunterstützung.
Modelle auswählen
Media Translation kann eines von mehreren Modellen für maschinelles Lernen verwenden, um Ihre Audiodatei zu übersetzen. Google hat diese Modelle für bestimmte Audiotypen und -quellen trainiert.
Wenn Sie eine Audioübersetzungsanfrage an Media Translation senden, können Sie durch Angabe des Modells die Ergebnisse verbessern. Die Media Translation API kann Ihre Audiodateien dann nämlich mit einem Modell für maschinelles Lernen verarbeiten, das für die Erkennung von Sprachaudio aus einem bestimmten Quelltyp trainiert wurde.
Wenn Sie ein Modell für die Sprachübersetzung angeben möchten, fügen Sie in das TranslateSpeechConfig-Objekt für Ihre Anfrage das Feld model
ein und geben Sie das gewünschte Modell an.
Media Translation kann zur Übersetzung Ihrer Audiodateien folgende Modelle für maschinelles Lernen verwenden.
Typ | Namensstring | Beschreibung |
---|---|---|
Video | google-provided-model/video |
Verwenden Sie dieses Modell, um Audio in Videoclips oder Audiodaten mit mehreren Sprechern zu transkribieren. Optimale Ergebnisse erzielen Sie, wenn Sie Audiodaten bereitstellen, die mit einer Abtastrate von mindestens 16.000 Hz aufgezeichnet wurden. Hinweis: Dies ist ein Premiummodell, dessen Preis über dem Standardpreis liegt. |
Telefonanruf | google-provided-model/(enhanced-)phone-call |
Verwenden Sie dieses Modell zum Transkribieren der Audiodaten eines Telefonanrufs. In der Regel werden Smartphone-Audiodaten mit einer Abtastrate von 8.000 Hz aufgezeichnet. Hinweis: Das optimierte Telefonmodell ist ein Premiummodell, dessen Preis über dem Standardpreis liegt. |
Media Translation: Standard | google-provided-model/default |
Verwenden Sie dieses Modell, wenn die Audiodaten zu keinem der zuvor beschriebenen Modelle passen. Sie können es beispielsweise für lange Audioaufnahmen mit nur einem Sprecher nutzen. Idealerweise sollten dies High-Fidelity-Audiodaten sein, die mit einer Abtastrate von mindestens 16.000 Hz aufgezeichnet wurden. |
Audioinhalte einbetten
Eingebettete Audiodaten sind in der Anfrage für Streaming-Sprachübersetzung enthalten, wenn in der Streaminganfrage ein audio_content
-Feld übergeben wird. In einer gRPC-Anfrage lassen sich nur Audiodaten als Inhalte bereitstellen, die mit der Proto3 kompatibel sind. Ferner müssen die Audiodaten als Binärdaten eingefügt werden.
Wenn Sie eine Anfrage mit einer Google Cloud-Clientbibliothek erstellen, schreiben Sie diese Binärdaten im Allgemeinen direkt in das Feld audio_content
.
Codebeispiele finden Sie unter Audiostreams übersetzen.