本家NVDAで動くJTalk音声エンジン
残念ながら py2exe 環境でうまく動かないという不具合があったので、次のスナップショットに向けて修正します。
2012.2-beta1 におけるアドオンマネージャーの仕様を確認しました。
試作したアドオンパッケージ(まだ動作には成功していません)が、ポータブル環境で展開される場所は以下のとおりです:
manifest.ini に name = nvdajp_jtalk と書くと(ポータブル版のフォルダ)\userConfig\addons\nvdajp_jtalk 以下に synthDrivers/* および globalPlugins/* がコピーされます。
userConfig/{synthDrivers,globalPlugins} にはファイルはコピーされません。
音声ドライバが nvdajptext という外部のファイルに依存する構成は、依存ファイルの相対パスを固定できないので、初期化が複雑になります。
JTalk については mecab 関連ファイルを音声ドライバのディレクトリにまとめるべきかも知れません。
下記の記事で紹介されている本家の OCR アドオンは、グローバルプラグインで公開された実装から変更がないようです。
http://open.salon.com/blog/the_weird_writer/2012/05/10/nvda_now_has_ocr_recognition
アドオン版 JTalk の試作を下記に置きました:
http://dl.dropbox.com/u/62564469/nvdajp-jtalk-120517.nvda-addon
lp:~nishimotz/nvdajp/betterJtalk/ rev 4223
ポータブル版のインストール先パスに空白や全角文字が含まれるケースなどを考慮しています。
nvdajptext ディレクトリを廃止し mecab DLL を 0.993 に更新するなど、いろいろ変更をしています。
リリース版にマージするときには miscdep の修正が必要です。
nvdajptext を廃止し、libmecab.dll を差し替える変更を jp2012.2 rev 5202 および miscdep rev 83 にマージしました。
ブログ記事でアドオンの紹介をしました。
http://nishimotz.com/2012/05/28/nvdajp/
音声デバイス設定を有効にする修正を行いました。
http://dl.dropbox.com/u/62564469/nvdajp-jtalk-120528.nvda-addon
チェンジセット jp2012.2 rev 5206
アドオン版 JTalk 配布サイトを sourceforge.jp に変更しました。
NVDA のユーザー設定ディレクトリに JTalk のファイルをおくだけで、本家 NVDA で日本語を出力できるようにしました。
lp:~nishimotz/nvdajp/betterJtalk 4218
具体的に Windows 7 では以下の手順です:
本家 nvda_snapshot_main-5152 で launcher 環境における JTalk および JTalk2 ドライバの動作を確認しました。
nvdajptext はグローバルプラグインに置かなくてもいいのですが、とりあえずこうしました。
JTalk 関連のファイルはフォルダにまとめたほうがよいかも知れません。
本家の次のバージョンで「アドオンマネージャー」が実装される予定なので、その仕様にあわせれば、本家版のユーザーが簡単に JTalk をダウンロードできるようになるかも知れません。