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

  • Erstellen Sie eine Instanz des Service:

    1. Rufen Sie die Seite Text to Speech im Katalog IBM Cloud auf.
    2. Registrieren Sie sich für ein kostenloses IBM Cloud-Konto oder melden Sie sich an.
    3. Lesen und stimmen Sie den Bedingungen der Lizenzvereinbarung zu.
    4. Klicken Sie auf Erstellen.
  • Kopieren Sie die Berechtigungsnachweise, um sich gegenüber Ihrer Serviceinstanz zu authentifizieren:

    1. Rufen Sie die Seite "Verwalten " für die Service-Instanz auf:

      • Wenn Sie sich auf der Seite Erste Schritte für Ihre Serviceinstanz befinden, klicken Sie in der Liste der Themen auf den Eintrag Verwalten.
      • Wenn Sie sich auf der Seite Ressourcenliste befinden, erweitern Sie die Gruppierung AI/ Machine Learning in der Spalte Name und klicken Sie auf den Namen Ihrer Serviceinstanz.
    2. Klicken Sie auf der Seite Verwalten im Feld Berechtigungsnachweise auf Berechtigungsnachweise anzeigen.

    3. Kopieren Sie die Werte API Key und URL für die Serviceinstanz.

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.

  1. 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.
  2. 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.

  1. 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

    • Ersetzen Sie die Platzhalter {apikey} und {url} durch Ihre Werte für den API-Schlüssel und die URL.
    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"
    

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.

  1. 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

    • Ersetzen Sie die Platzhalter {apikey} und {url} durch Ihre Werte für den API-Schlüssel und die URL.
    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"
    

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.

  1. 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.wav zu erzeugen.

    IBM Cloud

    • Ersetzen Sie die Platzhalter {apikey} und {url} durch Ihre Werte für den API-Schlüssel und die URL.
    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"
    

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.