U L T R A S O N I X
よくある質問
F R E Q U E N T L Y A S K E D Q U E S T I O N S
FAQ 1.0 版、最終更新日 1996 年 9 月 3 日
管理者: Keith Edwards
Xerox PARC
kedwards@parc.xerox.com
1.0 はじめに
1.1 UltraSonix とは何か
1.2 本ソフトウェアが屢々Mercator あるいは Sonic X と呼ばれるのは何故か
1.3 使用条件(Licensing)
1.4 移植
2.0 沿革
2.1 開発初期
2.2 RAP への道
2.3 現在の設計
2.4 現況
3.0 必要な環境
3.1 開発に必要な環境
3.2 実行に必要な環境
3.3 必要なハードウェア
4.0 使い方
5.0 出版物と資源
5.1 どのような資料が用意されているのか
5.2 UltraSonix を扱っているウェブ・ページはあるか
5.3 当システムを扱う論文は、どのようなものが公表されているのか
===========================================================================
1.0 はじめに
1.1 UltraSonix とは何か
UltraSonix は、X Window System と UNIX で使える screenreader の試作品(prototype)である。これを用いることで、利用者の X デスクトップ上のアプリケーションの聴覚表現(言語によるもの及び非言語のもの)を作り出すことができる。また、文字列入力欄の点字文表現(Braille output)を生成することも可能である。UltraSonix は、アプリケーションが待ち受けている入力(マウス・クリックや打鍵)を代替入力源から合成することができる。
このソフトウェアは、Xt ツールキットと Motif を用いて構築した、X11R6.1 のアプリケーションと組み合わせた時に最も上手く機能する。
本ソフトウェアは、Georgia Tech において、数年掛けて開発された。その後、初期の開発者達は他の企画に移ってしまった。当システムの今度の公開版は、非商業利用であれば自由に使って良い。詳しくは、1.3 使用条件、および 1.4 移植の節を見よ。
Georgia Tech では、開発は最早行われていない。このソフトウェアを保守するために開発者達が使える資源は、残念ながら非常に限られている。
本ソフトウェアの今版が機能することは、Solaris 2.5 とCommon Desktop Environment(CDE) を搭載した Sun SPARCstations 上でしか確認していない。
1.2 本ソフトウェアが屢々Mercator あるいは Sonic X と呼ばれるのは何故か
Georgia Tech における元の企画名は Mercator であった。この名前は、16 世紀の地図製作者である Gerhardus Mercator(メルカトル)に因んでいる。彼は緯度と経度のそれぞれが平行に表れる地球表面の投影方法を開発し、航海を容易にした。
しかし、Mercator という名前は既に商標登録されていることが判明し、我々は新たな名称候補として Sonic X を選んだ。けれども、この名前も(これに近い別の候補も)押さえられていた。そして我々は結局 UltraSonix に行き着いた。
現在の配布版の中においても、依然として Mercator と Sonic X への言及が多数残存している。
1.3 使用条件(Licensing)
ソフトウェア UltraSonix の著作権は、Georgia Tech Research Corporation が登録済みである。当プログラムの使い道は、教育目的または非営利の利用に限られる。使用条件(licensing)に関する質問は、下記に問い合わせること。
Georgia Tech Research Corporation
Technology Licensing
Centennial Research Building - Rm. 275
400 Tenth Street, N.W.
Atlanta, Georgia 30332-0415
1.4 移植
当ソフトウェアを Intel のハードウェアの Linux オペレーティング・システムに移植する取り組みが進行中であり、多くの人が参加している。Wisconsin の Trace Center に所属する Mark Novak 氏がこの取り組みを仕切っている。Mark 氏の連絡先は menovak@facstaff.wisc.edu である。
===========================================================================
2.0 沿革
2.1 開発初期
Mercator project は 1991 年に Georgia Tech で始まり、当初は Tech Center for Rehabilitation Technology:CRT と Multimedia Computing Group:MCG の共同作業であった。CRT には access software(接続・操作を行うソフトウェア) に関する知見があり、何らかの形で X に access(接続・操作) する方法を必要としていた。一方、MCG には X Window System の内部を hack した膨大な経験があった。
当時、当企画に資金を提供してくれたのは、NASA Marshall Space Flight Center、及び Georgia Tech の学際研究助成金(an interdisciplinary research grant)であった。
研究を始めたばかりの頃、我々は実験重視の(pragmatic)手法で製作を進めていた。人が実際に使用可能な何物かを作り出そうとする一方で、研究的な視点も保ち続け、音声のみの環境において文字のやり取りを行う技術に対する新たな知見を得ようとしていた。
デジタル情報から 3 次元の音を生み出すべく合成的に(synthetically)音声を立体化する技術の研究は、途中で切り捨てた研究課題の一つである。Mercator には含まれていないが、我々はなかなか気の利いた 3D サウンド・ソフトウェアを創作している。David Burgess(現在 Interval Research Corporation に居る)がこの作業の第一責任者であった。
http://www.cc.gatech.edu/gvu/multimedia/spatsound/spatsound.html に詳細があるので、興味があればどうぞ。
本ソフトウェアの 1.0 版は 1992 年に完成した。1.0 版の設計は、今日の UltraSonix のそれとは非常に異なるものであった。後に誤りであると判明した、ある前提を基にして開発を始めたためである。我々は、X Window System の基本設計に手を加えて、同システムが screenreaders に対応するよう改変できるとは考えていなかった。
1.0 版においては、「外側から働きかける形で」 X に接続・操作を行う(access)手法を用いた。この手法では、アプリケーション、ツールキット、あるいはウィンドウ・サーバを操作する(operate)にあたって、それら自体に何らの変更も加える必要がない。当システム(の前身)は X サーバとクライアント・アプリケーションの中間に陣取ることになる。Mercator は、アプリケーションからは何の変哲もない X サーバとして映り、実際の X サーバからはクライアント・アプリケーションに見える仕組みであった。
この手法の大きな問題は、X プロトコルが極めて低水準の情報しか提供してくれないことである。その結果、画面上にボタンを一個作るだけのために、X プロトコルの通信を連ねて、描画すべき線分の一つ一つをピクセルの絶対座標で指定することになってしまった。
プロトコルの信号が固より低水準であるため、当システムの 1.0 版が捌く情報流通の量は、高水準の Editres プロトコル経由で取得される Xt 特有の情報で膨れ上がってしまった。Editres は元々対話形式で設定変更を行う道具として設計されたものであるけれども、我々の研究には使えないことが分かった。
Mercator 1.0 の仕組みは、技術報告書 GIT-GVU-92-05 に述べてある。この文書は Georgia Tech もしくは Mercator のウェブサイトで手に入る。 1.0 版とそれ以後の版の間に設計上の相違があるものの、1.0 版で使用していた階層的な検索方式と音声アイコンは、その大部分が最新版でも採用されている。
2.2 RAP への道
1.0 版以降、我々は、X 自体を修正することはできないという前提を捨てた。そして、X を screenreaders や類似のアプリケーション群へ対応させるにあたって、できる限り小さな変更で済ませるにはどうすれば良いかを探り始めた。この作業の成果が、Xt ウィジェット(ボタン、スクロール・バー等)の次元の情報を集めるべく設計された、Editres 様のプロトコルである。このプロトコルは XtProto と名付けられ(実に創造的である)、試験台の役目を果たした。この試験台のおかげで、ウィジェットの状態に関する情報がやり取り可能な場合に、screenreaders にどのような機能を実装し得るのかを調べることができた。
Mercator 2.0 版は、XtProto の研究の成果である。この研究の過程と XtProto そのものとは、X Technical Conference で公表された。
2.0 版は狙い通りに動作してくれたので、X の下で動作する将来の screenreader はこの方向で開発し得ると確信した。また、同版において、我々は Xt と Xlib のライブラリに対して一群の修正を加えた。GUI の状態に関する情報が screenreader プログラムに渡るようにしたのである。加えて、この版は別の方面にも前進を齎した。X Consortium の人々に対して我々の着想の有効性を示したことで、XtProto のような機能を将来の X に組み入れるよう堂々と提案する機会を得た。
3.0 版と 4.0 版では、当システムの内部を精製するとともに、満足のいく安定性と実用性を感じるまで件のプロトコルを整えた。両版にて利用者のためのインタフェイス機能を追加したが、依然として 2.0 版以来の XtProto から派生したプロトコルを用いていた。
後に挙げた二つの版においては、NASA Marshall Space Flight Center、Sun Microsystems、そして National Security Agency(NSA:国家安全保障局)の助成を受けた。
2.3 現在の設計
現在はというと、我々は screenreaders で使用する、Xt と Xlib のプロトコル及びそれらの拡張機能を X Consortium に提案する作業を続けている。大まかに言って、修正提案は下記のように分類できる。
- Xlib に対する変更。低水準プロトコルの情報を Xlib から確実に取得する手段が必要であった。古いサーバもどきの手法では上手く動作させるために満たすべき条件が多すぎたので、X11R6 からは XESetBeforeFlush と呼ばれる、クライアント側の Xlib 拡張機能が新たに搭載されるようになった。この関数によって、送信後に消えてしまうプロトコルの情報を、その前の段階で捕捉できるようになった。
- Xt に対する変更。ウィジェットの状態変更の情報を浚うために、Xt に接続できる仕組みが必要であった。R6 の libXt にウィジェットの状態情報を捕捉する仕掛け(hooks)一式を実装してくれたのは、Kaleb Keithley 氏である。x-agent メーリング・リストに参加している大勢の人々も、この設計に貢献してくれた。
- ランデヴ・プロトコルが一つ。screenreaders(「外部エージェント」)を実行中のアプリケーションに接続するためのプロトコルを提案してくれたのは、Digital Equipment Corporation の Will Walker 氏である。このプロトコルは、ICE X Rendezvous Mechanism として、X11R6.1 で採用された。Interclient Communication Conventions Manual (ICCCM) の中にこの仕組みの説明がある。このプロトコルの設計に当たっては、氏以外の多くの人々も手を貸してくれた。
- リモート・アクセス・プロトコル(remote access protocol)が一つ。Will Walker 氏が Remote Access Protocol を表す、気の利いた頭字語 RAP を発明した。RAP は基本的に XtProto の後裔であるが、Xlib と Xt に接続できるように、また Will 氏のランデヴ機構を利用しやすいように、磨き上げられている。残念ながら、Consortium は未だ RAP を標準仕様に取り入れていない。
5.0 版では、当システムの全面的見直しを図った。RAP の組込みだけではなく、再コンパイル無しに動的に新たな I/O モジュールを読み込む機能の追加など、多数の修正が加えられた。この版は、ACM Symposium on User Interface Software and Techology で公表された(後述の出版物関連の章を見よ)。
6.0 版では、より優れた文字データ処理機能の追加、多数のバグ修正、Common Desktop Environment (CDE) への対応が行われた。この時点における主要な助成者は、Sun Microsystems と National Security Agency(NSA、国家安全保障局)であった。1995 年 12 月、我々はコードを同者等に納め、当企画は公式には終わりを告げた。当企画で中心となった人々は、もはや誰も Georgia Tech にはいない。
7.0 版は、「外部向け」に公開した版である。コードは NSA に提出した 6.0 版のものと全く同じであるが、Georgia Tech Office of Techology Licensing の求めに応じて、免責事項の文言が付け加わっている。7.0 版が世に出る前に、個人使用に限った許諾に署名して 6.0 版のソースコードを手に入れた人もいる。
7.0 版は恐らく 1.0 版か何かに改名するべきであろう。どのみち、それ以前の版は何れも手に入らないのであるから。
以下の人々は当企画の構成員であった。
Elizabeth Mynatt
Keith Edwards
Tom Rodriguez
Ian Smith
Kathryn Stockton
Sue Liebeskind
Will Luo
Stacy Ann Johnson
Kevin Chen
John Selbie
David Burgess
Phillip Seaver
このソフトウェアの離陸に大きな役割を果たしてくれた、構成員以外の人々にもお礼を述べたい。
John Goldthwaite
Will Walker
Gerry Higgins
Craig Moore
Gary Day
Earl Johnson
Sue Hartman
Mayer Max
Sheila Stanley
Jim Hoover
2.4 現在の状況
現在外部に公開されているソフトウェアの版番号は 7.0 である。
Trace Center の後援を得て、UltraSonix を Linux に移植する作業が進行中である(上記の 1.4「移植」を見よ)。
===========================================================================
3.0 必要な環境
3.1 開発に必要な環境
Georgia Tech の頃の当企画は、専ら Solaris 搭載の Sun hardware を念頭において、当システムの開発を進めてきた。Georgia Tech が公開したシステムは、Solaris 2.5 と Common Desktop Environment (CDE) を搭載した Sun SPARCstations で動作することが確認されている。下記の要件はこの環境構成を反映している。他の環境に移植するには、また別の要件が課されるであろう。
UltraSonix を構築するには、以下のものが必要である。
- ANSI に準拠した C コンパイラ(我々は Sun SPARCcompilers C 3.0.1 を使った)。
- そこそこ出来の良い C++ コンパイラ。テンプレートと例外処理に対応しているもの
(我々は Sun SPARCcompilers C++ 3.0.1 を使った)。
- きちんと POSIX の規格に則ったインクルード・ファイル群。
- Rogue Wave 社の Tools.h++ というクラス・ライブラリ、7.0 版以降。
- Tcl スクリプト言語。
- X11R6 あるいはそれ以降。
詳しくは Design Guide を見よ。(訳註:同梱の DESIGN-MANUAL のことか?)
3.2 実行に必要な環境
UltraSonix を上手く動かすには、それなりに速い計算機が必要である。我々は SPARCstation 10-class hardware 上で開発したが、32 MB RAM の SPARCstation 2 程度まで格下げしても動かすことができた。
当システムを動かすには、次のものが要る。
- 当システムが対応しているハードウェア(後述の 3.3「必要なハードウェア」を見よ)。
- The Sun audio device (/dev/audio)。
- クライアント・アプリケーションが用いる、修正済みの X11R5 あるいは X11R6。
- 動的に X11R5 あるいは X11R6 に連結(link)されるクライアント。
3.3 必要なハードウェア
現在、以下に挙げるハードウェアに対応している。
- Dectalk DTC01 speech synthesizer
- Dectalk Express speech synthesizer
- Entropic TruTalk software-only speech synthesizer
- Alva 3/20 Braille terminal
- Alva 3/80 Braille terminal
- Genovations keypad
===========================================================================
4.0 使い方
... 質問が来たら、ここに追加していく。 :-)
===========================================================================
5.0 出版物と資源
5.1 どのような資料が用意されているのか
利用の手引きと設計文書がソースコードの配布版に添付されている。
5.2 UltraSonix を扱っているウェブ・ページはあるか
元となった企画のウェブ・ページはこれ。
http://www.cc.gatech.edu/gvu/multimedia/mercator/mercator.html
予め断っておくが、同ページは賞味期限切れである。
RAP 及び ICE Rendezvous に関する取り組みを扱っているページは、
http://www.x.org/x-agent/
5.3 当システムを扱う論文は、どのようなものが公表されているのか
一部の論文はウェブ上で読むことができる。これを以下に挙げる。
『Mercator 環境:X Window System の非視覚インターフェイス』
Technical Report GIT-GVU-92-05: Mynatt, E. D., and Edwards, W. K. "The
Mercator Environment: A Nonvisual Interface to the X Window System,"
February, 1992.
『非視覚インタフェイスのための新たな喩法』
Technical Report GIT-GVU-92-28: Mynatt, E. D., and Edwards, W. K. "New
Metaphors for Nonvisual Interfaces," 1992.
『グラフィカル・ユーザ・インタフェイスの非視覚表現:二つの手法を対比する』
Mynatt, E.D. and Weber, G., "Nonvisual Presentation of Graphical User
Interfaces: Contrasting Two Approaches," in the Proceedings of the
1994 ACM Conference on Human Factors in Computing Systems (CHI'94),
Boston, MA, April 24-28, 1994.
『グラフィカル・ユーザ・インタフェイスの聴覚表現』
Mynatt, E.D. "Auditory Presentation of Graphical User Interfaces, " in
Kramer, G. (ed) Auditory Display: Sonification, Audification and
Auditory Interfaces, Santa Fe. Addison-Wesley: Reading MA.,
1994.
『GUI を聴覚インタフェイスに変換する』
Mynatt, E and Edwards, W. K., "Mapping GUIs to Auditory Interfaces,"
in the Proceedings of ACM Symposium on User Interface Software and
Technology (UIST), 1992.
『視覚障害を持つ利用者のための X インタフェイス実行時翻訳』
Edwards, W. K. and Rodriguez, T., "Runtime Translation of X Interfaces
to Support Visually- Impaired Users," in the Proceedings of the 7th
Annual X Technical Conference, Boston, MA, January 8-20, 1993. Click
HERE for ASCII version.
『Mercator 計画:X Window System の非視覚インタフェイス』
Edwards, W. K. Mynatt E., and Rodriguez, T., "The Mercator Project: A
Nonvisual Interface to the X Window System," in The X Resource,
Seastopol, CA. Issue #7, 1993.
『非視覚インタフェイスのための新たな喩法』
Mynatt, E. and Edwards, W. K., "New Metaphors for Nonvisual
Interfaces," book chapter to appear in Extraordinary Human-Computer
Interaction, Edwards, A. (ed.), Addison Wesley, due 1994.
『グラフィカル・ユーザ・インタフェイスとのやり取りを可能にする -- 不可視の画面』
Edwards, W. K., Mynatt, E. D., and Stockton, K. "Providing Access to
Graphical User Interfaces--Not Graphical Screens," in Proceedings of
ACM Conference on Assistive and Enabling Technologies (ASSETS), Marina
Del Rey, CA, November, 1994.
『グラフィカル・インタフェイスを変換する仕組み』
Edwards, W. K., Mynatt, E. D. "An Architecture for Transforming
Graphical Interfaces," in Proceedings of ACM Conference on User
Interface Software and Technology (UIST), Marina Del Rey, CA,
November, 1994.
-----------------------------------------
-----------------------------------------
三分九理