Categories
nvda

NVDA Needs You 試訳

Spread the love

オープンソースの Windows 版スクリーンリーダ NVDA を開発している非営利組織 NV Access が募金の呼びかけをしています。日本のユーザの皆様に状況をお伝えするために、本家のブログ記事 NVDA Needs You の日本語訳を作ってみました。なお寄付に関するご案内は Donateのページ にあります。

NVDA 日本語化プロジェクト(nvdajp)
は現在 NV Access とは独立した任意団体として活動しています。日本語化プロジェクトでも本件について議論をしたいと思っていますが、現時点でこの試訳は私の個人的な活動です。NVDA プロジェクトに関する情報提供になれば幸いです。また、訳の不自然な部分や誤りなどお気づきの点がありましたら Twitter @24motz または #nvdajp にお知らせいただければ幸いです。
(試訳ここから)
お気づきのことでしょうが、NVDA の開発組織であるNV Accessは、コンピュータの購入の他に余分なコストを必要としないような、視覚に障害がある方々のためのソフトウェアの開発を前提とする非営利団体です。しかし、ご存じないかも知れませんが、この活動の存続のために、私たちは大きな組織からの助成金や寄付を求める必要があります。過去数年間にNVDAが複数の称賛に受けているにもかかわらず、残念ながら、現在の経済環境からは、今後これらの補助金が削減されると考えられます。

Categories
nvda

NVDA日本語化のコミュニティ

Spread the love

NVDA日本語化プロジェクトについて、お問い合せをいただくことが増えてきたので、私が知っていることをまとめてみます。
Twitter ではハッシュタグ #nvdajp がレスポンスの早い連絡手段として機能しています。
ユーザ向けメーリングリスト nvda-japanese-users は Google Groups でホスティングされています。メーリングリスト以外に、プログラムの配付や技術資料などがありますが、情報が古くなっています。
現在メーリングリストのメンバーは100人以上です。
ときどきバグ報告や質問をいただいています。
このメーリングリストは今後「ユーザ会」のような活動を立ち上げていく上で、重要な役割を果たすと考えています。
ユーザの方々、利用者のサポートをなさっている皆様と、開発メンバーが、密接な協力をしていけるように、つとめたいと思います。
sourceforge.jp には ダウンロードページと開発者コミュニティ nvdajp があります。
プロジェクトからの公式なリリースを、ユーザの方にダウンロードしていただけるページです。
公式リリースは 2010.2j が最新です。
不具合報告や御要望をお受けするためのチケットシステムがあります。
開発者メーリングリスト nvdajp-dev はこちらにありますが、現在は開発メンバーのみが利用できます。
(追記:開発者メーリングリストはML管理者が手作業でメンバー登録を行っています)
Wiki によるドキュメント作成や編集の共同作業の場でもあります。
先日から、プロジェクトの紹介など、情報をわかりやすく発信することに取り組んでいます。
バージョン管理のレポジトリがあったのですが、古くなっているため、非表示に設定しました。
launchpad.netは、2010年春にバージョン管理システムを bazaar に移行した際に利用を開始しました。現在はここでバージョン管理しながら開発を進めています。
nishimotz は自分のサイトでブログ(この記事も含めて)や開発メモを公開しています。
私が作ったツールの一つが「読み付与の不具合収集」です。JTalk の開発と並行して、機能を強化していきたいと思っています。
先日、本家 NVDAの方で大きな変更があり、最新の開発版ソースコードと音声エンジン JTalk との互換性の問題が発生しました。修正の目処は立ったので、あとは私が時間を取って解決したいと思っています。
これがきっかけで、本家の開発メーリングリストを日々読むようになり、コミュニティの動き方から学ぶことがいろいろあると思い始めました。
本家にも Twitter #nvda ハッシュタグ、開発者ML、ユーザMLがあります。ユーザMLのトラフィックは膨大です。
また開発者MLにはTracのチケット情報がどんどん流れており、目標やタスクごとに議論が区別されて流れています。
nvdajp でも、開発者グループの皆様と御相談しながら、ユーザの皆様とも情報を共有しながら、活発なコミュニティを作っていきたいと思っています。
なお、2011年1月29日(土) に開催される PyCon mini JP にて、NVDAのご紹介をお手伝いすることになりました。よろしくお願いします。

