制御タグ¶
AITalk 製品の扱う制御タグを説明します。 制御タグは入力に特定の表記を用いて埋め込む表記で、出力を調整します。
制御タグは日本語テキストと AI 独自の中間言語で使用できます。 以降「AITalk 独自の中間言語」は「AI 中間言語」と記します。 AI 中間言語の詳細は AI 中間言語 を参照してください。
音声合成した結果に影響する制御タグと、AI 中間言語に影響する制御タグの 2 種類があります。 入力として AI 中間言語を用いるときには、 AI 中間言語に影響する制御タグを指定しても効果はありません。
目次
制御タグ仕様¶
フォーマット¶
制御タグは「開始記号」「終端記号」「タグ名」「属性」からなります。 以下のフォーマットになります。
#[[タグ名 属性名=属性値]]
「開始記号」「終端記号」は入力テキスト中の制御タグの範囲を示す記号です。 入れ子にすることはできません。
制御タグの種類は複数あります。 種類の名前を「タグ名」で指定します。 個別の種類については 制御タグ で説明します。
「属性」は「属性名」「属性値」からなります。
制御タグの種類によって指定できる属性は異なります。
属性によっては属性値を取らないものもあります。
その場合は属性名だけ (=属性値
を削除したもの) を指定します。
AI 中間言語では、以下のフォーマットも制御タグとして扱われます。
(タグ名 属性名=属性値)
開始記号・終了記号¶
制御タグの開始を表す #[[
と終了を示す ]]
を半角で記述します。
AI 中間言語では半角の (
)
も開始記号・終了記号として認識が可能です。
テキスト処理では #[[
]]
を (
)
に変換しています。
#[[
と ]]
は設定により任意の文字列に置き換えることができます。
開始記号と終了記号で囲まれた部分は、AITalk に制御タグとみなされます。 タグ名がどの制御タグにも該当しない場合も、制御タグだとみなされるため無音になります。
反映タイミングと挿入位置について¶
タグが挿入された以降の文に反映され、音声の終了または同じ制御タグが挿入されるまで継続されます。
アクセント区切り記号の直前または直後以外に挿入された場合、アクセント通りに読めなくなることがあります。
制御タグ¶
制御タグ一覧¶
制御タグの一覧を次に示します。
No |
機能 |
タグ名 |
属性名 |
指定する値 |
備考 |
---|---|---|---|---|---|
1 |
VOICE |
required |
音声辞書のキー |
韻律記号 <S> の直後にのみ挿入できる |
|
name |
プリセットのキー |
韻律記号 <S> の直後にのみ挿入できる |
|||
2 |
RATE または Spd |
speed |
1~9 の整数値 (遅い ~ 速い) |
標準値: 5 |
|
absspeed |
0.50~4.00 の小数値 (遅い ~ 速い) |
標準値: 1.00 |
|||
relative |
0.00 以上の小数値 |
標準値: 1.00 |
|||
revert |
無し |
設定値に戻す |
|||
3 |
VOLUME または Vol |
level |
0~9 の整数値 (小さい ~ 大きい) |
標準値: 7 |
|
abslevel |
0.00~2.00 の小数値 (無音 ~ 大きい) |
標準値: 1.00 |
|||
relative |
0.00 以上の小数値 |
標準値: 1.00 |
|||
revert |
無し |
設定値に戻す |
|||
4 |
PITCH または Pit |
level |
1~5 の整数値 (低い ~ 高い) |
標準値: 3 |
|
abslevel |
0.50~2.00 の小数値 (低い ~ 高い) |
標準値: 1.00 |
|||
relative |
0.00 以上の小数値 |
標準値: 1.00 |
|||
revert |
無し |
設定値に戻す |
|||
5 |
EMPH |
level |
0~3 の整数値 (小さい ~ 大きい) |
標準値: 2 |
|
abslevel |
0.00~2.00 の小数値 (小さい ~ 大きい) |
標準値: 1.00 |
|||
relative |
0.00 以上の小数値 |
標準値: 1.00 |
|||
revert |
無し |
設定値に戻す |
|||
6 |
SILENCE |
msec |
0~65535 の整数値 (ミリ秒) |
韻律記号のポーズとは別に、文中の任意の位置に任意長のポーズを挿入することができる |
|
7 |
BOOKMARK または Irq |
mark |
任意の文字列 |
使用可能文字: |
|
8 |
STYLE |
color |
割合: 0.00~1.00 の小数値 (弱い ~ 強い) |
指定可能な種別は音声辞書ごとに異なります。 種別を示す文字は音声辞書から取得できます。 複数の場合、 標準値: すべて 0 |
|
revert |
無し |
設定値に戻す |
|||
9 |
AUDIO |
key |
音声ファイルのパスに紐づくキー |
||
10 |
REVERT |
なし |
次の制御タグによる変更を戻します。
|
||
11 |
EOS_WAIT |
msec |
0~65535 の整数値 (ミリ秒) |
文と文のポーズ時間を変更する |
|
revert |
無し |
設定値に戻す |
|||
12 |
EOS_WAIT_LAST |
on |
無し |
最後の文の後に文末ポーズを挿入する (標準値) |
|
off |
無し |
最後の文の後に文末ポーズを挿入しない |
|||
revert |
無し |
設定値に戻す |
|||
13 |
READPTN |
type |
|
読み方を指定する |
|
14 |
TOI |
type |
|
入力形式を指定する |
|
alt |
代替文 |
TOI タグ以降の入力が形式に沿わない場合の代替文 |
|||
15 |
CONCAT |
なし |
CONCAT タグの挿入位置の直前が文末の場合、強制的に文と文を繋げます |
制御タグ詳細¶
音声辞書: VOICE
¶
音声辞書を指定する制御タグです。
韻律記号 <S>
の直後にのみ挿入できます。
読み込まれていない音声辞書を指定した場合は無効となります。
- 属性
- required
音声辞書の読み込み時に指定したキーを指定します。
- name
プリセットのキーを指定します。
言語辞書・音声辞書・UID (任意文字列の識別子) の組み合わせを事前にプリセットとして登録しておく必要があります。
<S>#[[VOICE required=akari_16]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
<S>#[[VOICE name=uid-0]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
注釈
音声辞書のキー・プリセットのキーは製品によって異なります。 各製品のドキュメントを参照してください。
話速: RATE
または Spd
¶
話速を指定する制御タグです。
- 属性
- speed
1~9 の整数値 (1: 遅い / 9: 速い)、標準値は 5 となります。
- absspeed
0.50~4.00 (0.50: 遅い / 4.00: 速い)、標準値は 1.00 となります。
- relative
0.00 以上の少数値、標準値は 1.00 となります。
リクエストへの設定値に対しての比率を指定します。 比率を計算した結果、最大値/最小値を超える場合は最大値/最小値に修正されます。
- revert
値指定はありません。 設定値に戻します。
<S>#[[RATE speed=4]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
<S>#[[RATE absspeed=1.75]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
音量: VOLUME
または Vol
¶
音量を指定する制御タグです。
- 属性
- level
0~9 の整数値 (0: 小さい / 9: 大きい)、標準値は 7 となります。
1 あたり 3dB 刻みで変化し、0 の場合は -21dB となります、
- abslevel
0.00~2.00 (0.00: 無音 / 2.00: 大きい)、標準値は 1.00 となります。
- relative
0.00 以上の少数値、標準値は 1.00 となります。
リクエストへの設定値に対しての比率を指定します。 比率を計算した結果、最大値/最小値を超える場合は最大値/最小値に修正されます。
- revert
値指定はありません。 設定値に戻します。
<S>#[[VOLUME level=8]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
<S>#[[VOLUME abslevel=1.50]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
声の高さ: PITCH
または Pit
¶
声の高さを指定する制御タグです。
- 属性
- level
1~5 の整数値 (1: 低い / 5: 高い)、標準値は 3 となります。
- abslevel
0.50~2.00 (0.50: 低い / 2.00: 高い)、標準値は 1.00 となります。
- relative
0.00 以上の少数値、標準値は 1.00 となります。
リクエストへの設定値に対しての比率を指定します。 比率を計算した結果、最大値/最小値を超える場合は最大値/最小値に修正されます。
- revert
値指定はありません。 設定値に戻します。
<S>#[[PITCH level=2]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
<S>#[[PITCH abslevel=1.25]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
抑揚: EMPH
¶
抑揚の強さを指定する制御タグです。
- 属性
- level
0~3 の整数値 (0: 小さい / 3: 大きい)、標準値は 2 となります。
- abslevel
0.00~2.00 (0.00: 小さい / 2.00: 大きい)、標準値は 1.00 となります。
- relative
0.00 以上の少数値、標準値は 1.00 となります。
リクエストへの設定値に対しての比率を指定します。 比率を計算した結果、最大値/最小値を超える場合は最大値/最小値に修正されます。
- revert
値指定はありません。 設定値に戻します。
<S>#[[EMPH level=1]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
<S>#[[EMPH abslevel=1.85]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
ポーズ: SILENCE
または Pau
¶
任意長のポーズを挿入するための制御タグです。 韻律記号のポーズとは別に任意長のポーズを挿入できます。
以下の位置に挿入した場合は、制御タグで指定した任意長のポーズのみ有効になります。
韻律記号のポーズ直前
韻律記号のポーズ直後
文末記号の直前
- 属性
- msec
0~65535 で、ミリ秒単位となります。
<S>シ^ロ!イ|ハ^ナ!ガ|_#[[Pau msec=500]]サ^イテイル#[[Pau msec=750]]<F>
ブックマーク: BOOKMARK
または Irq
¶
入力位置を取得するための制御タグです。
入力テキスト中の任意の位置に挿入できます。
SDK 製品の場合はコールバック関数で BOOKMARK タグの情報を取得できます。
- 属性
- mark
文字列は
a-zA-Z0-9*_\-+/!#%,.?
が使用可能です。
<S>#[[BOOKMARK mark=1]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
<S>シ^ロ!イ|ハ^ナ!ガ|_#[[Irq mark=2]]サ^イテイル<F>
<S>#[[BOOKMARK mark=label]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
スタイル: STYLE
¶
話し方のスタイルを変更するための制御タグです。
属性 color
によってスタイルを指定します。連続値で指定でき、複数の color
を混合できます。
合成に用いる音声辞書が、それぞれのスタイルに対応している場合のみ有効となります。
- 属性
- color
スタイル種別と割合を
種別:割合
の形式で指定します。指定可能な種別は音声辞書ごとに異なります。 種別を示す文字は音声辞書から取得できます。 感情対応の音声辞書の多くでは
J
(喜び)・A
(怒り)・S
(悲しみ) を指定できます。割合は、0.00~1.00 の小数点 2 桁までの数値になります。 数値が大きくなるほど、そのスタイルが強く反映されます。
複数の
color
を混合する場合は種別1:割合1,種別2:割合2,...
の形式で指定します。- revert
値指定はありません。 設定値に戻します。
<S>シ^ロ!イ|ハ^ナ!ガ|_#[[STYLE color=J:1]]サ^イテイル<F>
<S>#[[STYLE color=A:0.60]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
<S>シ^ロ!イ|#[[STYLE color=S:0.40]]ハ^ナ!ガ|_#[[STYLE revert]]サ^イテイル<F>
<S>#[[STYLE color=J:0.65,A:0.20,S:0.15]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
音声ファイル: AUDIO
¶
音声ファイルを出力音声の中に挿入する制御タグです。 音声ファイルの形式はリニア 16 ビット PCM サンプルを含む WAV 形式のみサポートします。 音声ファイルのサンプリングレートは、現在音声合成している音声辞書と一致する必要があります。
- 属性
- key
事前に設定した音声ファイルパスを示すキーを指定します。
<S>#[[AUDIO key=key]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<F>
注釈
音声ファイルの指定方法は製品によって異なります。 各製品のドキュメントを参照してください。
元に戻す: REVERT
¶
制御タグで変更した値をすべて設定値に戻す制御タグです。
以下の制御タグの値がすべて設定値に戻ります。
EMPH
, RATE
, VOLUME
, PITCH
, STYLE
, EOS_WAIT
, EOS_WAIT_LAST
, TOI
, READPTN
- 属性
なし
<S>#[[VOICE required=nozomi_22]]#[[RATE absspeed=1.6]]#[[REVERT]]シ^ロ!イ|ハ^ナ!ガ|_サ^イテイル<H>
注釈
設定値 は合成リクエスト全体に対して API から指定した値です。
設定値の指定方法は製品によって異なります。 各製品のドキュメントを参照してください。
文間ポーズ: EOS_WAIT
¶
文と文の間のポーズ時間を変更する制御タグです。
EOS_WAIT タグが登場した以降の箇所のポーズ時間が変更されます。
- 属性
- msec
0~65535 で、ミリ秒単位になります。
- revert
値指定はありません。 設定値に戻します。
<S>#[[EOS_WAIT msec=3000]]コ^ンニチワ<F>
<S>#[[EOS_WAIT revert]]コ^ンバンワ<F>
文末ポーズ: EOS_WAIT_LAST
¶
最後の文の後に文末ポーズを入れるかどうかを指定する制御タグです。
※ 日本語テキストでのみ有効です。
- 属性
- on
値指定はありません。 最後の文の後に文末ポーズを入れます。
- off
値指定はありません。 最後の文の後に文末ポーズを入れません。
- revert
値指定はありません。 設定値に戻します。
#[[EOS_WAIT msec=3000]]#[[EOS_WAIT_LAST off]]こんにちは。今日は良い天気ですね。
読みパターン: READPTN
¶
読み方を指定する制御タグです。
READPTN タグが登場したあとの入力テキストの中の文字列 (主に英数字) を type
で指定した読み方で読みます。
※ 日本語テキストでのみ有効です。
- 属性
- type
読み方の種類を指定します。
spell: スペル読み
normal: 通常文
ジャパンのスペルは#[[READPTN type=spell]]Japan#[[READPTN type=default]]です。
テキスト種別: TOI
¶
続く表記形式を指定する制御タグです。
TOI タグが登場したあとの入力テキストの表記形式を type
で指定した発音記号として扱います。
TOI タグの後に続く入力テキストが type
で指定した表記形式として扱えない場合で、 alt
が指定されていれば、替わりに alt
で指定された通常文を発音します。
※ 日本語テキストでのみ有効です。
- 属性
- type
発音記号の形式。 指定できる値は以下の通りです。
jeita: JEITA
ai-kana: AI 中間言語
normal: 通常文
default: 設定値に戻す
- alt
代替文。 発音記号が不正で ALT が存在する場合は代替文の音声合成を行います。
#[[TOI type=ai-kana]]<S>コ^ンニチワ<F>#[[TOI type=default]]こんばんは。
#[[TOI type=ai-kana alt=代替文]]<S>invalid ai-kana sentence<F>#[[TOI type=default]]
注釈
設定値 は合成リクエスト全体に対して API から指定した値です。
設定値の指定方法は製品によって異なります。 各製品のドキュメントを参照してください。
連結: CONCAT
¶
文を繋げる制御タグです。
CONCAT タグの挿入位置の直前が文末だった場合、文末を無効にして 2 つの文を繋がった 1 つの文にします。
直前が文末ではない場合、CONCAT タグは無視されます。
※ 日本語テキストでのみ有効です。
- 属性
なし
こんにちは。#[[CONCAT]]今日は良い天気ですね。
AI 中間言語に対する制御タグ¶
以下のタグは AI 中間言語を作成するときに影響します。 日本語テキストから指定した場合にのみ有効です。
EOS_WAIT_LAST
READPTN
TOI
CONCAT