NVDA

since 2011-02-09

NVDA はオープンソースの Windows 対応スクリーンリーダーである。ライセンスは GPL Ver.2 である。

本家 NVDA-dev などで議論された情報をメモする。

なお、nishimotz (24motz) は2012年5月から本家NVDAの翻訳担当になりました。

日本語化

nvdajp および nvdajp_jtalk / nvdajp_ime / nvdajp_braille などをどうぞ。

NVDA開発者ガイド日本語版(作業中)

開発環境の構築 nvdajp_scons / nvdajp_devinstaller / nvdajp_bazaar

Microsoft Speech Platform マイクロソフトが提供している無償の音声エンジン

インストーラー

  • 自動インストール: /S オプション
  • ポータブル版とインストーラ版はどちらを使うべき?
    • インストーラ版の利点「Windowsのログオン画面等を読み上げさせることができます」「環境を揃える=実行さえ出来れば、同じ導入結果になります」
    • ポータブル版の利点「アーカイブを解凍してUSBメモリに入れておけば簡単に利用できます」「レジストリ変更などの影響をシステムに与えません」

対応アプリケーション

  • Flash
    • Flash は MSI からのインストールを推奨
  • アクセシブルな Flash 更新サイト [nvda-japanese-users:438]
  • Notepad++ : 本家開発者が使っているテキストエディタ。ただし Settings を操作するために object navigation が必要という話。(nvda-support 2011-08-29)
    • Ctrl-Tab で編集ウィンドウ(ファイル)の切り替え

NVDA コントローラクライアント

アプリケーションから NVDA を喋らせるクライアントのAPI。

音楽ソフト REAPER が使えるという話

本家リリースの記録

NVDAの使い方

起動ショートカット

NVDA の起動ショートカットは CTRL-ALT-N です。

PC-Talker の音声停止と重なっているという話。ただし PC-Talker 側は Ctrl+Alt+F2 で代用できるそうです。

Windows をキーボードで操作する

Firefox

マウスドラッグ

since 2011-09-07

本家のチケット 1755 で提案・議論されている。

http://community.nvda-project.org/ticket/1755

すでにある機能を使ってドラッグ操作を行う(ラップトップ配列は2013.1以降):

  • マウスを開始位置に移動。これは「マウスポインタを現在のナビゲーターオブジェクトに移動」で可能。
    • デスクトップ配列:NVDA+テンキー スラッシュ(/)
    • ラップトップ配列:NVDA+Shift+M
  • マウスボタンをロックする。マウスデバイスを操作する、または、マウスボタンのロック操作で可能。
    • マウス左ボタンのロック:
      • デスクトップ配列:Shift+テンキー スラッシュ(/)
      • ラップトップ配列:NVDA+Ctrl+開き角カッコ
    • マウス右ボタンのロック:
      • デスクトップ配列:Shift+テンキー アスタリスク(*)
      • ラップトップ配列:NVDA+Ctrl+閉じ角カッコ
  • マウスを目標位置に移動。最初の操作と同じ。
  • マウスボタンをロック解除する。マウス左(右)ボタンのロックと同じ操作を繰り返せばロック解除。

python コンソール

JTalk を開発する前に試したメモ。

Python コンソールから音声合成エンジンを叩くことができる。

ドキュメントトーカのSAPI5エンジンが入っていて、選択されているとすると:

s = speech.synthDrivers.sapi5.SynthDriver()
s.performSpeak(u"こんにちは")

アドオン

アーキテクチャー

since 2011-12-20

間違っているかも知れないけど。。

NVDA のアーキテクチャーはイベントドリブンです。そのイベントは基本的に MSAA や UIA の「イベント」なので、そのイベントのコンテクストが何かと必要になります。

つまり、イベントが属するオブジェクトのクラス階層を、アーキテクチャーの根幹にすることで、いろいろなデザインパターンが活用できます。

その基底クラスになるのが NVDAObject クラスという可能性。

日本語IMEの処理はいまキーイベントをフックしていますが、このオブジェクト階層に基づく処理をしたほうが、スジがよいだろう。

設定ファイル

since 2011-09-13

Windows 7 x86 Home Basic で 2011.2 ベースの nvda_snapshot_jpdev110831_installer を使用。

C:\Users\(username)\AppData\Roaming\nvda 

ここに nvda.ini が保存される。

「現在設定されている情報をログオンまたはその他のセキュアスクリーンで使用する」の保存先:

"c:\Program Files (x86)\NVDA\systemConfig"

ログファイル

ログファイル名は nvda.log である。メモ帳で開くことができるテキストファイル。

Windows 7 (ランチャー版、ポータブル版およびインストール版)で実行したときのログのある場所:

コマンドプロンプトで cd %temp% すると下記に移動できる。

C:\Users\(username)\AppData\Local\Temp

ここに nvda.log がある。

Windows XP の場合:

"C:\Documents and Settings\ログイン名\Local Settings\Temp" 

セキュアデスクトップで動作している時のログは c:\windows\temp にあるという話。

ソースから実行すると nvda.pyw と同じ場所に nvda.log ができる。

nvda-old.log はひとつ前に作られたログファイル。

config オブジェクト

設定を管理したり保存したりするためのオブジェクト。

nvda-dev の 2011-2-21 のメールによると、ConfigObj のセクションはディクショナリ型のように扱える:

confSect = config.conf.get("blah")
if not confSect:
       confSect = config.conf["blah"] = {}
confSect["test"] = "value"

辞書登録 speechDicts

音声エンジンに渡す文字列を前処理して読み付与をカスタマイズできる。

「まほろば」にて MSSpeech HARUKA を想定した 読み上げ辞書の追加 の説明。

機能ブランチ

過去に追加された機能の開発ブランチ。

1文字詳細読み上げ

symbol pronunciation

since 2011-04-27

記号の読みを言語ごとに細かく制御する機能。2011.2 に向けて作業されている。

http://www.nvda-project.org/ticket/332

http://www.nvda-project.org/changeset/main%2C4167

http://twitter.com/#!/debugon/status/62704435767414784

http://twitter.com/#!/debugon/status/62718984428060672

ブランチ http://bzr.nvaccess.org/nvda/symbols/ から main,4167 へ。

speech commands

since 2011-05-01

Say all without unnatural pauses

http://www.nvda-project.org/ticket/149

http://bzr.nvaccess.org/nvda/speechCommands

Rev 4186 で Merge main している。

lessFreezing2

since 2011-08-08

フリーズを減らしたいという話。アプリケーションとの通信のタイムアウトに関する制御。

2011.3 で導入。

http://www.nvda-project.org/log/lessFreezing2?rev=current%3A

http://www.nvda-project.org/ticket/1408#comment:3

nvda.txt · 最終更新: 2013/08/15 17:17 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0