Categories
bazaar nvda python speech

NVDAjp 2010.2に向けて

Spread the love

NVDAjp 2010.2に向けて開発メンバーは作業を進めています。
ここでは私の作業状況を簡単にお知らせします。
2010.2 ベースの JTalk の話速を速くする実装の目処は立っており、 bazaar のレポジトリ
lp:~nishimotz/nvdajp/with_jtalk
rev.3531 として launchpad.net に置いてあります。
ただし、このレポジトリには zjtalk.py と jtalk.py の2つのエンジンがあり、(内部の実装はどちらも _jtalk.py です)zjtalk のほうは音声設定で話速のスライダーが出てきます。
jtalk.py のほうは話速設定がうまくできません。話速設定のために supportedSettings をいじると espeak が起動時エラーで落ちます。
なぜ espeak に影響が及ぶのかいまだに不明なのですが、zjtalk.py にリネームしたら解決したので、クラスを読み込んで初期化する順序に依存する問題と思われます。この現象は silence.py で試しても同じでした。
それから NVDAjp そのものではないのですが、10月の開発ミーティングの後の交流会の議論を踏まえて
「読み上げの改良のための情報を集めるサイト」
を試作しました。
Python でなく Ruby on Rails で作ってますが(笑)
こちらについても時間ができたら改良に取り組みたいので、御意見を伺えれば幸いです。
追記(11月15日)
10月30日に 2010.2j がリリースされています。
話速設定については将来のバージョンで追加される予定です。

Categories
daisy galatea nvda speech

NVDA jpdev100909

Spread the love

やっと NVDA に音声合成エンジンが搭載され、開発版としてリリースされました!!
今日と明日はオープンソースカンファレンスというイベントでデモをしています。私は明日参加して、夕方のライトニングトークに出ます。
メーリングリストでさっそく動作報告、御要望などいただいています。1週間前にやっと最低限の動作をするようになったエンジンが、皆様のマシンで動いているとお知らせいただき、大変嬉しく思っています。
読み上げが始まるまでの遅延や、速度などの設定変更がない、という問題は私も承知しています。すこし時間をいただければ幸いです。
音声エンジン以外の機能との役割分担を整理する必要がある部分は、開発メンバーで話し合って検討したいと思います。
この機会に、特に、音声エンジンに関する作業方針について、私自身の考えをお伝えしておきます。
私自身はアクセシビリティや音声技術の研究を本業としております。今回組み込んだエンジンはもともと Open JTalk(New BSDライセンス)というもので、音声技術に関するプロジェクトでご一緒してきた研究グループの最新成果(GalateaTalkの関連技術)です。私は本家のメンバーと連絡を取りながら今回の作業を進めています。ちなみに現在使っている声はその研究室の卒業生の方の音声とのことです。
限られた作業時間の中で、商用ソフトウェアのように多くの御要望にお応えすることは難しいかも知れません。しかし、いただいた御要望、不具合報告、御提案をきちんとデータベース化して、なるべく対応したいと思っています。
音声エンジンについては、何か読みのおかしいところを場当たり的に修正すると、これまで正しく読めていた部分に悪影響が及ぶ、ということがあります。テストの手順をまとめて環境を整備することは重要です。
矛盾が起こらないように時間をかけて慎重に作業させていただく場合もあります。「簡単なことが、なぜすぐに直せないのか」とお思いのことも
あるかも知れませんが、もし疑問があればご説明しますので、御了承いただければ幸いです。
私からなにか NVDA に関する改良の提案をさせていただき、ユーザの皆様にご評価いただき、私の研究に御協力いただく、といったお願いをすることがあるかも知れません。もちろん、その場合は事前にお許しを得たいと思います。
それから、デイジー書籍の作成支援ツールに使える音声合成が欲しい、という問い合わせも、私個人に対していただいています。今年の春にスタートしたサピエというシステムの立ち上げを、私もすこしだけお手伝いしています。JTalk エンジンを NVDA で鍛えていただいて、いずれデイジーでも活用していただけるように、と考えております。

  • 2010-09-11: OSC参加は無事に終了しました。なお、Open JTalk に関する記述を一部訂正しました。
