日本語対応 automatic speech language switching
lang属性のテスト
上記を Firefox 11.0 で確認しながら、実験的な実装を行いました。
lp:~nishimotz/nvdajp/betterJtalk rev 4210
音声エンジン選択に JTalk と JTalk2 が出てきます。
前者はいままでと同じ動作のエンジンで、後者は lang 属性が ja (ja_JP) 以外の場合は espeak を使うエンジンです。
JTalk2 では lang 属性が ja でない文字列が日本語を含んでいると、適切に読み上げできません。
なお、JTalk2 の名称やオプションは今後変更するかも知れません。
2012.1j-beta2 にマージしました。
今後の課題として、話者、話速、音量を切り替えたときの制御が必要です。
espeak ではなく OpenMary などモダンなオープンソース音声エンジンの利用も検討したいと思います。 http://mary.dfki.de/Download/openmary-open-source-emotional-text-to-speech-synthesis-system-released
NVDA 2011.3 で導入された automatic speech language switching は、HTML の lang 属性などを音声エンジンに渡すことによって多言語のドキュメントを適切に読み上げる機能です。
Web ブラウザや電子書籍リーダーでの利用が想定されているようです。
espeak ドライバを使えば、espeak が対応している言語でこの機能が使えます。SAPI4/5 ではインストールされたエンジンを切り替えて使うはずです(未確認)。
現状の nvdajp の JTalk ドライバは日本語だけを受け取る前提で実装されているため、この機能が利用できません。