IBM Cloud Docs
Text to Speech 入門

Text to Speech 入門

IBM Watson® Text to Speech サービスは、記述テキストを自然に聞こえる音声に変換して、アプリケーションに音声合成機能を提供します。 この curlベースのチュートリアルは、サービスを素早く開始するのに役立ちます。 サービスの POST メソッドと GET /v1/synthesize メソッドを呼び出して音声ストリームを要求する方法を、例を通して確認できます。

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

IBM Cloud Text to Speech サービスの利用開始方法について、以下の動画で視覚的にご確認ください。

開始前に

IBM Cloud

IBM Cloud

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

    1. IBM Cloud カタログの Text to Speech ページに移動します。
    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

このチュートリアルを始める前に、 Text to Speech サービスをインストールし、設定する必要があります。 詳細については、 Cloud Pak for Data の Watson Speech サービスを参照してください。

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

米国英語のテキストの音声合成

以下のコマンドは、POST /v1/synthesizeメソッドを使用して、米国英語の入力を音声に合成します。 要求では、音声en-US_MichaelV3Voiceが使用されます。 WAV 形式の音声を生成します。

このチュートリアルの例で生成される音声ファイルは、ブラウザーや他のツールを使用して再生できます。 詳しくは、 音声ファイルの再生 を参照してください。

  1. 次のコマンドを発行して、ストリング「hello world」を合成します。 この要求により、hello_world.wavという名前の WAV ファイルが生成されます。

    IBM Cloud

    • {apikey}{url} をご使用の API キーと 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

    • {token}{url} をアクセストークンに置き換え、 URL をサービスインスタンスに置き換えます。
    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"
    

別の音声フォーマットと音声フォーマットを使用する

以下のコマンドは、再度POST /v1/synthesizeメソッドを使用して、同じ米国英語の入力を音声に合成します。 しかし、この要求は音声en-US_AllisonV3Voiceを使用し、デフォルトの Ogg フォーマットの音声を明示的に要求します。

  1. 以下のコマンドを発行して、ストリング「hello world」を別の音声で合成します。 この要求により、hello_world.oggという名前の Ogg ファイルが生成されます。

    IBM Cloud

    • {apikey}{url} をご使用の API キーと 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

    • {token}{url} をアクセストークンに置き換え、 URL をサービスインスタンスに置き換えます。
    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"
    

スペイン語のテキストの音声合成

以下のコマンドでは、GET /v1/synthesize メソッドを使用してスペイン語の入力から音声ファイルを合成します。 GETメソッドには、3 つの照会パラメーターが含まれています。音声フォーマットを指定する場合はaccept、音声の入力テキストを指定する場合は text、スペイン語の音声を指定する場合はvoiceです。 acceptおよび textは照会パラメーターとして渡されるため、要求は URL エンコードされます。

  1. 以下のコマンドを実行して、「hola mundo」というストリングから音声を合成して hola_mundo.wav という名前の WAV ファイルを生成します。

    IBM Cloud

    • {apikey}{url} をご使用の API キーと 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

    • {token}{url} をアクセストークンに置き換え、 URL をサービスインスタンスに置き換えます。
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --output hola_mundo.wav \
    "{url}/v1/synthesize?accept=audio%2Fwav&text=hola%20mundo&voice=es-ES_EnriqueV3Voice"
    

次のステップ

  • テキストを受け取り、異なる声で音声合成を行うアプリケーションの例を試すには 、 Text to Speech のデモをご覧ください。
  • サービスのインターフェースと機能について詳しくは、サービスの機能を参照してください。
  • 本サービスのインターフェースの全メソッドに関する詳細情報については 、API & SDK リファレンスをご覧ください。