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
このチュートリアルでは、API 鍵を使用して認証します。 実動では、IAM トークンを使用します。 詳しくは、 IBM Cloudに対する認証 を参照してください。
IBM Cloud Pak for Data
IBM Cloud Pak for Data
このチュートリアルを始める前に、 Text to Speech サービスをインストールし、設定する必要があります。 詳細については、 Cloud Pak for Data の Watson Speech サービスを参照してください。
- Web クライアント、API、またはコマンド・ライン・インターフェースを使用して、サービスのインスタンスを作成します。 IBM Cloud Pak for Data でのサービスインスタンスの作成に関する詳細は、 Watson の音声サービス用のサービスインスタンスの作成を参照してください。
-
- Watson Speech サービス・インスタンスの作成* の手順に従って、インスタンスのベアラー・トークンを取得します。 このチュートリアルでは、ベアラー・トークンを使用してサービスに対する認証を行います。
米国英語のテキストの音声合成
以下のコマンドは、POST /v1/synthesize
メソッドを使用して、米国英語の入力を音声に合成します。 要求では、音声en-US_MichaelV3Voice
が使用されます。 WAV 形式の音声を生成します。
このチュートリアルの例で生成される音声ファイルは、ブラウザーや他のツールを使用して再生できます。 詳しくは、 音声ファイルの再生 を参照してください。
-
次のコマンドを発行して、ストリング「hello world」を合成します。 この要求により、
hello_world.wav
という名前の 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
{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 フォーマットの音声を明示的に要求します。
-
以下のコマンドを発行して、ストリング「hello world」を別の音声で合成します。 この要求により、
hello_world.ogg
という名前の 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
{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 エンコードされます。
-
以下のコマンドを実行して、「hola mundo」というストリングから音声を合成して
hola_mundo.wav
という名前の WAV ファイルを生成します。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
{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 リファレンスをご覧ください。