ホームページを見るブラウザにFirefoxというのがある。いろんな拡張機能を組み込むことで、様々な機能を新しく追加していくことができる。その拡張機能の一つにFire Voxというのがある。Firefoxにページの音読機能を組み込む拡張だ。
http://firevox.clcworld.net/
以前、Firefoxのバージョンが1.5になる前、それの日本語版を作ってみた。英語の拡張機能だったが、日本語の音声合成を入れてあるとちゃんと日本語でページを読み上げてくれる。これだけでもかなり面白く使える。でも元々が英語向けに作られたものだからメニューやページの要素を英語で読み上げてしまう。それを日本語で言わせるように改造してみようと思い立った。それが二年くらい前。
最初は文字列を単に英語から日本語に置き換えていくだけの改造をしていた。一般的なFirefoxの拡張には利用者に合わせて言語を自動的に切り替える機構がついている。だけどこのFire Voxにはついていなかった。だからその機構を組み込んでみた。全然知らなかったので、一から勉強した。手こずったがでなんとか作ることができた。
そのとき一月ぐらい調べたことをまとめたページが次のページ。
http://et-dev.main.jp/index.php?Firefox%B3%C8%C4%A5%A4%CE%A5%ED%A1%BC%A5%AB%A5%E9%A5%A4%A5%BA
かなり苦労して、ここまで作って、僕は燃え尽きてしまった。Firefoxがバージョンアップして1.5になったときに拡張が動かなくなったので、対応バージョンの数字をちょっと書き換えたりして対応したが、それからは何もしていたかった。FirefoxがFirefox2系列に移行したのに、それには対応せずにいた。
それが最近、NetReaderという素晴らしい音声ブラウザを触ったり、初音ミクの歌声を聞いたりしたら、また再びこれを作りたくなった。それが11月に入ってからだ。折しも本家のFire Voxがバージョンアップ。以前いじってた頃からかなりバージョンが進んでいたので、対応バージョンの数字を書き換えるだけでは不具合がいろいろ出てきてしまった。
自分でも何をどうやればいいのか完全に忘れてしまっていた。それで以前自分がまとめたページを参考にしながら、作り直してみた。よくぞまとめておいてくれたと過去の自分に感謝した。それから今日までずっと作り続けていた。まだもう少しかかりそうだが、なんとか形になってきた。
現在のFire Voxはホームページに指定された言語名を検出して、その言語の音声合成があればその声で読んでくれる。つまり、英語で書かれたページはちゃんと英語に、フランス語のページを開いたら、そこにHTMLで言語の指定があれば、それをフランス語で読み上げてくれる。対応する各国語の音声合成をパソコンに入れていないといけないし、ページに言語の指定がないといけないけど、それでもこれはいい機能。もちろん人間の側にその言葉を理解できる頭がないといけないけれど。
機械に読み上げてもらいながら目で文字を追ったほうが、外国語は目で読みだけより分かりやすい。知らない言葉を嘘読みするよりは、機械に教えてもらった方がいい。ただ、ネイティブスピーカーと話したら、あなたの言葉は機械のようだと皮肉を言われるかもしれないが。
それと、SAPI4で発音できるようにしてみた。Fire VoxはWindowsだとSAPI5の音声がパソコンに組み込まれていないと読み上げてくれない。いままでの日本のスクリーンリーダはほとんどSAPI4の音声だったから、こっちのほうがいいんじゃないかなと以前から考えていた。その機能を組み込むためには、XPCOMという技術を理解していないといけないらしいので、調べて組み込んでみた。わかってみるととても簡単だったが、わかるまでが大変だった。何事もそういうものだ。
この週末には公開できるだろう。