Grundlagen von Cloud Text-to-Speech

Mit Cloud Text-to-Speech können Entwickler natürlich klingende, synthetische menschliche Sprache als Audiowiedergabe in ihren Anwendungen generieren. Sie können die Audiodatendateien, die Sie mit Text-to-Speech in Ihren Anwendungen oder Medien erstellen, in Übereinstimmung mit den Google Cloud Platform-Nutzungsbedingungen und geltenden Gesetzen verwenden.

Text-to-Speech wandelt Text- oder SSML-Eingaben (Speech Synthesis Markup Language) in Audiodaten wie MP3 oder LINEAR16 um. Letzteres ist die in WAV-Dateien verwendete Codierung.

In diesem Dokument werden die wichtigsten Grundlagen der Verwendung von Text-to-Speech beschrieben. Bevor Sie sich mit der API beschäftigen, lesen Sie die Kurzanleitungen.

Einfaches Beispiel

Text-to-Speech eignet sich optimal für Anwendungen, in denen menschliche Sprache als Audio wiedergegeben wird. Sie können damit beliebige Strings, Wörter und Sätze so wiedergeben, wie ein Mensch sie aussprechen würde.

Nehmen wir an, Sie haben eine App mit einem Sprachassistenten, die durch abspielbare Audiodateien Feedback an Nutzer in natürlicher Sprache ausgibt. Nutzer erhalten dadurch bei Aktionen der App gegebenenfalls Feedback in menschlicher Sprache.

Ihre App kann beispielsweise melden, dass in den Kalender des Nutzers ein Termin eingetragen wurde. Hierfür wird in der App ein Antwortstring wie "Ich habe den Termin deinem Kalender hinzugefügt" erstellt.

Mit Text-to-Speech können Sie diesen Antwortstring wie im folgenden Beispiel in tatsächliche menschliche Sprache umwandeln, die für den Nutzer abgespielt wird.


1. Beispiel: In Text-to-Speech generierte Audiodatei

Senden Sie zum Erstellen einer Audiodatei wie im 1. Beispiel eine Anfrage an Text-to-Speech, die ungefähr wie der folgende Code-Snippet aussieht.

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) -H "Content-Type: application/json; charset=utf-8" --data "{
  'input':{
    'text':'I\'ve added the event to your calendar.'
  },
  'voice':{
    'languageCode':'en-gb',
    'name':'en-GB-Standard-A',
    'ssmlGender':'FEMALE'
  },
  'audioConfig':{
    'audioEncoding':'MP3'
  }
}" "https://texttospeech.googleapis.com/v1/text:synthesize"

Sprachsynthese

Das Übersetzen einer Texteingabe in Audiodaten wird als Synthese bezeichnet und die Ausgabe der Synthese als synthetische Sprache. Text-to-Speech akzeptiert zwei Arten von Eingaben: Rohtext oder SSML-formatierte Daten (siehe unten). Wenn Sie eine neue Audiodatei erstellen möchten, rufen Sie den Endpunkt synthesize der API auf.

Während des Sprachsyntheseprozesses werden rohe Audiodaten als Base64-codierter String generiert. Damit eine Anwendung den base64-codierten String wiedergeben kann, muss dieser in eine Audiodatei decodiert werden. Die meisten Plattformen und Betriebssysteme haben Tools zum Decodieren von Base64-Text in abspielbare Mediendateien.

Weitere Informationen zur Synthese erhalten Sie in der Kurzanleitung oder auf der Seite Sprach-Audiodateien erstellen.

Stimmen

In Text-to-Speech werden rohe Audiodaten mit natürlicher, menschlicher Sprache erstellt. Das heißt, die generierten Audiodaten klingen, als ob ein Mensch spricht. Wenn Sie eine Syntheseanfrage an Text-to-Speech senden, müssen Sie eine Stimme festlegen, welche die Wörter "spricht".

Text-to-Speech bietet eine große Auswahl an benutzerdefinierten Stimmen. Die Stimmen variieren je nach Sprache, Geschlecht und Akzent (bei bestimmten Sprachen). Sie können beispielsweise Audioinhalte erstellen, die den Klang eines englischsprachigen Sprechers mit einem britischen Akzent wie im obigen Beispiel imitieren. Sie können den Text auch in eine andere Stimme umwandeln, etwa in einen englischen Sprecher mit australischem Akzent.


2. Beispiel: Englischer Sprecher mit australischem Akzent in generierter Audiodatei

Die vollständige Liste der verfügbaren Stimmen finden Sie unter Unterstützte Stimmen.

WaveNet-Stimmen

Neben anderen traditionellen synthetischen Stimmen bietet Text-to-Speech auch von WaveNet generierte Premiumstimmen. Nutzer finden die von WaveNet generierten Stimmen freundlicher und menschenähnlicher als andere synthetische Stimmen.

Der Hauptunterschied bei WaveNet-Stimmen ist das für die Stimmgenerierung verwendete WaveNet-Modell. WaveNet-Modelle werden mit von Menschen gesprochenen rohen Audiosamples trainiert. Die Silben, Phoneme und Wörter der mit diesen Modellen generierten synthetischen Sprache haben daher eine menschenähnliche Betonung und einen natürlichen Tonfall.

Vergleichen Sie die folgenden beiden Beispiele für synthetische Sprache.


3. Beispiel: Mit einer Standardstimme generierte Audiodatei


4. Beispiel: Mit einer WaveNet-Stimme generierte Audiodatei

Weitere Informationen zu den Vorteilen von mit WaveNet generierten Stimmen finden Sie unter WaveNet und andere synthetische Stimmen.

Andere Audioausgabeeinstellungen

Sie können nicht nur die Stimme, sondern auch andere Aspekte für die Audiodatenausgabe durch Sprachsynthese konfigurieren. Text-to-Speech unterstützt die Konfiguration der Sprechgeschwindigkeit, Tonhöhe, Lautstärke und Abtastrate in Hertz.

Weitere Informationen finden Sie in der Referenz zu AudioConfig.

Unterstützung von SSML (Speech Synthesis Markup Language)

Sie können die von Text-to-Speech generierte synthetische Sprache optimieren. Definieren Sie hierfür den Text mithilfe der Speech Synthesis Markup Language (SSML) genauer. Mit SSML können Sie in die von Text-to-Speech generierten Audiodaten Pausen, die Aussprache von Akronymen und weitere Details einfügen. Text-to-Speech unterstützt einen Teil der verfügbaren SSML-Elemente.

Damit beispielsweise Ordinalzahlen von der synthetischen Sprache korrekt ausgesprochen werden, definieren Sie diese in Text-to-Speech mit SSML-Eingaben.


5. Beispiel: Mit Nur-Text-Eingaben generierte Audiodatei


6. Beispiel: Mit SSML-Eingaben generierte Audiodatei

Weitere Informationen zur Sprachsynthese aus SSML finden Sie unter Sprach-Audiodateien erstellen.