IBM Cloud Docs
Einführung in Speech to Text

Einführung in Speech to Text

Der IBM Watson® Speech to Text-Service transkribiert Audiodaten in Text und aktiviert auf diese Weise Sprachtranskriptionsfunktionalität für Anwendungen. Dieses auf curl basierende Lernprogramm unterstützt Sie beim schnellen Einstieg in den Service. In den Beispielen wird veranschaulicht, wie Sie die Methode POST /v1/recognize des Service aufrufen, um eine Transkription anzufordern.

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 Speech to Text-Dienst zu erhalten.

Vorbereitende Schritte

IBM Cloud

IBM Cloud

  • Erstellen Sie eine Instanz des Service:

    1. Rufen Sie die Seite Speech to Text 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 Speech to Text-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.

Audiodaten ohne Optionen transkribieren

Rufen Sie die Methode POST /v1/recognize auf, um eine Basistranskription einer FLAC-Audiodatei ohne zusätzliche Parameter anzufordern.

  1. Laden Sie die Beispielaudiodatei audio-file.flacherunter.

  2. Geben Sie den folgenden Befehl aus, um die Methode /v1/recognize des Service für eine Basistranskription ohne Parameter aufzurufen. Beim Beispiel wird der Typ der Audiodaten (Content-Type) mit dem Header audio/flac angegeben. Das Beispiel verwendet für die Transkription das Standardsprachmodell en-US_BroadbandModel.

    IBM Cloud

    • Ersetzen Sie die Platzhalter {apikey} und {url} durch Ihre Werte für den API-Schlüssel und die URL.
    • Ändern Sie den Wert für {path_to_file}, um die Position der Datei audio-file.flac anzugeben.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Ersetzen Sie {token} und {url} durch das Zugriffstoken und URL für Ihre Service-Instanz.
    • Ändern Sie den Wert für {path_to_file}, um die Position der Datei audio-file.flac anzugeben.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize"
    

Der Service gibt die folgenden Transkriptionsergebnisse zurück:

{
  "result_index": 0,
  "results": [
    {
      "alternatives": [
        {
          "confidence": 0.96
          "transcript": "several tornadoes touch down as a line of severe thunderstorms swept through Colorado on Sunday "
        }
      ],
      "final": true
    }
  ]
}

Audio mit Optionen transkribieren

Rufen Sie die Methode POST /v1/recognize auf, um dieselbe FLAC-Audiodatei zu transkribieren. Geben Sie nun jedoch zwei Transkriptionsparameter an.

  1. Laden Sie bei Bedarf die Audio-Beispieldatei herunter audio-file.flac.

  2. Geben Sie den folgenden Befehl aus, um die Methode /v1/recognize des Service mit zwei zusätzlichen Parametern aufzurufen. Legen Sie für den Parameter timestamps die Einstellung true fest, damit der Anfang und das Ende jedes Wortes im Audiodatenstrom angegeben werden. Geben Sie für den Parameter max_alternatives den Wert 3 an, um die drei wahrscheinlichsten Alternativen für die Transkription zu erhalten. Beim Beispiel wird der Header Content-Type verwendet, um den Typ der Audiodaten anzugeben (audio/flac); die Anforderung verwendet das Standardmodell en-US_BroadbandModel.

    IBM Cloud

    • Ersetzen Sie die Platzhalter {apikey} und {url} durch Ihre Werte für den API-Schlüssel und die URL.
    • Ändern Sie den Wert für {path_to_file}, um die Position der Datei audio-file.flac anzugeben.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize?timestamps=true&max_alternatives=3"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Ersetzen Sie {token} und {url} durch das Zugriffstoken und URL für Ihre Service-Instanz.
    • Ändern Sie den Wert für {path_to_file}, um die Position der Datei audio-file.flac anzugeben.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize?timestamps=true&max_alternatives=3"
    

Der Service gibt die folgenden Ergebnisse zurück, die Zeitmarken und drei alternative Transkriptionen enthalten:

{
  "result_index": 0,
  "results": [
    {
      "alternatives": [
        {
          "timestamps": [
            ["several":, 1.0, 1.51],
            ["tornadoes":, 1.51, 2.15],
            ["touch":, 2.15, 2.5],
            . . .
          ]
        },
        {
          "confidence": 0.96
          "transcript": "several tornadoes touch down as a line of severe thunderstorms swept through Colorado on Sunday "
        },
        {
          "transcript": "several tornadoes touched down as a line of severe thunderstorms swept through Colorado on Sunday "
        },
        {
          "transcript": "several tornadoes touch down as a line of severe thunderstorms swept through Colorado and Sunday "
        }
      ],
      "final": true
    }
  ]
}

Nächste Schritte

  • Eine Beispielanwendung, die Text aus Streaming-Audioeingaben oder aus einer hochgeladenen Datei transkribiert, finden Sie in der Speech to Text-Demo.
  • Weitere Informationen zu den Schnittstellen und Funktionen des Service finden Sie unter Servicefunktionen.
  • Weitere Informationen zu allen Methoden der Service-Schnittstellen finden Sie in der API- und SDK-Referenz.