制御タグ

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

任意の文字列

使用可能文字: a-zA-Z0-9*_\-+/!#%,.?

8

スタイル

STYLE

color

種別:割合 形式の文字列

割合: 0.00~1.00 の小数値

(弱い ~ 強い)

指定可能な種別は音声辞書ごとに異なります。 種別を示す文字は音声辞書から取得できます。

複数の場合、種別1:割合1,種別2:割合2,... の形式で指定します。

標準値: すべて 0

revert

無し

設定値に戻す

9

音声ファイル

AUDIO

key

音声ファイルのパスに紐づくキー

10

元に戻す

REVERT

なし

次の制御タグによる変更を戻します。

EMPH, RATE, VOLUME, PITCH, STYLE, EOS_WAIT, EOS_WAIT_LAST, TOI, READPTN

11

文間ポーズ

EOS_WAIT

msec

0~65535 の整数値

(ミリ秒)

文と文のポーズ時間を変更する

revert

無し

設定値に戻す

12

文末ポーズ

EOS_WAIT_LAST

on

無し

最後の文の後に文末ポーズを挿入する

(標準値)

off

無し

最後の文の後に文末ポーズを挿入しない

revert

無し

設定値に戻す

13

読みパターン

READPTN

type

spell, normal のいずれかの文字列

読み方を指定する

14

テキスト種別

TOI

type

normal, ai-kana, jeita, default のいずれかの文字列

入力形式を指定する

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