NVDA に無償の日本語音声合成エンジン搭載

当サイトで何度か話題に採り上げている、オープンソースの無料スクリーンリーダー「NVDA」ですが、その日本語版において、日本語音声合成エンジンが無償バンドルされるようになっています(2010年9月9日リリースの開発版以降)。

先に、当サイトの記事「Microsoft Speech API (SAPI) を使った日本語での音声読み上げ」で述べたように、これまで無料で入手できた SAPI4 (Microsoft Speech API のバージョン4)の日本語音声合成エンジンが、マイクロソフトからの公式ルートで入手できなくなっています(また、Windows Vista、Windows 7、と OS のバージョンが上がるにつれて、SAPI4 が今後安定的に使えなくなってゆくリスクもあります)。一方、同記事で、マイクロソフトが新たに提供している無料の音声合成エンジン「Microsoft Speech Platform」を、SAPI5 (Microsoft Speech API のバージョン5)に対応化させる方法もご紹介しています。ただこの方法も実は、マイクロソフトの公式な入手方法ではないという懸念があります。

その意味で、現在 NVDA が採っている方策(日本語音声合成エンジンを無償でバンドルすること)は、ユーザーにとって、とても心強いのではないかと思います。何より、特にパソコンや支援技術に関する知識に詳しくない人にとっては「スクリーンリーダー」と「音声合成エンジン」の区別などつかないわけで、これらが一緒にバンドルされていて、一度インストールすれば自動的にどちらも入っている(複数のソフトウェアを個別にインストールしなくても、基本的な音声読み上げを始めることができる)というのは、とてもありがたいことではないかなと思うのです。

ところでこの NVDA にバンドルされている日本語音声合成エンジンですが、その名を「jtalk(ジェイトーク)」といいます。「Open JTalk」という技術を応用しているものだそうです。

NVDA で jtalk を使うには、NVDA を起動後、NVDA の「設定」メニューから「出力先」を選択し、出力先として「JTalk」を選びます(下図)。
NVDA の出力先設定

なお現時点では、jtalk による音声読み上げは、速さ、高さ、音量の調整ができないようです(SAPI4 または SAPI5 を使用時には、NVDA の「設定」メニューの「音声設定」で、これらをコントロールするスライダーが表示されますが、jtalk を使用時には、これらのスライダーは今のところ表示されません)。

さて、jtalk を使って、NVDA で音声読み上げをさせてみた印象ですが、意外とスムーズな日本語読み上げをしてくれて、いい感じだなと思いました。声質自体は(フリーの音声合成エンジンゆえしかたないと思いますが)機械臭い感じは否めないのですが、アクセントなどの表現は、わりと自然な印象を受けました。ただし、文中に英語表記が紛れ込んでいるようなページでは、その部分を、一文字ずつ綴りで読んでしまうのが現状のようです。当方で簡単な実験をしてみたのですが、英語表記部分を、たとえば<span>要素などでマークアップして lang 属性を「en」に指定しても(つまり「この部分は英語だよ」とセマンティック的に明示しても)、この問題は解決しませんでした。

もっとも、NVDA の開発に関わられている方のブログやツイッターでの発言を見ると、NVDA にバンドルされている jtalk はまだまだ発展途上であり、ユーザーからのコメントやフィードバックをもらいながら、少しずつブラッシュアップしてゆくそうです。その一例として、誤った読みかたをされる単語や、新たに登録して欲しい単語などを受け付けるWebサイトを作ろうか、といった議論もあるようです。オープンソースならではのフットワークの軽さを感じると同時に、NVDA と jtalk は、ユーザーの声に支えられながらどんどん成長してゆくものなのだなと、改めて思いました。

というわけで、まだ現時点では色々と課題がある jtalk、実用レベルと言えるようになるまでには、もう少し時間がかかりそうですが、今後の発展を楽しみにしたいと思います。