Categories
galatea nvda python speech

NVDAのための音声エンジン

Spread the love

NVDA日本語版は先日「ベータ版」という形で新たに公開されました。
http://accessibility.mitsue.co.jp/archives/000256.html
ベータ版に間に合わなかった音声エンジンの方を私が頑張ってるところです。。
8月末までにNVDAのための音声合成をやると宣言したのですが、とうとう今日で8月も終わりです。
New BSD ライセンスで公開されているエンジン Open-JTalk を Python から ctypes 経由で叩けるようにする作業を進めてきました。
さきほどやっと speak や stop などの基本コマンドが動くようになりました。
いまのところ成果は github の私のレポジトリにあります:
http://github.com/nishimotz/libopenjtalk
この中の lib というサブディレクトリが DLL 関連です。
cygwin gcc-3 の minGW 互換モードで DLL を作っています。
Python は cygwin 版 2.5 と Win32 版 2.6 の両方でチェックしています。
(ただし後述の nvwave.py の制約で cygwin 版 2.5 には非対応になりました)
ただし、技術的な制約で、open-JTalk に組み込まれている mecab (形態素解析エンジン)を使わず、単独で配布されている Win32 版の mecab DLL を組み合わせて使っています。(そのほうがライセンスも管理しやすいはず)
今後の拡張性や保守性を考慮して、オリジナルのエンジンが main 関数でやっている処理を python でほぼ実装しなおしました。
もともと Open-JTalk は HTS_Engine_API の中でオーディオ出力を行っていたようです。しかしスクリーンリーダのためには(音声対話システムであっても)「再生中の音声を自由に止める機能」が必要であるため、HTS_Engine_API 側のオーディオデバイス処理は(configureのオプションで)無効化しました。
ctypes でポインタやダブルポインタを渡す処理を苦労して書きましたが、Python 側にバッファのメモリ管理をやらせるとハマりやすい、ということが分かったので、DLL 側で malloc のラッパー関数を作ってごまかしつつあります。あとでメモリリーク対策が必要になりそうですが。。
NVDA が espeak の中でどのようにオーディオを叩いているかも調べました。(ctypesの参考になりました。。)
http://ja.nishimotz.com/espeak
Windows マルチメディア API で音声出力する部分が nvwave.py という Python のコードでコールバック処理もふくめて実現されています。
驚きでした。
この NVDA 的なやり方を見習って jtalk.py の実装を行いました。ただし DLL から音声波形をコールバックで受け取るのではなく、生成された波形をまとめて nvwave の player に渡しています。
この _espeak.py の実装では、メインスレッドとバックグラウンドスレッドでコマンドキューを共有し、バックグラウンドのスレッドがキューの再生を行っています。さらに stop 命令を受け取ると、キューの中で「時間がかかる処理」だけを削除し、モードの切り替えなどの処理はキャンセルしないで順次実行する、ということになっています。
このような処理は私が「ウチコミくん」で最初に Visual Basic Ver.6 で実装し、そして Galatea Dialog Studio でも実装したものです。
懐かしいような嬉しいような気もします。
そして Python という言語の奥の深さを感じます。
残った仕事は synthDrivers を継承して NVDA 用のドライバークラスを書くことです。
スクリーンリーダーに統合して、安定して動けばいいのですが。。
今回つくった音声合成エンジンでは、かなり多くの部分を Python で実装してあるので、例えば文字列の前処理くらいなら簡単にカスタマイズできそうです。
明日の夜は久しぶりに NVDA 日本語化プロジェクトの開発ミーティングです。

Categories
barrierfree nvda ustream wit

Ustreamのパスワード配信

Spread the love

