2005年10月23日

FireVox 日本語化(1)

このブログを書かないときの理由というのはいくつもあって、たいていはテーマ以外のことに集中していて書くことをさぼっているというのが多いのだけど、今回は全く違って、ここに書くために黙々とプログラミングをしてました。かなりいいのができてきて一段落ついたので、ここに書けるようになったわけです。



SAPI5で使える音声合成ソフトを購入したというのは前回書いたのだけれど、そのとき、以前紹介したFoxy VoiceいうFirefox用の拡張がようやく自分のパソコンでも利用できるようになったので、そのFoxyVoiceについて検索をしていたら、以前勉強にさせてもらったdeq notesさんに、再びたどり着いた。



すると、ここで別のFireFox用の音声拡張が紹介されているのに気がついた。で、書いてあるとおりに拡張を入れてみると、驚いた。これは使える!



FireVoxは、ページ全体を読んでもらうのに便利な拡張だけど、このもうひとつの拡張FireVoxは、Firefoxを音声ブラウザに変えてしまう素晴らしい拡張だった。ホームページリーダーの細かなモードに分かれた読み上げはできないものの、PC-Talkerでのブラウザの簡易読み機能よりもより実用的な音声読み上げができる。とにかく素晴らしい拡張だ。拡張を入れるだけでこれだけのことができるFirefoxも素晴らしい。



FireVoxというのは、公式ページで配布されているFirefox用の拡張である。ライセンスはGNU GPL。



これを動かすためには、もちろんFirefoxが必要であるが、そのほかに、同ページで配布されているCLC-utils、CLC-4-ttsといった二つの拡張をFireFoxに入れておかないといけない(拡張の入れ方はFirefoxでそのページを開き、その拡張本体であるxpiファイルを開けばいい。うまくいかなければ、デスクトップなどにダウンロードしておいて、Firefoxにドロップすればいい)。



そして一番大事な音声合成エンジン。同ページではFreeTTSというJAVAで書かれたフリーの音声合成エンジンが紹介され、インストールの手順も説明されている。FireFoxはLinuxでもMacでも使えるブラウザなので、フリーな上にOSを選ばないJAVA製の音声エンジンというのはとても都合がいい。だけど、残念ながらしゃべれるのは英語だけらしい。



では日本語はだめなのかというと、そうゆうわけでもなく、Windowsで使う場合に限り特別にSAPI5対応の音声合成エンジンも使うことができるので、SAPI5対応の日本語音声合成を持っていれば、日本語をしゃべってくれる。OfficeXPを入れていてマイクロソフトの日本語の音声合成が使える人はそのまま使ってもいいし、音声合成エンジンが入っていないという人や、マイクロソフトの日本語がききづらいと感じる人は、僕のようにSAPI5対応の音声合成ソフトを組み込めばいい。





前置きがとてもながくなってしまったけれど、このFireVoxを組み込むと、日本語の音声ブラウザとしてFireFoxを使えるようになる。ページだけでなく、Firefoxのメニューもちゃんと日本語の音声で読んでくれる。キーボードショートカットもいろいろ用意されていて、テーブル内の位置を教えてくれたり、文字を一文字ずつ読んでくれたりもする。とても便利に使える。



ただよく音声を聞くとタグ要素など英単語で読んでいる。オプション設定画面も英語で書いてある。みんなが英語がわかるわけじゃないし日本語化できないものかと、FireFoxの拡張の日本語化はよくされているのだから、これもどうにかできないだろうかと、実際にこの数日間いろいろやってみたわけである。





今日は前置きだけになったけれど、いちおう日本語化できているので、すぐにでも公開したい。VE2000のXP版の公開は難しそうなので、それよりもこちらを先に公開しようと思っている。GNU GPLライセンスなので公開も楽だし、こちらのほうが使い勝手はいいと思う。





・FireVoxの紹介ページ 日本語 (deq notes)

http://www.memb.jp/~deq/voice/firevox.html



・Fire Vox 公式ページ 英語

