電脳スピーチ web > AquesCmdDl > マニュアル
マニュアル
2009年10月01日木曜日~
概要
AquesCmdDlは、株式会社アクエスト様が公開されておられるテキスト音声合成ミドルウェア「AquesTalk」を使用して、音声記号文字列を読み上げるコンソールアプリケーションです。
音声記号文字列はコマンドラインで直接指定するか、TEXTファイルとして作成して読み込ませます。
特徴
- WAVEファイルへの出力や追記も可能です。ただし追記の際のWAVEファイルの形式やヘッダサイズはAquesCmdDlで出力されたものであることを前提に決めうちで処理されますのでご注意ください。
- 音声記号文字列中に制御文を挿入することで「話者・速度・音量」を動的に変更可能です。
- 音声の任意の場所に任意の秒数の無音区間を挿入可能です。
インストール
必要なファイルは全て同梱されていますので、配布されている圧縮ファイルを展開すればご使用になれます。
- \dll
- AquesTalkのDLLファイルが話者別にフォルダ分けして格納されています。
話者が相対指定された場合このフォルダ配下のフォルダ名としてDLL呼び出しがされます。
- \html
- AquesCmdDlに関する詳細な情報です。
- AquesCmdDl.exe
- 実行ファイル本体です。
- ListenMe.txt
- ソフト紹介を兼ねたサンプルファイルです。
本体にドラッグ&ドロップで表示と読み上げを開始します。
- ReadMe.txt
- AquesCmdDlに関する簡単な情報です。
- Sample.bat
- 連続呼び出しで単一のWAVEファイルを生成するサンプルBATファイルです。
- Sample.txt
- 埋め込み制御文の簡単なサンプルファイルです。
- ToWave.bat
- WAVEファイル生成用のBATファイルです。音声記号文字列を記録したTEXTファイルを引数に指定して実行します。
ショートカットをSendToフォルダに置く等してお使いください。
Win9xではご利用になれません。
アンインストール
インストール時に生成されたファイルとフォルダを全て削除してください。
設定ファイルの生成やレジストリの使用はしていません。
使い方
テスト
「ListenMe.txt」を「AquesCmdDl.exe」にドラッグ&ドロップして、内容の表示と読み上げが開始されるかご確認ください。
また「ToWave.bat」にドラッグ&ドロップして「ListenMe.wav」が生成されるかもご確認ください。
なお、「ToWave.bat」はWin9xではそのままでは使用できません。
テキストエディタで「"%~dp0AqsCmdDl.exe"」の部分を実行ファイルのフルパスファイル名に変更した上でお使いください。
音声記号文字列
一番単純な形では「ひらがなとアクセント記号(')と句切記号(。?、,;/+)」のみで構成された文字列です。
句切記号は半角と全角に注意してください。
- アクセント記号
- 「'」です。
この記号がある場所で音程が高→低に変化します。
- 句切記号
- 「。?、,;/+」です。
アクセント句を構成するために使用します。
記号によって次の文字列との結合の強度に違いがあります。
「。、,」では無音区間が挿入されます。
「?」は語尾の音程が上がります。
- アクセント句
- 句切記号(。?、,;/+)で区切られた区間です。
アクセント記号は一つのアクセント句に一回しか効果がありませんので音程の変化が二回以上ある文字列は句切記号で区切って二個以上のアクセント句を作る必要があります。
詳しくは株式会社アクエスト様のサイトにあるAquesTalkのページから「音声記号列仕様」をダウンロードしてお読みください。
埋め込み制御文
文中の任意の場所にタグ(制御文)を埋め込むことで話者や音量を変更できます。
一ヶ所に複数の制御文を連続して埋め込むことが可能です。
タグに使用するアルファベットは大文字・小文字で少し意味が変わりますので、通常は小文字を使用してください(詳細は「埋め込み制御文」をご覧ください)。
なお、「効果範囲」という概念はなく、変更した効果は違う設定に変更されるまで継続し、「変更前の設定に戻す」という機能もありませんので、元に戻す場合は戻す地点で新たに変更前の値で再設定してください。
- 話者変更
- 「<-d:話者名>」で指定します。話者名は実行ファイルの存在するフォルダにある「dll」フォルダ以下に存在するフォルダ名(default・dvd・ f1・f2・imd1・jgr・m1・m2・r1)です。
それぞれのフォルダ名は変更可能で、変更した場合は話者として指定する話者名もあわせて変更してください。ただし「default」は初期設定値という特別な役割があるため変更しないようにお願いします。
- 速度変更
- 「<-s:数値>」で指定します。数値は50~300で100を標準として大きいほど速くなります。50で半分、300は三倍速です。
- 音量変更
- 「<-v:数値>」で指定します。数値は1~600で100を標準として大きいほど大きくなります。波形に対する単純な乗算で算出されていますのであまり大きな数値を指定されますと音割れ等が発生しますのでご注意ください。
- 無音区間挿入
- 「<-b:数値>」で指定します。数値はミリ秒単位(1000で1秒)です。
設定されている読み上げ速度に応じて相対的に変化します。たとえば現在の速度設定値が二倍速(<-v:200>)の場合「<-b:2000>」で2秒の無音区間を指定しても半分の1秒の無音区間が挿入されます。絶対時間で2秒を指定する場合は大文字の「B」を使い「<-B:2000>」と指定してください。
コマンドラインスイッチ
- 読み上げ設定
- 「-s:数値」で速度、「-v:数値」で音量の変更が可能です。ここで設定する数値は埋め込み制御文の「<-s:数値>」や「<-v:数値>」の値からは独立しており、それぞれの比率を維持したまま全体の速度・音量を変更できます。
- WAVEファイル生成
- 「-o」でWAVEファイル生成に出力します。後述の「-f:ファイル名」や「-a」を指定した場合は自動で付加されますので明示的に「-o」をつける必要はありません。
「-f:ファイル名」でファイル名を指定しない場合は入力ファイル名の拡張子を「.wav」に変更して使用します。音声記号文字列が直接引数として渡されていた場合その文字列に「.wav」をつけたものが使用されますが、ファイル名として使用できない文字「/:<>」が存在する可能性が高く、多くの場合エラーで失敗すると思われます。
「-a」はすでに同名のWAVEファイルが存在する場合はその末尾に音声を追加します。同名WAVEファイルがなければ「-o」と同じです。AquesCmdDlで出力されたWAVEファイルであることを前提とした単純な追加処理のため、他のWAVEファイルエディタ等で編集してあった場合は不正なWAVEファイルとなる可能性があります。
- 出力メッセージ制御
- 「-m:数値」でAquesCmdDlが標準出力に表示するメッセージを制御することができます。「-m:0」で全て表示しない設定であってもファイルの生成やDLLの読み込みに失敗した等のエラーメッセージは出力されます。
その他
直接読み上げとWAVEファイルとのテンポの違い
読み上げるPCによっては、WAVEファイルより直接読み上げのほうがテンポが遅くなります。
これはAquesCmdDlでは、音声記号の解析や、関数・DLLの呼び出し等の処理にかかる時間を考慮していないために生じる遅れです。
また直接読み上げでは「,、。」等や無音区間をSleep関数で調整しており、この関数の精度の問題もあります。
WAVEファイルでは処理待ちやSleep関数のずれが生じないため正確なテンポで再生されます。
TEXTファイル作成に関する注意
- シフトJIS形式で保存してください。
- 拡張子は何でもかまいません。ただし誤操作防止の観点から「.wav」「.WAV」だけは弾くようになっています。
- AquesTalkはアクセント句単位、すなわち句切記号(。?、,;/+)で区切られた範囲までを発声しますので、発音記号(ひらがな)中に制御文が埋め込まれた場合は、内部的にその直前に「+」を付けて一つのアクセント句を生成しています。たとえば「ここで<-v:200>おおきくする。」の場合、内部で「ここで+<-v:200>おおきくする。」と変換されています。
句切記号を「+」でなく「/;」等にする場合には「ここで/<-v:200>おおきくする。」等、句切記号を明示的に記述してください。
- コメント文にコメント内容としての「>」が存在するとその位置がコメントの終了とみなされエラーとなります。
- 埋め込み制御文として未使用のアルファベットを使用した場合は完全コメント「<-C:~>」として扱われます。
AquesTalkの標準的な動作との相違
- 句切記号(。?、,)までの間隔が非常に長い音声記号文字列区間が存在した場合、AquesTalkでは通常エラーとなりますが、AquesCmdDlでは適切な文字数で切ってなるべく読み上げるようにしています。
- 最終文字列の末尾に句切記号(。、,)が存在する場合、AquesTalkでは無視されますが、AquesCmdDlではそれぞれの記号に対応する長さの無音区間が挿入されます。
電脳スピーチ web > AquesCmdDl > マニュアル