Einführung in Text to Speech
Der IBM Watson® Text to Speech-Service konvertiert geschriebenen Text in gut verständliche Sprache, damit Sprachsynthesefunktionen für Anwendungen zur Verfügung stehen. Dieses auf curl basierende Lernprogramm unterstützt Sie beim
schnellen Einstieg in den Service. Die Beispiele demonstrieren, wie Sie durch den Aufruf der vom Service bereitgestellten Methoden POST und GET /v1/synthesize einen Audiodatenstrom anfordern.
Das Lernprogramm verwendet das Befehlszeilendienstprogramm curl, um REST-API-Aufrufe zu veranschaulichen. Weitere Informationen zu curl finden Sie unter Verwenden von curl mit Watson-Beispielen.
IBM Cloud Sehen Sie sich das folgende Video an, um eine visuelle Zusammenfassung der ersten Schritte mit dem Text to Speech-Dienst zu erhalten.
Vorbereitende Schritte
IBM Cloud
IBM Cloud
In diesem Lernprogramm wird ein API-Schlüssel für die Authentifizierung verwendet. Verwenden Sie in der Produktion ein IAM-Token. Weitere Informationen finden Sie unter Authentifizierung bei IBM Cloud.
IBM Cloud Pak for Data
IBM Cloud Pak for Data
Der Text to Speech-Dienst muss installiert und konfiguriert werden, bevor Sie mit diesem Tutorial beginnen. Weitere Informationen erhalten Sie unter Watson. Rededienste unter Cloud Pak for Data.
- Erstellen Sie eine Instanz des Service mithilfe des Web-Clients, der API oder der Befehlszeilenschnittstelle. Weitere Informationen zum Erstellen einer Dienstinstanz unter IBM Cloud Pak for Data finden Sie unter Erstellen einer Dienstinstanz für Watson Sprachdienste.
- Befolgen Sie die Anweisungen im Abschnitt * Watson Speech-Service-Instanz erstellen*, um ein Trägertoken für die Instanz abzurufen. In diesem Lernprogramm wird ein Trägertoken für die Authentifizierung beim Service verwendet.
Synthetische Sprachausgabe aus Text in amerikanischem Englisch erstellen
Der folgende Befehl verwendet die Methode POST /v1/synthesize, um die Eingabe in amerikanischem Englisch als Audioausgabe zu synthetisieren. Die Anforderung verwendet die Stimme en-US_MichaelV3Voice. Es wird Audioausgabe
im WAV-Format erzeugt.
Zur Wiedergabe der Audiodateien, die durch die Beispiele in diesem Lernprogramm erzeugt werden, können Sie einen Browser oder andere Tools verwenden. Weitere Informationen finden Sie unter Audiodatei wiedergeben.
-
Setzen Sie den folgenden Befehl ab, um die Zeichenfolge "hello world" zu synthetisieren. Die Anforderung erzeugt eine WAV-Datei namens
hello_world.wav.IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: application/json" \ --header "Accept: audio/wav" \ --data "{\"text\":\"hello world\"}" \ --output hello_world.wav \ "{url}/v1/synthesize?voice=en-US_MichaelV3Voice"IBM Cloud Pak for Data IBM Software Hub
- Ersetzen Sie
{token}und{url}durch das Zugriffstoken und URL für Ihre Service-Instanz.
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: application/json" \ --header "Accept: audio/wav" \ --data "{\"text\":\"hello world\"}" \ --output hello_world.wav \ "{url}/v1/synthesize?voice=en-US_MichaelV3Voice" - Ersetzen Sie
Anderes Sprach- und Audioformat verwenden
Der folgende Befehl verwendet erneut die Methode POST /v1/synthesize, um dieselbe Eingabe in amerikanischem Englisch als Audioausgabe zu synthetisieren. Diese Anforderung verwendet jedoch die Stimme en-US_AllisonV3Voice und fordert explizit Audioausgabe im Standardformat Ogg an.
-
Geben Sie den folgenden Befehl aus, um die Zeichenfolge "hello world" zu synthetisieren, diesmal mit einer anderen Stimme. Die Anforderung erzeugt eine Ogg-Datei namens
hello_world.ogg.IBM Cloud
curl -X POST -u "apikey:{apikey}" \ --header "Content-Type: application/json" \ --data "{\"text\":\"hello world\"}" \ --output hello_world.ogg \ "{url}/v1/synthesize?voice=en-US_AllisonV3Voice"IBM Cloud Pak for Data IBM Software Hub
- Ersetzen Sie
{token}und{url}durch das Zugriffstoken und URL für Ihre Service-Instanz.
curl -X POST \ --header "Authorization: Bearer {token}" \ --header "Content-Type: application/json" \ --header "Accept: audio/wav" \ --data "{\"text\":\"hello world\"}" \ --output hello_world.wav \ "{url}/v1/synthesize?voice=en-US_AllisonV3Voice" - Ersetzen Sie
Sprachausgabe synthetisch aus Text in Spanisch erstellen
Der folgende Befehl verwendet die Methode GET /v1/synthesize, um aus Eingabe in Spanisch synthetisch eine Audiodatei zu erstellen. Die Methode GET enthält drei Abfrageparameter: accept zur Angabe des Audioformats,
text zur Angabe des Eingabetexts für die Audiodatei und voice zur Angabe einer spanischen Stimme. Da accept und text als Abfrageparameter übergeben werden, ist die Anforderung als URL codiert.
-
Geben Sie den folgenden Befehl aus, um synthetisch eine Sprachausgabe für die Zeichenfolge 'hola mundo' zu erstellen und eine WAV-Datei namens
hola_mundo.wavzu erzeugen.IBM Cloud
curl -X GET -u "apikey:{apikey}" \ --output hola_mundo.wav \ "{url}/v1/synthesize?accept=audio%2Fwav&text=hola%20mundo&voice=es-ES_EnriqueV3Voice"IBM Cloud Pak for Data IBM Software Hub
- Ersetzen Sie
{token}und{url}durch das Zugriffstoken und URL für Ihre Service-Instanz.
curl -X POST \ --header "Authorization: Bearer {token}" \ --output hola_mundo.wav \ "{url}/v1/synthesize?accept=audio%2Fwav&text=hola%20mundo&voice=es-ES_EnriqueV3Voice" - Ersetzen Sie
Nächste Schritte
- Ein Beispiel für eine Anwendung, die Text akzeptiert und Sprache mit verschiedenen Stimmen generiert, finden Sie unter Text to Speech demo.
- Weitere Informationen zu den Schnittstellen und Funktionen des Service finden Sie unter Servicefunktionen.
- Weitere Informationen zu allen Methoden der Schnittstellen des Dienstes finden Sie in der API- und SDK-Referenz.