https://webspace.utexas.edu/chencl1/clc-4-tts/index.html





・Foxy Voice公式ページ 英語

http://foxyvoice.kenche.info/



・Firefox 日本語公式ページ

http://www.mozilla-japan.org/products/firefox/


posted by takayan at 04:29 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2007年11月16日

Fire Vox日本語版を開発中

最近、ここに何も書かずに、プログラムを作ってた。以前、作ってたものの続きだ。僕は純粋に趣味でプログラムを作っている。僕にとってはこのブログを書く作業は、プログラムを作ることの応用だから、本来の姿に帰った感じでいる。

ホームページを見るブラウザに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という技術を理解していないといけないらしいので、調べて組み込んでみた。わかってみるととても簡単だったが、わかるまでが大変だった。何事もそういうものだ。

この週末には公開できるだろう。


posted by takayan at 04:12 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2007年11月19日

Fire Vox とりあえず日本語改造版

Fire Voxを日本語化したものです。

詳しくは以前まとめた次のリンクを見てください。
http://et-dev.main.jp/index.php?FireVox

Fire Voxの本家は次のリンクで公開されています。
Fire Vox: A Screen Reading Extension for Firefox

とりあえず、現時点でできあがっているものを公開します。あとで正式な公開をします。
当然ですが、自己責任での使用でお願いします。Firefox2向けのものです。SAPI音声をお持ちの方が対象です。

ダウンロード(clc-4-tts_bundle_v3.4_jp.xpi)


以下、英語版のFire Voxを本家と呼びます。

本家のFire Voxだけでも、日本語文字列の日本語音声読みはできますが、本家のままだとメニューを読むときの「〜 has sub menu.」とか、そういう英語文字列はそのままになってしまいます。それを日本語に置き換えるものです。

訳語は既存のスクリーンリーダを参考にしながら決めています。また、できるだけ簡潔になるように心がけています。例えば「〜 has sub menu.」は「〜にはサブメニューがあります。」だと冗長なので単に「〜メニュー」としたりしています。いい加減な訳もまだ残ってますが、ぼちぼち修正していきます。

基本的に日本語文字列以外本家とは大きく変わらないようにしていますが、それでもいくつかの変更点があります。

・イベントの音声をFirefoxのロケールに依存させています
本家ではメニューやコントロールの読みは、コントロールパネルの音声認識で設定するコンピュータの既定の声になっていますが、これをFirefoxのロケールで判断するようにしています。つまりメニューに使われている文字列の言語の声になるようにしています。日本語のFirefoxを使っていれば、日本語でしゃべります。日本人なのに英語版Firefoxを利用されていれば、この場合Firefoxのロケールは英語になるので、メニューなどのイベントを英語で読み上げてくれます。

・SAPI4音声でも読みます
Windowsで制御の仕組みが提供されている音声合成にはSAPI4とSAPI5があります。Fire Voxは標準でSAPI5対応の音声が使えますが、これを改造してSAPI4対応の音声でも使えるようにしました。ただ最低限の機能しかまだ付けていません。音声のピッチの制御や、言語の選択などができません。また音声の選択もできません。例えばロボ太郎ではなく読み秀君で読ませたいという指定がまだできません。それから、全文読みをさせているとき画面のカーソルとの同期ができていません。こういうのも改善していきたいと思います。ただ過去の技術であるSAPI4への対応はこの程度簡易的でもいいんじゃないかとも考えています。


気付いている問題点がいくつかあります。

・イベントの中に組み込まれている文字列をページの音声で読んでくれない
ページの音声とイベントの音声が違うときに気付きます。一番よく分かるのが、ページタイトルを読み上げるときです。これは、イベントを読み上げる言語の文法も絡んできます。そういうわけで改造は後回しにしてます。


posted by takayan at 04:36 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2007年11月20日

音声選択の修正

今回のFire Voxの改造において、どの言語の音声で発音させるかのルールは次の通りにしていました。
なお、ページの言語指定というのはHTMLタグのxml:lang属性などによる言語指定のことです。さっき読ませて分かったのですが、seesaaブログではちゃんと"ja"に指定されています。

