Mit Cloud Text-to-Speech können Sie Wörter und Sätze in Base64-codierte Audiodaten in Form von natürlicher menschlicher Sprache umwandeln. Die Audiodaten wandeln Sie anschließend durch Decodieren der base64-Daten in eine abspielbare Audiodatei wie MP3 um. Die Text-to-Speech API akzeptiert Eingaben in Form von Rohtext oder Speech Synthesis Markup Language (SSML).
In diesem Dokument wird beschrieben, wie Sie eine Audiodatei in Text-to-Speech aus einer Texteingabe oder SSML-Eingabe erstellen. Wenn Sie mit Konzepten wie Sprachsynthese oder SSML nicht vertraut sind, finden Sie weitere Informationen im Artikel Grundlagen von Text-to-Speech.
Für diese Beispiele müssen Sie die Google Cloud CLI installiert und initialisiert haben. Informationen zum Einrichten der gcloud CLI finden Sie unter Bei Text-to-Speech authentifizieren.
Text in synthetisches Sprachaudio umwandeln
In den folgenden Codebeispielen sehen Sie, wie Sie einen String in Audiodaten umwandeln.
Die Ausgabe der Sprachsynthese ist auf verschiedene Weise konfigurierbar. Sie können beispielsweise eine bestimmte Stimme auswählen oder die Ausgabe hinsichtlich Tonhöhe, Lautstärke, Sprechgeschwindigkeit und Abtastrate anpassen.
Protokoll
Ausführliche Informationen finden Sie unter dem API-Endpunkt text:synthesize
.
Wenn Sie Audioinhalte aus Text synthetisieren möchten, stellen Sie eine HTTP-POST-Anfrage an den Endpunkt text:synthesize
. Geben Sie im Hauptteil der POST-Anfrage im Konfigurationsabschnitt voice
die Art der zu synthetisierenden Stimme an, im Abschnitt input
im Feld text
den zu synthetisierenden Text und im Abschnitt audioConfig
die Art der zu erstellenden Audioinhalte.
Mit dem folgenden Code-Snippet wird eine Syntheseanfrage an den Endpunkt text:synthesize
gesendet. Die Ergebnisse werden in der Datei synthesize-text.txt
gespeichert. Ersetzen Sie PROJECT_ID
durch Ihre Projekt-ID.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: <var>PROJECT_ID</var>" \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ 'input':{ 'text':'Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.' }, 'voice':{ 'languageCode':'en-gb', 'name':'en-GB-Standard-A', 'ssmlGender':'FEMALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt
Die Text-to-Speech API gibt die synthetisierten Audioinhalte in der JSON-Ausgabe als base64-codierte Daten zurück. Die JSON-Ausgabe in der Datei synthesize-text.txt
ähnelt dem folgenden Code-Snippet.
{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }
Wenn Sie die Ergebnisse der Text-to-Speech API als MP3-Audiodatei decodieren möchten, führen Sie den folgenden Befehl aus demselben Verzeichnis wie die Datei synthesize-text.txt
aus.
cat synthesize-text.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-text-audio.mp3 && \ rm tmp.txt
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Go API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Java API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Node.js API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Python API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite "Clientbibliotheken" und rufen Sie dann die Text-to-Speech-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite "Clientbibliotheken" und rufen Sie dann die Text-to-Speech-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite "Clientbibliotheken" und rufen Sie dann die Text-to-Speech-Referenzdokumentation für Ruby auf.
SSML in synthetisches Sprachaudio umwandeln
Durch Verwendung von SSML in Ihrer Audiosyntheseanfrage erhalten Sie möglicherweise eine der natürlichen menschlichen Sprache ähnlichere Ausgabe. Mit SSML können Sie insbesondere Sprachpausen und die Aussprache von Datums- und Uhrzeitangaben, Akronymen sowie Abkürzungen besser steuern.
Weitere Informationen zu den von der Text-to-Speech API unterstützten SSML-Elementen finden Sie in der SSML-Referenz.
Protokoll
Ausführliche Informationen finden Sie unter dem API-Endpunkt text:synthesize
.
Wenn Sie Audioinhalte aus SSML synthetisieren möchten, stellen Sie eine HTTP-POST-Anfrage an den Endpunkt text:synthesize
. Geben Sie im Hauptteil der POST-Anfrage im Konfigurationsabschnitt voice
die Art der zu synthetisierenden Stimme an, im Abschnitt input
im Feld ssml
die zu synthetisierenden SSML-Daten und im Abschnitt audioConfig
die Art der zu erstellenden Audioinhalte.
Mit dem folgenden Code-Snippet wird eine Syntheseanfrage an den Endpunkt text:synthesize
gesendet. Die Ergebnisse werden in der Datei synthesize-ssml.txt
gespeichert. Ersetzen Sie PROJECT_ID
durch Ihre Projekt-ID.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: <var>PROJECT_ID</var>" \ -H "Content-Type: application/json; charset=utf-8" --data "{ 'input':{ 'ssml':'<speak>The <say-as interpret-as=\"characters\">SSML</say-as> standard is defined by the <sub alias=\"World Wide Web Consortium\">W3C</sub>.</speak>' }, 'voice':{ 'languageCode':'en-us', 'name':'en-US-Standard-B', 'ssmlGender':'MALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-ssml.txt
Die Text-to-Speech API gibt die synthetisierten Audioinhalte in der JSON-Ausgabe als base64-codierte Daten zurück. Die JSON-Ausgabe in der Datei synthesize-ssml.txt
ähnelt dem folgenden Code-Snippet.
{ "audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.." }
Wenn Sie die Ergebnisse der Text-to-Speech API als MP3-Audiodatei decodieren möchten, führen Sie den folgenden Befehl aus demselben Verzeichnis wie die Datei synthesize-ssml.txt
aus.
cat synthesize-ssml.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-ssml-audio.mp3 && \ rm tmp.txt
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Go API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Java API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Node.js API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Text-to-Speech finden Sie unter Text-to-Speech-Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Text-to-Speech Python API.
Richten Sie zur Authentifizierung bei Text-to-Speech Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite "Clientbibliotheken" und rufen Sie dann die Text-to-Speech-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite "Clientbibliotheken" und rufen Sie dann die Text-to-Speech-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite "Clientbibliotheken" und rufen Sie dann die Text-to-Speech-Referenzdokumentation für Ruby auf.