昨日今日第54回福祉情報工学(WIT)研究会(共催:ヒューマンインタフェース学会研究会)でした。
前回に引き続き、Ustreamによる配信を実施しました。
また、前回の配信について配信ワーキンググループの連名で報告をしました。
研究会の記録と配信実績の報告は別途しますが、その前に忘れないうちにUstreamに関する御報告をひとつしておきます。
WIT研究会ではできるだけ多くの方に面倒な手続きなく配信したいと考えておりますが、前回および今回に関しては、講演者や情報保障関係者の御要望を考慮して、Ustreamの「パスワード制限による配信」を使用し、ieice_wit のアカウントで配信を実施しました。
私たちは特に前回「聴覚に障害をお持ちの方を考慮した配信」を行いました。その詳細は報告(およびその技術編)の通りなのですが、予想外に多数の「視覚に障害をお持ちのユーザ」から御利用の御要望をいただきました。
一般的には「動画コンテンツに字幕をつける」というのはWebアクセシビリティの配慮としてはなかなか手が回らない部分です。
そこにチャレンジした私たちなのですが、残念ながら、もっと基本的な配慮である「視覚に障害をお持ちの方が、スクリーンリーダ操作で配信を受けられること」について、十分な配慮を実現できておらず、前回に続いて今回もお叱りのメールやツイートをいただいています。
具体的な状況を以下にご説明します。
パスワードを入力しようとしてチャンネルのURLにアクセスすると「この番組はパスワードで保護されています。番組を見るには、有効なパスワードを入力してください」という画面が表示されます。これはHTMLのテキストボックスなので、日本で普及しているほとんどのスクリーンリーダで(音声読み上げとキーボード入力で)操作可能です。
Ustream受信のパスワード操作1
スクリーンリーダを御利用の方はこれを入力すれば配信が始まると思ってお待ちになるようですが、残念ながら配信が始まりません。
実はこの先にもう一つパスワード入力画面があるのです。
Ustream受信におけるパスワード入力(2つめの画面)
この2番目の画面では、Flashの動画配信オブジェクトの一部として、Flashのウィジェットでテキストボックスが表示されているようです。
日本で視覚障害を持つ方が広くお使いになっているスクリーンリーダには、Flashオブジェクトの中のウィジェットを操作できない製品が多数あります。
このため「配信を利用できない」というご指摘をいただく結果になっています。
もしFlashオブジェクトでパスワード入力待ちがなければ、音量調整など操作が困難な要素はありそうですが、全盲の方にもWIT研究会の配信をなんとか聞いていただくことはできると思われます。(そして、視覚に障害をお持ちなので会場に足を運びにくい、自宅や職場から研究会を聴講したい、という御要望にお応えすることも、私たちとしては、情報保障の取り組みの一つとして重要である、と気づきつつあります)
著名な高機能スクリーンリーダであるJAWS(日本語版)はこういった問題に対応できる選択肢の一つですが、高価である・操作方法が初心者向けでない、といった事情で、利用者が限られているのが実情です。
このような日本のWebアクセシビリティの状況を改善すべく、私たちもオープンソースで高機能のスクリーンリーダであるNVDAの日本語化に取り組んでいます。
NVDAでのFlash操作についてはミツエーリンクスさんがブログ記事(続報)で報告しておられます。
今回、配信ワーキンググループは、配信を利用できなかったという方から「パスワード入力がなぜ2回必要なのか」と質問を受けております。
WIT研究会の配信WGとしては、今後、パスワード制限を行わないで配信できるように努力したいと考えております。しかし、別の団体などから、パスワード制限をかけつつ視覚障害をお持ちの方に配慮した配信をなさりたい、という要望はいずれ出てくるのではないかと思います。
そこで改めて Ustream 運営会社の皆様にもこの問題をお知らせするべく、この記事を書かせていただきました。
まずはこの問題について多くの方にご理解いただけることを望んでおります。

Categories
nvda python speech twitter ustream

NVDA日本語アルファ版

Spread the love

