JTalk 話者モデルの再評価
JTalk の音響信号処理のパラメータをいじるための libopenjtalk の調整に着手。 jpbeta160331 (作業中)では、 まだ関数の export 定義を変更しただけで、実際の調整は行っていない。
今日マージした本家 master では eSpeak-NG への移行が行われて、 話速変換ライブラリが sonic になっている。 ただ、sonic は espeak.dll と一緒にコンパイルされているようなので、 JTalk から使いたければ別途統合作業が必要になる。
次のベータ版で JTalk mei で「オールパス値」をすこし増やす調整をします。
https://github.com/nvdajp/nvdajpmiscdep/issues/21
同じことが下記で検討されていました。
そろそろリリース版の方針を固めないといけないのですが、 いまのところの方針案は以下です。
話者 mei_h をキャンセルしたところ、やっぱり mei_h がよかったというご意見が多いようなので、 jpbeta160510 にて mei の話者モデルを mei_normal から mei_happy (以前の mei_h )に入れ替えました。 高さの補正値は mei_normal よりも 5 だけ下げています。
mei_normal と mei_happy は文字通り感情を込めた音声コーパスから作られた話者モデルなのですが、 happy のほうがコーパス内の韻律の分散が小さく(ピッチの高いほうに偏っている)ため、 統計モデルから生成したパラメータが破綻しにくいことを期待しています。
上書きインストールすると mei_normal.htsvoice が Program Files に残ってしまいますが、 そのままにしておこうと思います。
今日から配信する jpbeta160318 には、JTalk に mei_h という話者を追加しています。 これは MMDAgent プロジェクトが配布している mei_happy に対応する話者音響モデルです。 (従来の mei は mei_normal に対応します)
オリジナルの話者音響モデルは mei_happy の声がかなり高かったので、 mei と mei_h はだいたい同じ声の高さに聞こえるように、あらかじめ補正しています。
もしかすると mei_h のほうがよくなるかも知れないと思い、 2種類の声を組み込んだバージョンを個人的にしばらく評価しました。 しかし、けっきょく私にはどちらがよいか判断できなかったので、 公開ベータ版に加えてみることにしました。
ちなみにこの他の話者モデル (angry, sad) などは、音素継続長の分散が大きいのか、 文末の発音が間延びしてしまい、テキストの読み上げにはあまり向いていないと判断しました。
mei_h のほうがよい、mei だけでよい、mei と mei_h を使い分けたい、 などご要望をお聞かせいただければありがたいです。