In dieser Anleitung wird gezeigt, wie Speech Synthesis Markup Language (SSML) zur Sprachausgabe einer Textdatei mit Adressen verwendet wird. Sie können einen Textstring mit SSML-Tags markieren, um synthetisches Audio von Text-to-Speech zu personalisieren.
Klartext | SSML-Rendering von Klartext |
---|---|
123 Street Ln |
<speak>123 Street Ln</speak> |
1 Number St |
<speak>1 Number St</speak> |
1 Piazza del Fibonacci |
<speak>1 Piazza del Fibonacci</speak> |
Ziel
Sie senden eine Anfrage für synthetische Sprache an Text-to-Speech und verwenden dabei SSML und Text-to-Speech-Clientbibliotheken.
Kosten
Weitere Informationen finden Sie auf der Preisseite für Text-to-Speech.
Vorbereitung
- Sie benötigen ein Text-to-Speech-Projekt in der Google Cloud Console.
- In dieser Anleitung können Sie Java, Node.js oder Python verwenden. Wenn Sie Java verwenden möchten, müssen Sie Maven herunterladen und installieren. Wenn Sie Node.js verwenden möchten, laden Sie npm herunter.
Codebeispiele herunterladen
Klonen Sie die Google Cloud GitHub-Beispiele für die Programmiersprache, die Sie verwenden möchten, um die Codebeispiele herunterzuladen.
Java
In dieser Anleitung wird Code im Verzeichnis texttospeech/cloud-client/src/main/java/com/example/texttospeech/
des Java-Beispiel-Repositorys der Google Cloud Platform verwendet.
Führen Sie die folgenden Befehle über das Terminal aus, um den Code für diese Anleitung herunterzuladen und zu öffnen.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/texttospeech/cloud-client/src/main/java/com/example/texttospeech/
Node.js
In dieser Anleitung wird Code im Verzeichnis texttospeech
des Node.js-Beispiel-Repositorys der Google Cloud Platform verwendet.
Führen Sie die folgenden Befehle über das Terminal aus, um den Code für diese Anleitung herunterzuladen und zu öffnen.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git cd texttospeech/
Python
In dieser Anleitung wird Code im Verzeichnis texttospeech/snippets
des Python-Beispiel-Repositorys der Google Cloud Platform verwendet.
Führen Sie die folgenden Befehle über das Terminal aus, um den Code für diese Anleitung herunterzuladen und zu öffnen.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git cd samples/snippets
Clientbibliothek installieren
In dieser Anleitung wird die Text-to-Speech-Clientbibliothek verwendet.
Java
In dieser Anleitung werden die folgenden Abhängigkeiten verwendet.
Node.js
Führen Sie im Terminal den Befehl "follow" aus.
npm install @google-cloud/text-to-speech
Python
Führen Sie im Terminal den Befehl "follow" aus.
pip install --upgrade google-cloud-texttospeech
Google Cloud Platform-Anmeldedaten einrichten
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS
. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc
or ~/.profile
file.
Linux oder macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
Bibliotheken importieren
In dieser Anleitung werden die folgenden System- und Clientbibliotheken verwendet.
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.
Text-to-Speech API verwenden
Die folgende Funktion verwendet einen Textstring mit SSML und dem Namen einer MP3-Datei. Die Funktion verwendet den mit SSML getaggten Text, um synthetisches Audio zu generieren. Die Funktion speichert das synthetische Audio in der MP3-Datei, deren Name als Parameter festgelegt ist.
Die gesamte SSML-Eingabe kann nur von einer einzelnen Stimme gelesen werden.
Sie können die Stimme im Objekt VoiceSelectionParams
festlegen.
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.
Synthetisches Audio personalisieren
Die folgende Funktion übernimmt den Namen einer Textdatei und wandelt den Inhalt der Datei in einen mit SSML getaggten Textstring um.
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.
Zusammenfassung
Dieses Programm verwendet die folgende Eingabe.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
Wenn Sie den obigen Text an text_to_ssml()
übergeben, wird der folgende getaggte Text generiert.
<speak>123 Street Ln, Small Town, IL 12345 USA <break time="2s"/>1 Jenny St & Number St, Tutone City, CA 86753 <break time="2s"/>1 Piazza del Fibonacci, 12358 Pisa, Italy <break time="2s"/></speak>
Code ausführen
Führen Sie den folgenden Code über die Befehlszeile aus, um eine Audiodatei mit synthetischer Sprache zu generieren.
Java
Linux oder MacOS
Führen Sie im Verzeichnis java-docs-samples/texttospeech/cloud-client/
den folgenden Befehl in der Befehlszeile aus.
$ mvn clean package
Windows
Führen Sie im Verzeichnis java-docs-samples/texttospeech/cloud-client/
den folgenden Befehl in der Befehlszeile aus.
$ mvn clean package
Node.js
Linux oder MacOS
Entfernen Sie in der Datei hybridGlossaries.js
das Kommentarzeichen für die TODO (developer)
auskommentierten Variablen.
Ersetzen Sie im folgenden Befehl projectId durch die ID Ihres Google Cloud-Projekts.
Führen Sie im Verzeichnis nodejs-docs-samples/texttospeech
den folgenden Befehl in der Befehlszeile aus.
$ node ssmlAddresses.js projectId
Windows
Entfernen Sie in der Datei hybridGlossaries.js
das Kommentarzeichen für die TODO (developer)
auskommentierten Variablen.
Ersetzen Sie im folgenden Befehl projectId durch die ID Ihres Google Cloud-Projekts.
Führen Sie im Verzeichnis nodejs-docs-samples/texttospeech
den folgenden Befehl in der Befehlszeile aus.
$env: C:/Node.js/node.exe C: ssmlAddresses.js projectId
Python
Linux oder MacOS
Führen Sie im Verzeichnis python-docs-samples/texttospeech/snippets
den folgenden Befehl in der Befehlszeile aus.
$ python ssml_addresses.py
Windows
Führen Sie im Verzeichnis python-docs-samples/texttospeech/snippets
den folgenden Befehl in der Befehlszeile aus.
$env: C:/Python3/python.exe C: ssml_addresses.py
Ausgabe testen
Dieses Programm gibt eine example.mp3-Audiodatei mit synthetischer Sprache aus.
Java
Rufen Sie das Verzeichnis java-docs-samples/texttospeech/cloud-client/resources/
auf.
Suchen Sie im Verzeichnis resources
nach einer example.mp3-Datei.
Node.js
Rufen Sie das Verzeichnis nodejs-docs-samples/texttospeech/resources/
auf.
Suchen Sie im Verzeichnis resources
nach einer example.mp3-Datei.
Python
Rufen Sie python-docs-samples/texttospeech/snippets/resources
auf.
Suchen Sie im Verzeichnis resources
nach einer example.mp3-Datei.
Hören Sie sich den folgenden Audioclip an, um zu überprüfen, ob die Datei example.mp3 gleich klingt.
Fehlerbehebung
Wenn Sie vergessen, die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS in der Befehlszeile festzulegen, wird folgende Fehlermeldung angezeigt:
The Application Default Credentials are not available.
Wenn Sie
text_to_ssml()
den Namen einer nicht vorhandenen Datei übergeben, wird diese Fehlermeldung ausgegeben:IOError: [Errno 2] No such file or directory
Wenn Sie
ssml_to_audio()
an einen ssml_text-Parameter übergeben, der None enthält, wird diese Fehlermeldung ausgegeben:InvalidArgument: 400 Invalid input type. Type has to be text or SSML
Achten Sie darauf, dass der Code im richtigen Verzeichnis ausgeführt wird.
Nächste Schritte
- Weitere SSML-Tags entdecken
- Weitere Informationen zur Nutzung von SSML mit Translation und Vision
Bereinigen
Löschen Sie das Projekt mit der Google Cloud Console, wenn Sie es nicht mehr benötigen, damit Ihrem Google Cloud Platform-Konto keine in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden.
Projekt löschen
- Öffnen Sie in der Google Cloud Console die Seite "Projekte".
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Herunterfahren, um das Projekt zu löschen.