REST API チュートリアル


VoiSona TalkのREST APIとは

REST API(Representational State Transfer Application Programming Interface)とは、アプリケーションの機能を外部プログラムから利用できるようにするための仕組みです。HTTP通信を通じてデータの送受信を行い、音声合成のリクエストや状態確認、結果の取得などを自動化できます。
Voisona TalkのREST APIを有効にすることで、PythonやC++、JavaScriptなど、さまざまなプログラミング言語から音声合成を制御できるようになります。これにより、独自のアプリケーションやWebサービス、チャットボット、ゲームなどにVoisona Talkの合成音声を組み込むことが可能になります。
以降のチュートリアルでは、実際にVoisona TalkのREST APIを有効化し、Pythonを用いて音声合成を実行する手順を紹介します。
※REST API機能は現在ベータ版となっております。

REST APIの有効化

  1. Voisona Talkを起動してください。
  1. 認証を行っていない場合は認証を行ってください。
    1. 画面右上の3本線 → ヘルプ → 認証 から
      1. Mail: 登録したメールアドレス
      2. パスワード: 登録時に設定したパスワード
  1. 少なくとも1つのボイスライブラリがダウンロードされていることを確認してください。
  1. REST APIを有効にしてください。
    1. 画面右上の3本線 → 編集 → 環境設定 のAPIタブにおいて
      1. 待ち受けポート番号を任意に設定してください。デフォルトは32766です。
      2. ユーザー名が認証時のメールアドレスになっていることを確認してください。この項目は変更できません。
      3. API用のパスワードを任意に設定してください。このパスワードは認証用のパスワードである必要はありません。ただし、空文字ではない必要があります。
      4. 「REST APIを有効にする」のチェックボックスをONにしてください
        1. このとき、待ち受けポート番号とパスワードは変更不可になります。これらを変更したい場合は、「REST APIを有効にする」のチェックボックスをOFFにしてください。
      5. 「REST APIを有効にする」のチェックボックスの隣にある「Talk APIリファレンス」へのリンクが有効になっています。APIのより詳細な使用方法を知りたい場合は、こちらを参照してください。

Pythonを用いたAPIの利用例

サンプルコード

サンプルコードの全体を以下に示します。このチュートリアルで、それぞれの内容を順に解説していきます。
サンプルコードの実行のためにはrequestsパッケージが必要です。
以下はサンプルコードの実行例です。
ユーザ名とパスワードはAPIサーバの設定に合わせて変更してください。

使用可能なボイスライブラリの取得

ボイスライブラリの一覧は以下のようにして取得することができます。
以下は出力の例です。
エディタ上でボイスライブラリをダウンロードしていない場合は空となります。

音声の合成

以下では、音声合成のリクエストをサーバに送信します。
サンプルコードでは、取得したボイスライブラリの中から最初に検出されたものを、合成に使用するボイスライブラリとして指定しています。
音声の合成が完了すると、デフォルトのオーディオデバイスから「こんにちは」という音声が再生されます。
なお、サーバにはリクエストの上限があり、上限に達するとリクエストの処理に失敗します。リクエスト時に をTrueに設定しておくと、古いリクエストから自動で削除されるようになります。
synthesize_text関数を実行することで得られたUUIDから、送信したリクエストの状態を次のようにして知ることができます。
レスポンスのの内容が であればサーバがまだリクエストを処理してない状態で、 ならリクエストの処理が完了していることを表します。
また、UUIDを指定してリクエストの削除を行うことができます。
合成音声を直接オーディオデバイスに送信せず、ファイルに保存することができます。なお、ファイルパスは絶対パスである必要があります。

音声表現の制御

音声の表現を変化させたい場合は、を入力に含めてください。以下は合成音声の話速を2倍にする例です。

発話情報の詳細な制御

音声合成のリクエストの送信時に、メタ情報を付与したテキストを含めることで、発話情報を制御することができます。そのためには、まずテキスト解析のリクエストを送信し、所望のテキストの解析結果を取得します。
以下が「こんにちは」を解析した結果になります。
この解析結果を修正してサーバに渡すことで、アクセントや発音を変えることができます。以下はXMLパーサを用いた修正の例です。
その他詳細に関しては、Voisona Talkエディタの環境設定のAPIタブのリンクから「Talk APIリファレンス」を参照してください。