6月30日にスクリーンリーダNVDA日本語化プロジェクトは「日本語アルファ版」をリリースしました。
このバージョンには限定的ながらも日本語IMEの読み上げに対応する機能が実装されました。
この件についてミツエーリンクスさんのブログでも紹介してくださいました。
昨日は開発ミーティングを開催しました。参加者は会場 3人+Skype 1人でしたが Ustream や Twitter で公開して様子をみていただきました。
Twitter発言のまとめはこちらです。
Google Groups に nvda-japanese-users というメーリングリストが開設されています。興味のある方はご参加ください。よろしくお願いします。

Categories
bazaar nvda twitter ustream

UstreamとNVDA

Spread the love

週末の2日間にかけてUstreamの放送を行いました。5月9日はNVDA日本語化プロジェクトの様子を数人の方に見守っていただきました。
launchpad.netへのプロジェクト登録も公開の場で行いました。
バージョン管理ツール bazaar を本格的に使いこなせるようになってきました。
こういう仕事の仕方は「オープンソースの本質がオープンプロセス」であることを象徴していると思います。
いろいろな可能性がありそうです。
追記:
私のUstream環境ですが、1日目はThinkpad X300の内蔵マイク、内蔵カメラで放送。
2日目はカメラにMicrosoft Lifecam Cinemaを使用。2日目の後半では外付けマイクとオーディオテクニカのマイクアンプを使用。
放送マシンではUstreamのみにログインしてTwitter連携を使っていません。
別途モニター用マシンを用意。こちらはUbuntu 10.04環境でした。UstreamにゲストでアクセスしてUstreamの視聴画面からTwitterへのログイン。
こうすることで、TwitterもUstreamもnishimotzアカウントだけ(サブアカウントなし)で、放送とつぶやきとモニタリングができました。
新家さんがブログでコメントしておられます。
ありがとうございました。

Categories
nvda twitter ustream

5/9NVDA日本語化とUST実験

Spread the love

いつもミツエーリンクスさんの場所をお借りしているNVDA日本語化プロジェクトのミーティングですが、次回は5月9日(日曜日)に、西本の職場の居室兼ミーティングスペースにお集まりいただく予定です。
この際に Ustream の配信実験をしたいと思います。
Ustreamのアカウント:nishimotz at ustream.tv
Twitterのアカウント:@nishimotz
Twitter のハッシュタグは #nvdajp を使う予定です。
オープンソースのスクリーンリーダNVDAに興味をお持ちの方に、たとえライブ動画という形であっても「動いているところ」をみていただける機会を設けることは有意義ではないか、と思っております。ライブで質問や要望をお受けできればもっといいですね。。
しかし、今回は実験ということで私もいろいろ不慣れな状況です。まずは「ダダ漏れ」からということで御容赦ください。
場所は東京大学本郷キャンパス 工学部6号館です。
日曜日なので中に入るためには、建物の入口まで私がお迎えにいく必要があります。nishimotz atmark gmail.com にお問い合わせください。
基本的に昼前からだらだら中継したり打合せをしたりするつもりです。
ただし皆様のご都合もあるでしょうから、コアタイムを13時から15時に設定したいと思います。
西本は Stickam はなんどか使いましたが、Ustream を使うのはこれが初めてです。
NVDAというテーマの趣旨に反して、Webアクセシビリティの問題は多々発生することも予想されますが、今後の課題として克服していければと思っています。

Categories
nvda python

NVDAの日本語IME対応に向けて

Spread the love

今月もNVDA日本語化プロジェクトのコードレビューに参加しました。
本家のNVDAはものすごいペースで開発が進んでおり、またユーザのメーリングリストでは日々大量のメッセージが流れています。
またNVDAはすでに日本でも、従来の日本製の支援技術でカバーされていなかったアプリケーションを音声化するための手段として、他のスクリーンリーダと併用して使う方が徐々に増えているようです。
また、Web開発の企業でもアクセシビリティ検証用としてお使いになる事例が出てきつつあるそうです。
日本でもNVDAという無償のソフトウェアの普及によって、利用者の方の選択肢が広がり、また英語圏で実現されつつある「アクセシブルなJavaScriptアプリケーション」などへの対応が日本でも進むことを期待しています。
今年1月からのNVDAjpでの活動を振り返ってみたいと思います。