・メニューおよびイベントの読みは、Firefoxのロケールの言語の音声。そのロケールの言語の音声が用意されていなければ、Windowsの既定の音声。
・ページの文字列の読みは、言語指定が無いときは、メニューおよびイベントの読みと同じにする。
・ページの文字列の読みは、言語指定があるときは、指定されている言語。指定されている言語の音声が見つからなければ、言語指定がないものとして扱う。
・言語指定を無視するように設定されているときは、ページの文字列の読みは、言語指定がないものとして扱う。
・ただし、ページの文字列でも、タイトル名など要素と密接なものは、やむを得ずメニューやイベントの読みの音声となっている。

よく考えてみると、このルールだと、言語指定がないときは、そのメニューに使われている文字列と同じ言語だと解釈してしまいます。

具体的に説明すると、日本語のメニューが表示されているFirefoxで日本語の文書を読んでいるときは問題はありませんが、言語指定のない外国語のページを読もうとすると(例えばYahoo!USA)、そのページも必ず日本語で読もうとしてしまいます。言語指定が無くても、英語のページは英語で読めた方がいいわけですが、今回の改造だと、英語版のFirefoxに切り替えない限り英語では読んでくれません。本家の場合は、言語指定の無いページはWindowsの既定の音声で読んでくれるので、コントロールパネルでこの設定を切り替えることで解決します。

現状ではHTMLタグに言語指定のあるページの方が少ないはずですから、この切り替えは簡単な方がいいでしょう。僕の改造のようにFirefoxのロケールを書き換えないといけないのでは困ります。せっかく、イベントの読みとページの読みを分けた意味が無くなります。つまりこの改造は改悪になっています。これは余計な改造でした。

上記の二番目のルールは、本家と同じように次のようになるべきです。

・ページの文字列の読みは、言語指定が無いときは、Windowsの既定の音声とする。

言語を指定できるようにするのもいいかもしれません。現在利用できる音声のリストを用意しておいて、メニューバーやボタンを使ってそのページを読ませる音声を選ぶようにしてもいいでしょう。この機能があると便利です。ただこのプログラムを作るのは今すぐには無理なので今回の修正では見送ります。こういう改造は別系列を作ってやるべきかもしれません。

そういうわけで、ページの文字列を思い通りの音声で読んでくれないときは面倒ですがコントロールパネルの「音声認識」で既定の声に切り替えてください。将来的にはFirefox上から切り替えられればいいなと思っています。

そういうわけで、xpiファイルを更新しました。バージョンナンバーをどうしようか決めかねてるので、今のところ同じ名前で置いておきます。

ダウンロード(clc-4-tts_bundle_v3.4_jp.xpi)



posted by takayan at 00:51 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

Firefoxを多言語対応にする方法

そんなこんなで、Firefoxを多言語で使えるようにしてテストしてます。現在僕のFirefoxでは、メニューを英語や韓国語にしたりするとちゃんとその音声でメニューを読み上げてくれてるわけです。おもしろいです。

この方法を解説してみましょう。音声の入れ方は後回しにして、まずFirefoxを多言語対応にしてみましょう。知ってる人は知ってるでしょうが、その方法を書いておきます。

まず、firefoxを使っていない人は、日本語版Firefoxを持ってきて、インストールします。次のリンクです。
Mozilla Japan - Firefox

無料ダウンロード というところをクリックすれば、ダウンロードが始まるはずです。指示に従ってインストールします。


Firefoxがインストールされたら、次は「Locale Switcher」という拡張機能を組み込みます。似たような機能の「Quick Locale Switcher」というのもありますが、今回は「Locale Switcher」を入れてみます。

Firefoxで次のページを開いて、拡張機能をダウンロードして組み込みます。ページの上の方で許可を求めるメッセージが表示されるかもしれませんが、そのときは許可を与えてください。指示に従って、再起動させれば、完了です。
Locale Switcher :: Firefox Add-ons


