Open JTalk の音響モデルを試す
投稿者:マーチン 2016年6月3日
カテゴリ:障碍者全般::音声合成
カテゴリ:障碍者全般::音声合成
OpenJTalk は、音響モデルと呼ばれるファイルを変更することで、声色を変更できます。音響モデルの入手先の紹介と、それらによって、どう変わるかを SHABERU_Light と NVDA と Windows上でコンパイルしたOpenJTalk を使って比較してみました。
2016/05/22 音素継続長の不具合を回避するために jpcommon_label.c に修正を加えました。
2016/05/27 東北大学 伊藤・能勢研究室 作成の音響モデルを追加しました。
2016/06/03 NVDA2016.2 のmei happy の音声サンプルを追加しました。
●音響モデルを入手する
.htsvoice ファイルを公開しているサイトを紹介します。必ず利用規約を理解したうえで、ダウンロードしたファイルをご使用下さい。
※音響モデルを使用し制作された作品の発表は自由でも、音響モデル自体の2次配布は禁じられていることがあります。
※音響モデルを使用し制作された作品の発表は自由でも、音響モデル自体の2次配布は禁じられていることがあります。
◆Open JTalk 標準音声
(1)http://sourceforge.jp/projects/sfnet_open-jtalk/releases/ を開く
(2)[HTS voice] を開いて、hts_voice_nitech_jp_atr503_m001-1.05.tar.gz をダウンロードし、解凍する。
(3)nitech_jp_atr503_m001.htsvoice (男性) が入手できる。
(2)[HTS voice] を開いて、hts_voice_nitech_jp_atr503_m001-1.05.tar.gz をダウンロードし、解凍する。
(3)nitech_jp_atr503_m001.htsvoice (男性) が入手できる。
◆MMDAgent
(1)https://osdn.jp/projects/sfnet_mmdagent/ を開く
(2)MMDAgent_Example-1.6.zip をダウンロードし、解凍する。
(3)フォルダ Voice\mei 内に mei_normal.htsvoice (女性) 等の5個のファイルがある。
(2)MMDAgent_Example-1.6.zip をダウンロードし、解凍する。
(3)フォルダ Voice\mei 内に mei_normal.htsvoice (女性) 等の5個のファイルがある。
◆東北大学 大学院工学研究科 通信工学専攻 伊藤・能勢研究室
(1)icn-lab::HTS voice tohoku-f01 を開く。
(2)angry(怒り)、happy(喜び)、neutral(平静)、sad(悲しみ) の4種類が公開されていて、ファイル名をクリックして、[RAW] をクリックしてダウンロードする。
※読み上げには、neutral(平穏) がよさそう。 CCライセンス (CC-BY 4.0)。
(2)angry(怒り)、happy(喜び)、neutral(平静)、sad(悲しみ) の4種類が公開されていて、ファイル名をクリックして、[RAW] をクリックしてダウンロードする。
※読み上げには、neutral(平穏) がよさそう。 CCライセンス (CC-BY 4.0)。
◆なんかいろいろしてみます
(1)http://akihiro0105.web.fc2.com/Downloads/Downloads-htsvoice.html を開く。
(2)26種類の音響モデルが公開されていて、[Download] をクリックして、解凍する。
※唱地ヨエ、戯歌ラカン、瑞歌ミズキ が、文章の読み上げに使えそう。
(2)26種類の音響モデルが公開されていて、[Download] をクリックして、解凍する。
※唱地ヨエ、戯歌ラカン、瑞歌ミズキ が、文章の読み上げに使えそう。
◆MMDAgent & Project-NAIP wiki
(1)MMDAgent & Project-NAIP wiki::自作音響モデル を開く。
(2)TYPE-α、TYPE-β 、TYPE-γ、TYPE-δの4種類が公開されていて、[ダウンロード] [リンク先のURL] [ダウンロード] をクリックしてダウンロードし、解凍する。
(3)提供されているのは、旧式の hts_engine_API 用の音響モデルの設定ファイル群なので、それを htsvoiceフォーマットのファイルに変換するには、takayanの雑記帳::htsvoiceへ変換するプログラム から、htsvconv.exe をダウンロードして実行する必要がある。
※TYPE-γが、文章の読み上げに使えそう。
(2)TYPE-α、TYPE-β 、TYPE-γ、TYPE-δの4種類が公開されていて、[ダウンロード] [リンク先のURL] [ダウンロード] をクリックしてダウンロードし、解凍する。
(3)提供されているのは、旧式の hts_engine_API 用の音響モデルの設定ファイル群なので、それを htsvoiceフォーマットのファイルに変換するには、takayanの雑記帳::htsvoiceへ変換するプログラム から、htsvconv.exe をダウンロードして実行する必要がある。
※TYPE-γが、文章の読み上げに使えそう。
●比較結果
NVDAのユーザマニュアルの中から抜き出した、以下の文章を読ませてみました。
ポータブル版を起動するには、NVDAを展開したフォルダーを開いて、nvda.exeファイルに移動してEnterキーを押すかダブルクリックしてください
※比較しやすいように、音量がほぼ同じになるように調整しています。
ついでに、他の音声合成エンジンにも、TextToWave あるいは自作ソフトで、同じ文章を読ませてみました。
ポータブル版を起動するには、NVDAを展開したフォルダーを開いて、nvda.exeファイルに移動してEnterキーを押すかダブルクリックしてください
音響モデル | 性別 | SHABERU_Light 1.0 | NVDA 2016.1jp | OpenJtalk 1.09 |
---|---|---|---|---|
mei normal | 女性 | |||
mei happy | 女性 |
NVDA 2016.2jp | ||
tohoku-f01 neutral | 女性 | |||
唱地ヨエ | 女性 | |||
ミク Type-γ | 女性 | |||
m001 | 男性 | |||
戯歌ラカン | 男性 | |||
瑞歌ミズキ | 男性 |
ついでに、他の音声合成エンジンにも、TextToWave あるいは自作ソフトで、同じ文章を読ませてみました。
音声エンジン | 性別 | 音声サンプル | 音声エンジン | 性別 | 音声サンプル |
---|---|---|---|---|---|
Haruka Desktop | 女性 | ||||
Ayumi Mobile | 女性 | Ichiro Mobile | 男性 | ||
DTalker けいこ | 女性 | DTalker たかし | 男性 | ||
ProTalker 読み子ちゃん | 女性 | ProTalker 読み秀君 | 男性 | ||
Galatea Talk female | 女性 | Galatea Talk male | 男性 |
●SHABERU_Light を使う
◆インストール
(1)【Vector】日本語音声合成ソフトSHABERU_Light から、SHABERU_Light_1.0.zip をダウンロードして、解凍する。
(2)解凍したフォルダを適切な場所(例えば、C:\Program Files (x86))に移動する。
(3) SHABERU_Light.exe を右クリックして、[送る] [デスクトップ(ショートカットを作成)] を選択する。
(2)解凍したフォルダを適切な場所(例えば、C:\Program Files (x86))に移動する。
(3) SHABERU_Light.exe を右クリックして、[送る] [デスクトップ(ショートカットを作成)] を選択する。
◆音響モデルの変え方
(1)フォルダ”htsvoice”の下に、拡張子”.htsvoice”のファイルを保存する。
(2)SHABERU_Light を起動する。
(3)[設定] [音響モデル設定] [設定] をクリックする。
(4)拡張子”.htsvoice”のファイルを選択して、[決定] をクリックする。
(5)読み上げ内容を入力して、再生ボタンをクリックする。
(2)SHABERU_Light を起動する。
(3)[設定] [音響モデル設定] [設定] をクリックする。
(4)拡張子”.htsvoice”のファイルを選択して、[決定] をクリックする。
(5)読み上げ内容を入力して、再生ボタンをクリックする。
●NVDA を使う
◆インストール
(1)NVDA日本語版 ダウンロードと説明 から、http://i.nvda.jp をクリックし、ファイルをダウンロードする。
(2)ダウンロードしたファイル(nvda_2016.1jp.exe) を実行し、使用許諾契約で”同意する”にチェックを入れて、[このコンピュータにNVDAをインストールする] をクリックする。
(3)その後、指示に従ってインストールを継続する。
(2)ダウンロードしたファイル(nvda_2016.1jp.exe) を実行し、使用許諾契約で”同意する”にチェックを入れて、[このコンピュータにNVDAをインストールする] をクリックする。
(3)その後、指示に従ってインストールを継続する。
◆音響モデルの変え方
NVDAには、OpenJTalkの音響モデルを変更できる機能がないので、無理やり手動でファイル名を書き換えるという荒業を使います。NVDAによるファイル操作に慣れていないかたは、実行しないでください。
(1)NVDAメニューから、音声エンジン:OpenJtalk 、音声設定:m001 以外の設定にする。
(2)拡張子”.htsvoice” のファイルを以下のフォルダに移動する。
C:\Program Files (x86)\NVDA\synthDrivers\jtalk\m001
※ ポータブル版なら、展開したフォルダの下の \synthDrivers\jtalk\m001
(3)もともとあった、m001.htsvoice を別の名前にリネームする。”Program Files”の下のファイルを操作しようとすると、以下のような警告がでるが、内容を確認して、[続行] をクリックする。
(4)追加した”.htsvoice”ファイルを”m001.htsvoice” にリネームする。
(5)NVDAメニューから、音声エンジン:OpenJtalk、音声設定:m001 に設定する。
(1)NVDAメニューから、音声エンジン:OpenJtalk 、音声設定:m001 以外の設定にする。
(2)拡張子”.htsvoice” のファイルを以下のフォルダに移動する。
C:\Program Files (x86)\NVDA\synthDrivers\jtalk\m001
※ ポータブル版なら、展開したフォルダの下の \synthDrivers\jtalk\m001
(3)もともとあった、m001.htsvoice を別の名前にリネームする。”Program Files”の下のファイルを操作しようとすると、以下のような警告がでるが、内容を確認して、[続行] をクリックする。
(4)追加した”.htsvoice”ファイルを”m001.htsvoice” にリネームする。
(5)NVDAメニューから、音声エンジン:OpenJtalk、音声設定:m001 に設定する。
●OpenJTalk を使う
◆インストール
OpenJTalk の最新版をWindows上にインストールする方法を説明します。
(1)C++のコンパイルをするために、Microsoft Visual Studio Express 2012 for Windows Desktop あるいは Visual Studio 2015 Community をインストールする。Visual Studio 2015 Community なら、インストールの種類で、●カスタム を選択し、■プログラム言語 Visual C++ にチェックを入れる。
(2)拡張子.tar.gz 対応の解凍ツール(例えば、Lhaplus や 7-zip)をインストールする。
(3)http://sourceforge.jp/projects/sfnet_open-jtalk/releases/から、
(4)ダウンロードした3つのファイルを解凍する。
(5)nishimotzの日記:Open JTalk の音素継続長の不具合を回避する を参考に、
ファイル「jpcommon\jpcommon_label.c」に、以下の299行、399行を追加する。
(6)以下のバッチファイル make.bat を作成する。(takayanの雑記帳::Open JTalk 1.07 をいろいろビルドしてみました。を参考にしました)
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
nmake -f Makefile.mak
nmake -f Makefile.mak install
pause
※最初の行は、インストールされているVisual Studio のバージョンによって変更してください。
(7)ファイル”make.bat” を フォルダ”hts_engine_API-1.10”にコピーして実行すると、”C:\hts_engine_API” が作成される。
(8)ファイル”make.bat” をフォルダ”open_jtalk-1.09”にコピーして実行すると、”C:\open_jtalk” が作成される。
(9)”C:\open_jtalk”の下に、フォルダ ”voice\m001” を作成し、”nitech_jp_atr503_m001.htsvoice” を移動する。
(1)C++のコンパイルをするために、Microsoft Visual Studio Express 2012 for Windows Desktop あるいは Visual Studio 2015 Community をインストールする。Visual Studio 2015 Community なら、インストールの種類で、●カスタム を選択し、■プログラム言語 Visual C++ にチェックを入れる。
(2)拡張子.tar.gz 対応の解凍ツール(例えば、Lhaplus や 7-zip)をインストールする。
(3)http://sourceforge.jp/projects/sfnet_open-jtalk/releases/から、
open_jtalk-1.09.tar.gz
hts_voice_nitech_jp_atr503_m001-1.05.tar.gz
http://sourceforge.jp/projects/sfnet_hts-engine/releases/ から、hts_voice_nitech_jp_atr503_m001-1.05.tar.gz
hts_engine_API-1.10.tar.gz
をダウンロードする。(4)ダウンロードした3つのファイルを解凍する。
(5)nishimotzの日記:Open JTalk の音素継続長の不具合を回避する を参考に、
ファイル「jpcommon\jpcommon_label.c」に、以下の299行、399行を追加する。
289:static int index_accent_phrase_in_breath_group(JPCommonLabelAccentPhrase * a)
// 中略 //
296: if (index == a)
297: break;
298: }
299: if (i > 3) i = 3;
300: return i;
301:}
392:static int count_mora_in_utterance(JPCommonLabelMora * m)
// 中略 //
397: for (i = 0, index = m->next; index != NULL; index = index->next)
398: i++;
399: if (i > 10) i = 10;
400: return index_mora_in_utterance(m) + i;
401:}
(6)以下のバッチファイル make.bat を作成する。(takayanの雑記帳::Open JTalk 1.07 をいろいろビルドしてみました。を参考にしました)
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
nmake -f Makefile.mak
nmake -f Makefile.mak install
pause
※最初の行は、インストールされているVisual Studio のバージョンによって変更してください。
(7)ファイル”make.bat” を フォルダ”hts_engine_API-1.10”にコピーして実行すると、”C:\hts_engine_API” が作成される。
(8)ファイル”make.bat” をフォルダ”open_jtalk-1.09”にコピーして実行すると、”C:\open_jtalk” が作成される。
(9)”C:\open_jtalk”の下に、フォルダ ”voice\m001” を作成し、”nitech_jp_atr503_m001.htsvoice” を移動する。
◆音響モデルの変え方
(1)”C:\open_jtalk”の下に、読み上げデータファイル ”text.txt” をメモ帳で作成する。
ポータブル版を起動するには、NVDAを展開したフォルダーを開いて、nvda.exeファイルに移動してEnterキーを押すかダブルクリックしてください
(2)”C:\open_jtalk”の下に、以下のバッチファイル ”m001.bat” をメモ帳で作成する。日本語コードは、シフトJISにする。
set VOICE=voice\m001\nitech_jp_atr503_m001.htsvoice
bin\open_jtalk -z 2000 -x dic -m %VOICE% -ow %~n0.wav text.txt
pause
(3)”m001.bat” を実行する。
(4)音響モデルを変えるには、バッチファイルの1行目を変更する。
(5)その他のオプションは以下の通り。
ポータブル版を起動するには、NVDAを展開したフォルダーを開いて、nvda.exeファイルに移動してEnterキーを押すかダブルクリックしてください
(2)”C:\open_jtalk”の下に、以下のバッチファイル ”m001.bat” をメモ帳で作成する。日本語コードは、シフトJISにする。
set VOICE=voice\m001\nitech_jp_atr503_m001.htsvoice
bin\open_jtalk -z 2000 -x dic -m %VOICE% -ow %~n0.wav text.txt
pause
(3)”m001.bat” を実行する。
(4)音響モデルを変えるには、バッチファイルの1行目を変更する。
(5)その他のオプションは以下の通り。
オプション | 説明 | 省略時 | 範囲 | |
---|---|---|---|---|
-x dir | 辞書ディレクトリ | |||
-m htsvoice | 音響モデル(htsvoiceファイル) | |||
-ow string | WAVファイルの出力 (合成音声) | |||
-ot string | ログファイルの出力 | |||
-s int | サンプリング周波数 | auto | [ 1--] | |
-p int | フレーム周期 | auto | [ 1--] | |
-a float | オールパス値 | auto | [ 0.0--1.0] | |
-b float | ポストフィルター係数 | 0.0 | [ 0.0--1.0] | |
-r float | 速度 | 1.0 | [ 0.0-- ] | |
-fm float | 音程 | 0.0 | [ -- ] | |
-u float | 有声/無声境界値 | 0.5 | [ 0.0--1.0] | |
-jm float | スペクトラム系列内変動の重み | 1.0 | [ 0.0-- ] | |
-jf float | F0系列内変動の重み | 1.0 | [ 0.0-- ] | |
-g float | 音量 (dB) | 0.0 | [ -- ] | |
-z int | オーディオバッファサイズ 0 の時は、音声出力しない | 0 | [ 0-- ] |
◆関連記事
- 【まほろば】オープンソース音声合成エンジン「Open JTalk 1.06」
- 【まほろば】Windowsの音声合成エンジンの比較
- 【まほろば】SAPI5 対応の日本語音声合成エンジンのインストール2
- 【まほろば】音響モデルを自作する1(概要)