ホーム API/ツール API 音声合成

音声合成

    音声合成APIは、テキストを受け付け、その入力に対して自然な感じの読み上げをする機能を提供します。

    API
    基本情報

    ■エーアイ

    提供 : REST, SDK(Android™,iOS,Server side JAVA)

    ■HOYA

    提供 : REST

    ■NTTテクノクロス

    提供 : REST

    法人情報登録あり : 利用可[制限なし]

    法人情報登録なし : 利用可[制限あり]

    利用条件 : あり※1

    ※1「ガイドライン(必読)」に記載の利用条件に予め同意していただく必要がございます。

    ご利用いただくためには「アカウント登録(無料)」が必要です。

    • 全ての制御をHTTPパラメータで指定でき、キャラクターや音の高低や速度、音量を簡単に制御することができます。また、感情を付与することもできます。

    リクエストURL

    https://api.apigw.smt.docomo.ne.jp/voiceText/v1/textToSpeech

    メソッド : POST
    文字コード : UTF-8

    リクエストヘッダ

    キー 必須 説明
    Content-Type 送信データのMIMEタイプは、下記を指定。
    application/x-www-form-urlencoded

    リクエストクエリパラメータ

    キー 必須 説明
    APIKEY APIにアクセスするアプリの認証に利用する。

    リクエストボディ

    キー 必須 説明 制限・初期値
    text 合成するテキスト。エンコーディングは UTF-8。Unicode で 200 文字以内。
    speaker 話者名。以下のいずれかを指定します。
    • show (男性)
    • haruka (女性)
    • hikari (女性)
    • takeru (男性)
    • santa (サンタクロース)
    • bear (凶暴なクマ)
    emotion - 感情カテゴリの指定。以下のいずれかを指定します。
    • happiness(喜)
    • anger (怒)
    • sadness(悲)
    話者 haruka、hikari、takeru、santa、bear にのみ使用できます。
    emotion_level - 感情レベルの指定。1または2を指定できます。数値が大きいほど感情が強くなります。 初期値:1
    pitch - 音の高低を数値で指定します。値が小さいほど低い音になります。 初期値:100(%),
    範囲:50(%)から200(%)
    speed - 話す速度を数値で指定します。値が小さいほど遅い話し方になります。 初期値:100(%),
    範囲:50(%)から400(%)
    volume - 音量を数値で指定します。値が小さいほど小さい音になります。 初期値:100(%),
    範囲:50(%)から200(%)
    format - 音声ファイルフォーマット。以下のいずれかを指定します。
    • wav(圧縮なし)
    • ogg(Ogg Vorbisフォーマットでの圧縮)
    初期値:wav

    レスポンスヘッダ

    キー 必須 説明
    Content-Type 受信データのMIMEタイプは、以下のいずれかを返却。
    audio/wave : WAVE
    audio/ogg : Ogg

    レスポンスボディ

    データ データ形式 説明
    音声データ Binary 音声バイナリデータを返却します。

    リクエストサンプル

    POST https://api.apigw.smt.docomo.ne.jp/voiceText/v1/textToSpeech?APIKEY=xxxxxxxxxxxxxxxxxxxxxx
    
    Content-Type: application/x-www-form-urlencoded
    
    text=hello&speaker=haruka
    

    ※リクエストはURLエンコーディングされます。

    レスポンスサンプル

    成功時

    レスポンスコード 200 と共にwav形式の音声ファイルを返します。

    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Content-Encoding: gzip
    Content-Type: audio/wave
    Date: Tue, 09 Dec 2014 12:24:24 GMT
    Last-Modified: Tue, 09 Dec 2014 12:24:23 GMT
    Vary: Accept-Encoding
    X-Revision: cd9f0b8038f3a00e185e0e3a79b7f86a82a47d9e
    transfer-encoding: chunked
    Connection: keep-alive
    
    (以下、音声バイナリデータ)
    

    エラー時

    エラーに応じたレスポンスコードと共にエラーメッセージをJSONで返します。

    HTTP/1.1 400 Bad Request
    Content-Encoding: gzip
    Content-Type: application/json
    Date: Tue, 09 Dec 2014 12:29:23 GMT
    Vary: Accept-Encoding
    X-Revision: cd9f0b8038f3a00e185e0e3a79b7f86a82a47d9e
    Content-Length: 72
    Connection: keep-alive
    
    {"error":{"message":"speaker must be specified"}}
    

    レスポンスコード詳細

    レスポンスコード
    (X-ResponseCode)
    名前 説明
    200 OK 成功。
    400 Bad request リクエストが不正。必須パラメータがない、パラメータの形式が不正、パラメータの値が範囲外など。
    401 Unauhorized 認証エラー。リクエストクエリパラメータにAPI キーが指定されていない、API キーが不正など。
    404 Not Found 存在しないURL。
    405 Method not allowed 許可されていない HTTP メソッド。POST メソッドでリクエストされていないなど。
    500 Internal server error サーバー内部エラー。
    503 Service unavailable サービス利用不可。

    レスポンスボディの JSON では以下の形式でエラーメッセージを返します。このエラーメッセージの内容は予告無く変更する可能性があるため、プログラムから利用する用途には適しません。

     
      {"error": {"message": "invalid speed is specified"}}
        
    よくあるご質問
    APIなどの各サービスに関するよくある質問を掲載します。
    お問い合わせ
    「docomo Developer support」及び「作ろうスマートフォン/iモードコンテンツ」に関するお問い合わせです。よくあるご質問や技術ブログで解決しない場合は、お問い合わせください。