これによりFirefoxに言語パックを切り替える機能が追加されました。言語パックとはメニューの項目名などその言語用の用意されたファイル群です。ツールメニューを開き、その中にある言語パックのサブメニューを見ると「日本語」があるはずです。


今度は、英語版Firefoxをインストールしましょう。英語を使えるようにするには、Firefoxの英語版をインストールします。先ほどの日本語版を入れたときと同じ要領です。英語版は次のページの下の方に置いてあります。
その他のシステムと言語


インストールの作業は英語での指示ですが、先ほどの日本語版をインストールしたので同じことをやれば問題ありません。起動させると、前回とは違ってメニューが英語のFirefoxが立ち上がるはずです。ツールメニューの言語パックのサブメニューを開いてみます。英語なので、表記はtoolsメニュー、Languages項目になっているはずです。メニューを開くとEnglish(United State)とJapaneseが並んでいるはずです。

ここにあるJapanese日本語を選びましょう。そしていったんFirefoxを終了させ、再び起動させます。すると馴染みの日本語メニューのFirefoxが現れます。

※追記
最初から英語でインストールするよりも、日本語で手順を知ってからやった方がわかりやすいので、このような方法にしましたが、英語の説明が読めれば、最初から英語版をインストールして下記の方法で日本語の言語パックを入れてもかまいません。
ただ、上記の方法でも英語版のみのインストールでも、英語版Firefoxを最後にインストールするとちょっと都合が悪いことがあります。それはセーフモードでの起動の時に、英語版が起動してしまうことです。この問題はもう一度日本語版Firefoxを上書きインストールすることで対処できます。
※追記終わり

いろんな言語を入れてみましょう。英語以外は拡張機能ファイルの形で言語パックが配布されています。それをさっき入れた拡張機能と同様に組み込んでいけばいいです。

各言語パックが置いてあるのは、次のリンクです。これはWindows用Firefoxのバージョン2.09用のリンクです。
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.9/win32/xpi/

Windows以外を使っているときや既にバージョンがあがっているときは、次のリンクから対応OSの対応バージョンのxpiディレクトリまで自力でたどり着いて下さい。
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/


たくさんのxpiファイルが並んでいるので、この中から必要なものを見つけます。複数の地域で話されている言語の場合は、言語の略語と地域の略語の組み合わせになっているはずです。例えば、ポルトガル語(pt-PT)とブラジル・ポルトガル語(pt-BR)となります。

インストールが完了すれば、これでいろんな言語でメニューが表示されるFirefoxのできあがりです。「ツール」メニューの「言語パック」にあるメニューで言語を選び、再起動させれば切り替えられるようになります。


さっき名前を出した「Quick Locale Switcher」は、より細かな指定ができる拡張機能です。「Locale Switcher」では言語パックが用意されていないロケールには切り替えられませんが、「Quick Locale Switcher」ではあらゆるロケールに切り替えることができるようになります。再起動も自動化できます。ただ今回のFire Voxで遊ぶだけならば単純な方の「Locale Switcher」で十分です。ちなみに、ロケールというのは、言語や地域ごとで決まっている表記規則の集まりのことで、言語と地域の略号によって表されるロケール名で区別されます。具体的な例として、Firefoxのメニュー文字列はロケールによって切り替わっています。
Quick Locale Switcher :: Firefox Add-ons


posted by takayan at 18:00 | Comment(0) | TrackBack(1) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2007年11月22日

CLiCk, Speakも日本語化してみた

CLiCk, SpeakはFire Voxの作者Charles L. Chenさんが作ったマウス操作でホームページを音読させるFirefox用拡張機能です。Fire Voxと同じCLCライブラリを使って作られています。

日本語化の作業は、同じライブラリを使っているので簡単にできました。それも最初から国際化をしてあったので、作業はそれほどありませんでした。

ここで公開してあるものは、Fire Voxに付属しているライブラリを使用しているので、公式よりもバージョンが新しくなってしまってます。

