IBM Cloud Docs
Speech to Text 入門

Speech to Text 入門

IBM Watson® Speech to Text サービスは音声をテキストに書き起こすことで、さまざまな用途に音声書き起こし機能を使用できるようにします。 この curlベースのチュートリアルは、サービスを素早く開始するのに役立ちます。 さまざまな事例を通じて、サービスの POST /v1/recognize メソッドを呼び出して書き起こしを要求する方法を示します。

このチュートリアルでは、 curl コマンド行ユーティリティーを使用して REST API 呼び出しのデモンストレーションを行います。 curlについて詳しくは、 Watson での curl の使用例を参照してください。

IBM Cloud Speech to Text サービスの概要については、以下のビデオをご覧ください。

開始前に

IBM Cloud

IBM Cloud

  • サービスのインスタンスを作成します。

    1. IBM Cloud カタログの Speech to Text ページに移動します。
    2. 無料の IBM Cloud アカウントを登録するか、ログインします。
    3. ご使用条件の条項を読み、同意します。
    4. 「作成」 をクリックします。
  • 認証用の資格情報をサービス・インスタンスにコピーします。

    1. サービス・インスタンスの 「管理」 ページを表示します。

      • サービス・インスタンスの 「始めに」 ページが表示されている場合は、トピックのリストにある 「管理」 エントリーをクリックします。
      • 「リソース・リスト」 ページが表示されている場合は、 「名前」 列の 「AI/ Machine Learning グループを展開し、サービス・インスタンスの名前をクリックします。
    2. 「管理」 ページで、 「資格情報」 ボックスの 「資格情報の表示」 をクリックします。

    3. サービス・インスタンスの API Key 値と URL 値をコピーします。

このチュートリアルでは、API 鍵を使用して認証します。 実動では、IAM トークンを使用します。 詳しくは、 IBM Cloudに対する認証を参照してください。

IBM Cloud Pak for Data

IBM Cloud Pak for Data

このチュートリアルを開始する前に、 IBM Cloud Pak for Data の Speech to Text をインストールして構成する必要があります。 詳しくは、 Watson Speech services on (音声サービス) Cloud Pak for Dataを参照してください。

  1. Web クライアント、API、またはコマンド・ライン・インターフェースを使用して、サービスのインスタンスを作成します。 サービス・インスタンスの作成について詳しくは、 Watson Speech サービス・インスタンスの作成を参照してください。
    • Watson Speech サービス・インスタンスの作成* の手順に従って、インスタンスのベアラー・トークンを取得します。 このチュートリアルでは、ベアラー・トークンを使用してサービスに対する認証を行います。

オプションを使用せずに音声を書き起こす

追加の要求パラメーターなしで POST /v1/recognize メソッドを呼び出して、FLAC 音声ファイルの基本的な書き起こしを要求します。

  1. サンプル音声ファイル audio-file.flacをダウンロードします。

  2. 次のコマンドを実行して、基本的な書き起こしを実行するためのサービスの /v1/recognize メソッドをパラメーターなしで呼び出します。 この例では、Content-Type ヘッダーを使用して audio/flac という音声タイプを指定しています。 この例では、デフォルトの言語モデル en-US_BroadbandModel を書き起こし用に使用しています。

    IBM Cloud

    • {apikey}{url} をご使用の API キーと URL に置き換えます。
    • {path_to_file} は、audio-file.flac ファイルの場所を指定するように変更します。
    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

    • {token}{url} を、サービス・インスタンスのアクセス・トークンと URL に置き換えます。
    • {path_to_file} は、audio-file.flac ファイルの場所を指定するように変更します。
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize"
    

サービスから以下の書き起こし結果が返されます。

{
  "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
    }
  ]
}

オプションで音声の書き起こし

POST /v1/recognize メソッドを呼び出して同じ FLAC 音声ファイルを書き起こしますが、ここでは 2 つの書き起こしパラメーターを指定します。

  1. 必要に応じて、サンプル音声ファイル audio-file.flacをダウンロードします。

  2. 次のコマンドを実行して、サービスの /v1/recognize メソッドを 2 つの追加パラメーター付きで呼び出します。 timestamps パラメーターを true に設定して、音声ストリーム内の各単語の始まりと終わりを示します。 max_alternatives パラメーターを 3 に設定して、最も可能性が高い代替の書き起こし結果を 3 つ受け取るようにします。 この例では、Content-Type ヘッダーを使用して audio/flac という音声タイプを指定しており、この要求ではデフォルト・モデル en-US_BroadbandModel を使用しています。

    IBM Cloud

    • {apikey}{url} をご使用の API キーと URL に置き換えます。
    • {path_to_file} は、audio-file.flac ファイルの場所を指定するように変更します。
    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

    • {token}{url} を、サービス・インスタンスのアクセス・トークンと URL に置き換えます。
    • {path_to_file} は、audio-file.flac ファイルの場所を指定するように変更します。
    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"
    

サービスから返される次の結果には、タイム・スタンプと 3 つの代替書き起こし内容が含まれています。

{
  "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
    }
  ]
}

次のステップ

  • ストリーミング音声入力またはアップロードしたファイルからテキストを書き起こすサンプル・アプリケーションを試すには、 Speech to Text デモを参照してください。
  • サービスのインターフェースと機能について詳しくは、サービスの機能を参照してください。
  • サービスのインターフェースのすべてのメソッドについて詳しくは、 API & SDK リファレンスを参照してください。