Grundlagen von Media Translation

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äßig false) 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 auf true zu setzen.

TranslateSpeechConfig enthält die folgenden untergeordneten Felder:

  • audio_encoding (erforderlich) gibt das Codierungsschema der bereitgestellten Audiodaten vom Typ AudioEncoding an. Wenn Sie den Codec frei wählen können, sollten Sie eine verlustfreie Codierung wie FLAC oder LINEAR16 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-Kennung 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-Kennung 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 von END_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. Die results-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-Kennung 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-Serialisierung 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.