まだまだ修正しなければならないところがあると思いますが、とりあえずβ版として公開しておきます。読ませたいところをドラッグさせて、左上の白いボタンを押せば、読み上げてくれます。

[CLiCk, Speak 日本語版]
ダウンロード(clickspeak_bundle_v1.4_jp.xpi)


Fire Voxの日本語版も少し修正しました。ライブラリを共有しているので、今までのものだと問題があったので、それを修正しています。また訳文のおかしいところもいくつか書き換えました。それからCLiCk, Speakを参考にして、アドオン画面でロケールに合わせて説明を切り替えるようにしてあるのを真似てみました。

[Fire Vox 日本語版]
ダウンロード(clc-4-tts_bundle_v3.4_jp.xpi)


これからもちょくちょくこの二つの拡張機能を更新していこうと思います。今後は公開番号を後ろにくっつけて公開していきます。番号を付けていないものは最新の番号のものと同一のものです。だからたぶん、常にこの記事からダウンロードできるはずです。

大きな変化があったらこのブログにも書きますが、公開はet-web 開発室 Fire Voxでおこないます。それはそうと、このサイトも改修したいと思いながら手を付けられずにいます。


ソースをいろいろ眺めていると、いろいろアイデアが出てきて踏み込んだ改造をしたくなってきますが、公式のバージョンアップに合わせるのが難しくなるので、最低限にとどめておくつもりです。ただロケールでアナウンスの言語を切り替える仕組みは面白いのでこのまま使い続けようと思います。そのせいでさらに余計な改造をしなくてはいけなくなっているのですが。


posted by takayan at 03:25 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2007年11月26日

Fire Vox シンプル日本語版

いままで公開していたものの不具合を修正していると、やはり行儀のいい改造をやるべきだと痛感しました。動作は本家と同じ方がいいに決まっています。僕が無理な改造をしているせいで、迷惑をかけてもいけません。そういうわけで最低限の改造をして日本語化したものを公開します。

ダウンロード(clc-4-tts_bundle_v3.4_jp.xpi)


今まで公開していた最新版を指すリンクもこちらのバージョンのものを指すようになります。改造版はひっそりと作っていきます。


今回のことで、改造版の不具合をいくつも見つけることができました。それも合わせて修正しました。いい加減な翻訳もいろいろ書き換えました。


posted by takayan at 04:16 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2007年11月27日

外国語を引用するときはlang属性を付けよう。

ホームページで外国語を書くときは、ブログを含めて、その外国語をlang属性、xml::lang属性を付けておこう。
ブログの気楽なところはHTMLタグを使わなくていいところなんだけど。できればタグにこの属性を付けるようにしよう。
そうすれば、もしかするとページを開いてくれた人の役に立つことがあるかもしれない。

ブログに外国語を書くことなんてないって人も多いだろうが、僕のブログは、外国語を引用してあるところも多い。そういう人は、その引用文を囲むタグにこの属性をくっつける。例えば、blockquoteならば次のようにする。

<blockquote lang="en" xml::lang="en">
...
</blockquote>


最近紹介しているFire Voxは、この言語指定に対応している。もちろん日本語版も。

この記事をFire Voxで読ませると、次の英文の引用の所で、英語の音声に切り替わるだろう。
そのためには、SAPI5の日本語音声と英語音声がパソコンに入っていないといけない。
またFire Voxの設定ダイアログで、Auto detect language(言語を自動的に検出)にチェックしておかないといけない。
いろいろ条件があるけれど、それがそろうと、情報がとても便利に利用できるようになる。


The quick brown fox jumps over the lazy dog.



別なサンプルとして、外国語の挨拶を読み上げるものを作ってみた。これはFire Voxのテーブルの読みの簡単なサンプルにもなっている。

Hello, World


Fire Voxのキー操作はここでは全然説明してこなかった。ツールメニューからFire Voxの設定を開くと、英文字がいくつも並んでいる。CTRLキーとSHIFTキーと、その英文字を同時に押すことで、その機能を使うことができる。FとDとAとQはよく使う。

