音声合成 (ttsget)¶
音声の合成および言語処理を行う API です。
音声合成・言語処理 API¶
テキスト・SSML・中間言語から、音声または中間言語を取得します。
リクエスト¶
メソッド |
GET、POST |
URL |
|
リクエストパラメーター¶
名前 |
概要 |
必須 |
日本語のみ |
補足 |
---|---|---|---|---|
ユーザー名 |
○ |
契約情報のユーザー名です |
||
パスワード |
○ |
契約情報のパスワードです。 |
||
話者名 |
○ |
話者一覧 の話者名を指定します。 |
||
入力データタイプ |
|
|||
入力データ |
○ |
入力データを指定します。 |
||
ユーザー辞書利用フラグ |
○ |
ユーザー辞書の利用有無を指定します。 |
||
出力音声形式 |
○ |
出力音声の形式を指定します。 |
||
出力サンプリング周波数 |
○ |
出力音声のサンプリング周波数を指定します。 |
||
ビット深度 |
○ |
出力音声のビット深度を指定します。 |
||
チャンネル数 |
○ |
出力音声のチャンネル数を指定します。 |
||
マスターボリューム |
○ |
範囲は |
||
ボリューム |
○ |
範囲は |
||
話速 |
○ |
範囲は |
||
高さ |
○ |
範囲は |
||
抑揚 |
○ |
範囲は |
||
発話スタイル |
○ |
感情表現などの発話スタイルを指定します。 |
||
短ポーズ |
○ |
範囲は |
||
長ポーズ |
○ |
範囲は |
||
文末ポーズ |
○ |
範囲は |
||
終端ポーズ |
○ |
範囲は |
username¶
契約時情報のユーザー名を指定します。必ず指定してください。
password¶
契約時情報のパスワードを指定します。必ず指定してください。
speaker_name¶
話者一覧 の話者名を 1 つだけ指定します。必ず指定してください。
省略した場合や不正な話者名を指定した場合はエラーとなります。
input_type¶
text
値の種類を指定します。
下記種類から 1 つだけ指定します。省略時は ssml
です。
ssml¶
入力データは SSML と解釈されます。
注釈
SSML の記載方法
text¶
入力データは SSML でないテキストと解釈されます。
text¶
入力データを指定します。
文字エンコードは UTF-8 です。
なお、次の場合は合成エラーとなりますのでご注意ください。 ..
入力データに読みが存在しない場合 (例:「?」など読みがない記号のみの場合)
入力データに制御コードが含まれる場合
入力データタイプが ssml で、入力データが SSML 構文に則っていない場合
入力データタイプが ssml で、入力データ中に「&」(半角アンパサンド)や「<」(半角小なり)が含まれる場合
「&」や「<」のように全角にするとエラー回避できます。
use_udic¶
ユーザー単語辞書、および、ユーザーフレーズ辞書の利用有無を指定します。
- 1
ユーザー辞書を利用します。
- 0
ユーザー辞書を利用しません。
ext¶
出力音声形式を指定します。
output
値が省略または sound
の場合のみ有効です。
下記種類から 1 つだけ指定します。省略時は ogg
です。
ogg¶
Ogg/vorbis 形式 ( 2 channels ) で出力します。
fs
パラメータでサンプリング周波数の指定が併用できます。
aac¶
AAC 形式 ( 2 channels ) で出力します。
fs
パラメータでサンプリング周波数の指定が併用できます。
mp3¶
MP3 形式 ( 2 channels) で出力します。
fs
パラメータでサンプリング周波数の指定が併用できます。
wav¶
WAV 形式 ( ヘッダー有り ) で出力します。
fs
パラメータでサンプリング周波数の指定が併用できます。
bit
パラメータでビット深度の指定が併用できます。
channels
パラメータでチャンネル数の指定が併用できます。
ulaw¶
μ-Law 形式 ( ヘッダー有り、8 kHz、8 bit、1channel ) で出力します。
alaw¶
A-Law 形式 ( ヘッダー有り、8 kHz、8 bit、1channel ) で出力します。
fs¶
出力音声のサンプリングレートを指定します。
output
値が省略または sound
の場合のみ有効です。
下記周波数から 1 つだけ指定します。
8000
11025
16000
22050
32000
44100
48000
また、auto
を指定すると、話者ごとに推奨されるサンプリングレートを自動選択します。
省略時は auto
です。
bit¶
出力音声のビット深度を指定します。
output
値が省略または sound
の場合、かつ、ext
値が wav
の場合のみ有効です。
下記ビット数から 1 つだけ指定します。
省略時は 16
です。
8
16
channels¶
出力音声のチャンネル数を指定します。
output
値が省略または sound
の場合、かつ、ext
値が wav
の場合のみ有効です。
下記ビット数から 1 つだけ指定します。
省略時は 1
です。
1
2
mvolume¶
出力音声のマスターボリュームを指定します。省略時は 1.00
です。
範囲は 0.01
~ 5.00
で、省略時は 1.00
です。
小数点以下 2 桁までの実数値で指定してください。
後述の volume
パラメーターと併用可能です。
output
値が省略またはsound
の場合のみ有効です。
volume¶
出力音声の音量を指定します。省略時は 1.00
です。
範囲は 0.01
~ 2.00
で、省略時は 1.00
です。
小数点以下 2 桁までの実数値で指定してください。
前述の mvolume
パラメーターと併用可能です。
output
値が省略またはsound
の場合のみ有効です。
speed¶
出力音声の話速を指定します。省略時は 1.00
です。
範囲は 0.50
~ 4.00
で、省略時は 1.00
です。
小数点以下 2 桁までの実数値で指定してください。
output
値が省略またはsound
の場合のみ有効です。
pitch¶
出力音声の高さを指定します。省略時は 1.00
です。
範囲は 0.50
~ 2.00
で、省略時は 1.00
です。
小数点以下 2 桁までの実数値で指定してください。
output
値が省略またはsound
の場合のみ有効です。
range¶
出力音声の抑揚を指定します。省略時は 1.00
です。
範囲は 0.00
~ 2.00
で、省略時は 1.00
です。
小数点以下 2 桁までの実数値で指定してください。
output
値が省略またはsound
の場合のみ有効です。
style¶
発話スタイルを指定します。
感情表現など、発話スタイル表現に対応している話者を speaker_name
で指定したときのみ有効です。
また、output
値が省略または sound
の場合のみ有効です。
値には、スタイル種別と割合を「種別:割合」の形式で指定します。
種別は、喜びなら j
、怒りなら a
、悲しみなら s
となります。
割合は、0.00
~ 1.00
の小数点 2 桁までの数値になります。 数値が大きくなるほど、そのスタイルが強く反映されます。
複数のスタイル種別を混合する場合は、種別1:割合1,種別2:割合2,…
の形式で指定します。 すべての割合の合計が 1
以下になるように指定します。
この値を JSON 形式で指定し、URL パラメータとして渡す場合には URL エンコードをしてください。
- 例
{"j":"1"}
{"j":"0.5","s":"0.15","a":"0.35"}
spause¶
短ポーズの長さを指定します。 短ポーズとは、日本語解析で自動的に挿入される短めのポーズです。
output
値が省略または sound
の場合のみ有効です。
80
~ 500
で、省略時は 150
です。単位は [msec] です。
整数で指定してください。
lpause¶
長ポーズの長さを指定します。 長ポーズとは、日本語解析で自動的に挿入される長めのポーズです。
output
値が省略または sound
の場合のみ有効です。
範囲は 100
~ 2000
で、省略時は 370
です。単位は [msec] です。
整数で指定してください。
epause¶
文末ポーズの長さを指定します。 文末ポーズとは、日本語解析で自動的に文末に挿入されるポーズです。
output
値が省略または sound
の場合のみ有効です。
範囲は 200
~ 10000
で、省略時は 800
です。単位は [msec] です。
整数で指定してください。
tpause¶
終端ポーズの長さを指定します。 終端ポーズとは、音声の最後に挿入されるポーズです。文末ポーズと重複することに注意してください。
output
値が省略または sound
の場合のみ有効です。
範囲は 0
~ 10000
で、省略時は 0
です。単位は [msec] です。
整数で指定してください。
レスポンス¶
正常レスポンス¶
正常に処理された場合、HTTP ステータスコード 200 を返します。
音声合成処理の場合は、音声データをバイナリデータとして返却します。
言語処理の場合は、変換後の中間言語を返却します。
Content-Type は、AI カナへの変換では application/x-aitalk-kana
、JEITA カナ への変換では text/x-jeita-6004-kana
となります。
エラーレスポンス¶
正常に処理できない場合の エラー通知 は共通です。
リクエスト例¶
curl プログラムによるリクエストの例を示します。
username
を user
、password
を pass
としています。
Windows (cmd.exe)¶
curl -s -v -XPOST ^
-d "username=user&password=pass&speaker_name=nozomi&text==%E4%BB%8A%E6%97%A5%E3%81%AF%E3%81%84%E3%81%84%E5%A4%A9%E6%B0%97%E3%81%A7%E3%81%99%E3%81%AD%E3%80%82" ^
https://webapi.aitalk.jp/webapi/v5/ttsget.php
curl -s -v -XGET ^
"https://webapi.aitalk.jp/webapi/v5/ttsget.php?username=user&password=pass&speaker_name=nozomi&text==%E4%BB%8A%E6%97%A5%E3%81%AF%E3%81%84%E3%81%84%E5%A4%A9%E6%B0%97%E3%81%A7%E3%81%99%E3%81%AD%E3%80%82"
Linux (bash)¶
curl -s -v -XPOST \
-d "username=user&password=pass&speaker_name=nozomi&text==%E4%BB%8A%E6%97%A5%E3%81%AF%E3%81%84%E3%81%84%E5%A4%A9%E6%B0%97%E3%81%A7%E3%81%99%E3%81%AD%E3%80%82" \
https://webapi.aitalk.jp/webapi/v5/ttsget.php
curl -s -v -XGET \
"https://webapi.aitalk.jp/webapi/v5/ttsget.php?username=user&password=pass&speaker_name=nozomi&text==%E4%BB%8A%E6%97%A5%E3%81%AF%E3%81%84%E3%81%84%E5%A4%A9%E6%B0%97%E3%81%A7%E3%81%99%E3%81%AD%E3%80%82"