また固定修飾キーとしてPAUSE/BREAKを使うように設定していると、PAUSE/BREAKキーを押してオンの状態にしてあると、単に英文字のキーを押すだけで動作してくれるようにすることもできる。


posted by takayan at 02:26 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2007年11月28日

言語読み分けのサンプル動画

何か音声のサンプルが作れないかと思って、前回の外国語の挨拶のページを動画にしてみた。せっかくなので、ブログに貼り付けられるようにFLV形式にしてみた。殺風景な動画で申し訳ない。(追記 別のページからこのページに戻ってくると、下のプレイヤの画像が崩れるみたいだ。そのときはF5キーなどでリロードすれば元に戻る。)



これはFirefoxに日本語化したFire Vox拡張機能を入れて、タグに言語コードを指定したページを読ませたもの。音声エンジンはICレコーダRR-US470に付いてきた九ヶ国語。なお、国の並び順は英語以外は言語コード番号順。

テーブルの各項目はTDタグで記述されているので、下の引用のようにそのTDタグに言語属性を追加している。また一番外側のHTMLタグにjaを指定したので、ページ全体の標準言語は日本語になっている。
<td lang="en" xml::lang="en" >hello</td>

二年前に買ったPentiumMノートパソコンなので言語が切り替わるときに、ちょっともたついてしまう。最近のデスクトップパソコンだともっといい感じになると思う。


使ったソフト
カハマルカの瞳 ... デスクトップの録画
VirtualDubMod ... 動画の編集(この動画を再生はできないけれど)
・Adobe Flash Video Encoder ... AVI→FLV変換
Riva FLV Player ... 設置



posted by takayan at 23:01 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする

2008年04月22日

Fire VoxでSAPI4音声を使う

SAPI5を使ったWSHスクリプトを書いて遊んでいたら、SAPI4でやり残していることを思い出した。Fire Voxを改造してSAPI4でも使えるようにしたのはいいのだが、CTRL+SHIFT+Aで連続読みをさせると突っ走ってしまうという問題があってまともに使えていなかった。それをちょっと修正してみた。もちろんclick,speakも対応させた。

Fire Voxで日本語をしゃべらせるには日本語SAPI5音声を用意しないといけない。SAPI4は無料で配布されているものもあるので、それでも使えるようにならないかといろいろやっている。

※先日までこのページで配布していたものは、まだまだ未完成なので、ここからのダウンロードリンクは削除した。このページからアドインをインストールした人は削除してください。

この試みにまだ興味がある人は、経過報告をこのブログか、Fire Vox - et-web開発室で書いていくので、よければまた見てください。現在はLH KenjiとLH Naokoを選ばないようにするものを置いている。

先のサイトでは「Fire Vox」を日本語化したものを二種類公開している。表示されるもしくは発音される英語の文字列を日本語に単純に置き換えた必要最小限の改造のものと、実験的に本家にない細かな改造を施したものの二つ。今回紹介するのはこの拡張版のほうだ。


Fire Voxは、Firefoxに最先端のWebアクセシビリティ機能を実装させる機能拡張。Charles L. Chen氏が開発している。
Fire Vox: A Screen Reading Extension for Firefox

本家のものも日本語のsapi5合成エンジンさえあればそれだけで日本語でちゃんと実用できる。ただメニューを読むたびに「has sub menu.」としゃべったりするのを気にしなければいいだけのこと。

Fire Vox本家は3.6にバージョンが上がっているが、今回こちらはまだ3.4のまま。Firefox3betaにも対応していない。

SAPI4での連続読みで起きる現象は最初から分かっていたが解決方法が分からないままだった。そのまま放置して忘れてしまっていた。今回いろいろ調べたら、問題は話し中かどうかの確認をTextDataDoneというのを使って捕まえていたせいだった。これだと読み終わりのタイミングがつかめないので、こうなってしまう。かわりにAudioStopという関数を使えばいいことに気づいた。

※いろいろ内容変更 2008/04/24


posted by takayan at 04:56 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする