2004年06月11日

Emacspeak

EmacsというUNIX(Linux)でよく知られたエディタがある。もちろん、EmacsはWinodwsで動くバージョンもある。

このEmacsに音声出力機能を追加しようというのが、Emacspeakである。オープンソースで開発され、音声スタイルシートに対応している。

総本山はここである。

http://emacspeak.sourceforge.net/



さて、Emacsとはエディタであるが、しかしそれ以上のものである。なぜなら、Lisp言語でマクロを書くことによって、機能を追加していくことができるからである。

Emacsは、メールを読み書き送受信するメーラにもなり、Webページを閲覧するブラウザにもなる。Windowsで言うところのDOS窓としても使うことができ、プログラミングのための統合環境としても使われる。とにかく、目的のマクロさえ作れば(調達すれば)、パソコン上でできることは、たいていEmacs上でも実現できるわけである。

Emacspeakとは、そのようなEmacsに、音声出力機能を追加することなわけである。



日本には、BEPというプロジェクトがある。

バイリンガルEmacspeakプロジェクト(Bilingual Emacspeak Project)

ここではEmacspeakを拡張し、日英の二言語化および多言語化、そしてそのLinux版とWindows版の開発をしている。

http://www.argv.org/bep/

このページを探せば、各版のダウンロードや、音声デモを聞くことができる。





Emacsは単なるエディタではなく、巨大なシステムである。またUNIX上でのプログラミングの道具という利用が主体であったために、通常のパソコン利用者にはあまり馴染みのないものである。

Emacsはマクロを利用することでブラウザとしても利用できるのであるが、音声ブラウザを紹介したページでもあまり取り上げられていないようである。



# ここまで書いたが、実はまだ試用していない。

# 気が変わらなければ、明日はこの使用報告だ。


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

2004年06月12日

BEPインストール

結論から書いてしまうと、BEPは初心者には難しすぎる。

正直、以前emacsを覚えようと思って挫折したことがある。

当時は何とか基本的なコマンドを使えるようにはなっていたのだが、再び使おうとするとヘルプの見方さえ忘れてしまっていた。

初心者にこれを覚えろと言うのは、やっぱり無理だろう。



インストールの仕方:



その前に、BEPという言葉は昨日、Bilingual Emacspeak Projectと紹介したが、それはそれでいいのだけど、今回インストールするソフトもBEPという名前で呼ばれている。しかしこの場合は、Bilingual Emacspeak Platformの意味らしい。

以後、BEPという略語はこの意味を表す略語となる。



さて、インストールするためには、Windows版Bilingual Emacspeakのページに行って、よく説明を読み、BEPパッケージをダウンロードする。それを実行し、指示に従っていけば、インストールが完了する。残念ながらフォルダの指定など音声だけをたよりにインストールするのは難しい。



今回インストールされたemacsは、EmacsのWindows版Meadowというものである。このMeadowの使い方をマスターしなければ、BEPは全く動かすことができない。「Ctrl+h t」で出てくるチュートリアルを読んで、基本的な操作を覚える必要がある。Emacsを知らなかった人は、今までとは全く違うコマンドの指定方法に、面食らうだろう。ALTキーではトップメニューに制御は移らない。



Windowsでは、すでに音声対応のメーラーも、ブラウザも、エディタもあるのに、この環境に乗り換える必要性を感じる、目が不自由な人がどれだけいるだろうか。

理由があるとすれば、UNIXを使いこなしたいという目的や、フリーで1つのソフトで全部をこなせることへの魅力だろうか。





ちょっと、やる気がなくなってしまったのだが、次回は起動してからの後のことを書いておこう。


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

2004年06月14日

BEPの操作

前回BEPのインストールについて簡単に書いたが、今回は、BEPの起動後について簡単に書いておく。

昨日の文章を読んでいないと分からない。



プログラム名はBEPではなく、Meadowになっている。これをプログラムメニューなりから、起動させると、早口の英語で何かをしゃべり出す。聞き取れない(笑)

画面には、英語でMeadowの基本の基本の使い方が表示されている。しかしキーやマウスを動かすとその文章は消えて別の文章が出てしまうので、その基本の基本の文章を読ませることはできない。



その概要は、

Meadowのキーのショートカットは、コントロールを押しながらのC-と、ALTを押しながらのM-の2種類の略記がある。

「C-h」で、ヘルプを見る。

「C-h t」で、チュートリアルを見る。

「C-x C-c」で、Meadow終了。 

「M-`(SHIFT+@)」で、メニューバーをアクティブ。

(メニューバーが実際にアクティブになるのではなくて、メニューのリストを読み上げてくれるので、指示に従って、対応するキーを叩いて、メニューを選択する)

そんなことが書いてある。



これ以外に覚えておいた方がいいのは、

「C-g」で、実行の中断だということ。



さて、ファイルを読み込ませなくては、日本語を読み上げるテストができないので、ファイルの開き方を知らなくてはいけない。

このショートカットキーは「C-x C-f」である。

すると、Meadowのウィンドウの一番下の行「ミニバッファ」に「Find File:...」という文字が表示され、それを読み上げる。ここでファイル名を直接指定してもいいし、ディレクトリ名やドライブ名を指定するとそこにあるファイルやフォルダのリストが表示されるので、そこから選んでエンターを押せばいい。このときファイルのリストでは、フォルダ名は女声で読んでくれるので分かりやすい。リスト中での移動は上下カーソルでできる。「..」フォルダもあるので、上にあがったりして、日本語の書いてあるフォルダをなんとか開く。



読み上げの基本操作は、

↓↑で、行移動、移動した行の内容を全部読む。

→←で、1文字右左に移動、1文字ずつ読み上げる。

「C-e l」で、現在行を読む。

「C-e n」で、カーソル以降をウィンドウ最後まで読み上げる。

「C-e [」で、現在のウィンドウを読み上げる。

「C-e s」で、読み上げを中断する。

空行は、「空行」という言葉ではなく、音で知らせる。



最低これだけ知っておけば、BEPで文書の読み上げをすることができる。



BEPを使う上で他にも知っておいた方がいいショートカットキーは、

「C-h C-e」で、Emacspeakのヘルプが表示される。ただし、英語。読み上げ指示をしなくても、勝手に全部を読み始めてくれる。

どうしても、Meadowの操作に慣れなくてはいけないので、「C-h t」をよく読んで、使い方を覚えるしかない。







1日1時間から2時間の短い時間を使って、調べながら書くというのは、いまさらながら無理な試みだとつくづく思った。でも、ネタが続く限りこれからも続けていこうと思う。

こんな浅い時間で、本質的なレポートが書けるわけがないのだが、そういうものだと思って、参考にしていただきたい。自分でも深く掘り下げたいことがあれば、ゆっくりまとめて、それから投稿ということもするかもしれない。



パソコンの初心者の人たちをよく知っているので、経験上、これを教えるのはどうしても無理としか言えなかった。BEPを作っている人たちには、申し訳のない内容になってしまう。このブログは、そういうスタンスなので勘弁してもらいたい。


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

2004年06月15日

BEPにW3

Emacsに日英バイリンガルの音声出力機能を持たせたBEPについて、最近調べているが、それの続き。今回はEmacsでWebを閲覧するためのマクロW3を組み込んでみることにした。



あらかじめ言ってしまうと、成功とは言えない。とても中途半端な報告になってしまった。もっとしつこく原因究明をすべきなのだろう。でも、おそらくw3はもう触らないだろう。



BEPというのがある。

http://www.argv.org/bep/

ここを探すとWindows版のBEPパッケージがある。これはBEP組み込み済みMeadow。インストーラ付きで簡単セットアップできる。最新版は現在2002年7月20日



EmacsでWebを閲覧するために、w3というマクロと、emacs-w3mというw3mという単独のテキストブラウザをEmacs上で利用するためのマクロの2つがある。

今回は、BEPのページでも紹介してある。W3の方を組み込んでみた。



ところで、W3はなんか開発が止まっているようだし、BEPも2年前でパッケージの更新が止まっているので、正直、遺跡を発掘しているような感じだ。というか、このブログで扱っているプログラムはたいていそんな感じになっている。ホームページリーダー3.01でさえ2001年6月に発表されて、新版が未だに発表されていない!



さて、ここでインストールの仕方を詳しく書いてもいいのだけれど、EmacsやLispやLinuxやCygwinやMS-DOSなどを触ったことがない人は、意味も分からずにインストールするのはやめた方がいいので、詳しくは書かない。詳しく書けるほど私が詳しく知らないからというのが、本当の理由なのだけど(笑)





BEPのインストールは、数日前にここに書いたように終わっているので、環境変数の設定や.emacsファイルの編集をした。「めどうさん入門(Meadow 入門)」というページが参考になる。.emacsはほとんどそのままで、ミニバッファがタスクバーに隠れて見えていなかったので、(height.30)に書き替えたりしたぐらい。



w3のページから、w3をダウンロードしてきた。これを適切な場所で解凍して、直ぐに見つかるbuild.batをREADME.NTの説明を参考にしながら、自分の環境に合わせて書きかえた。

そしてこのバッチファイルを実行。すると、しばらくして何か英語でしゃべり出した。よく分からないが、エラーメッセージのようだ。それも3重唱である。聞き取れないので、多分ダメなのだろうと思いながらも、指示されたように.emacsファイルに行を追加して、Meadowを起動させ、w3の起動コマンドである「M-x w3」を打ち込んでみると、なんとかWebページが表示された。



カーソルキーや、tabキーや、bキー、nキーで、ページ内を移動でき、読み上げてもくれた。ホームページは初期値だと、W3のページなので、日本語のテストのために次のように.emacsに書いてみた。

(setq w3-default-homepage

"http://www.yahoo.co.jp")

そして、もう一度起動させて、w3を起動させると、かなり時間がかかって、ページが表示された。見事に文字化けである。

おそらく何か方法があるのだろうが、ページを表示するのに時間がかかりすぎて、全然実用的ではない。ページ内を移動していると何度かMeadowが固まってしまった。



そういうわけで、現時点では:

・build.batの最後の方の-batchで、エラーが起きている。

・日本語が文字化け

・ページ内を読んでいると、固まってしまうことがある。

という状況である。

また、

・読み上げはちゃんとしてくれているようだ。

・ページを描くのがとても時間がかかる。これはemacsのlispで処理しているから仕方がないらしい。



もちろん、私が未熟だからなのだが、これ以上先に進めない。少し調べればうまくいくのかもしれないが、進んでも意味が無さそうに思える。emacs-w3mに希望を持とう。


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

2004年06月17日

w3mをBEPで読ませる。

最近毎日書けないのだが、このブログに飽きてしまったわけではない。BEPを使いこなすのがうまく行かず、なかなか書けるところまで進めなかった。





さて、今回は、BEP入りのMeadowにw3mを組み込もうという試みである。前回のw3がとても中途半端なことしか書けなくて、今回もそうなってしまうのではないかという不安はあったのだが。実際かなり手こずってしまった。



最初に、w3mとは。

これはテキストベースのWebブラウザである。同様のものとしてLYNXというのがあるが、w3mはtableやframeに対応していたりする。w3mはLinux上で単独のコマンドとして使うものだが、CYGWIN環境のWindowsでも利用できる。ホームページはhttp://w3m.sourceforge.net/である。



「w3m URL」とコマンドをタイプすると、指定のURLのページをテキストで表示してくれる。



ダウンロードリンクにある東北大学HTTPには、windows用の実行ファイルが置いてあるので(binary/i386)、コマンドプロンプトで作業ができる人は、試しに使ってみるといい。



次に、emacs-w3m。

これはemacs上でw3mを使えるようにするマクロである。つまり表示とインターフェイスをemacs側に持ってくることで、emacsをテキストブラウザにしてしまえるマクロである。もちろんwindows上で動くようにしたemacsであるmeadowでも動かすことができる。

前回紹介したw3は、全てをマクロで実現しようとしているために動作がかなり遅くなってしまっているが、w3mというコマンドに細かなことを任せているので、軽快にemacs上でWebページを見ることができる。こちらのホームページは、http://emacs-w3m.namazu.org/である。



さて、これを先日インストールしたBEP入りのMeadowに組み込む訳なのだが、そう簡単にはいかなかった。苦労話をしたくなるのだが、話が長くなるので、できるだけ簡潔に書く。



先の東北大学に置いてあるバイナリは、コマンド単体として動かすのには問題ないが(CYGWIN環境)、emacs-w3mでの操作ではうまくいかなかった。そのため最新のw3mを自分でコンパイルすることにした。



(CYGWINをインストールしたい人はこのページあたりを、http://www.mars.dti.ne.jp/~sohda/cygwin/、参考に。パッケージ選択の時に、gettextとopenssl関連は入れておかないと、後のコンパイル時に困る。他にも必要なのが有るかもしれないが、そのときは自分で調べてsetup.exeをもう一度利用して追加する。)



w3mをコンパイルするには、Boehm-gcが必要なので、このページに行ってソースをダウンロードしてくる。そして適当なフォルダに解凍する。



CYGWINのコマンドプロンプトを起動して、解凍したフォルダに移動し、

「./configure」

「make」

「make install」

を実行する。(ERRORが出てしまった場合は、あきらめるか、自力で問題解決してください。)



お次は、w3mをhttp://w3m.sourceforge.net/からダウンロードしてくる。

現在の最新バージョンはw3m-0.5.1。

同様に「./configure」「make」「make install」を実行する。

これで、w3mができあがり。

/usr/local/binにw3m.exeがコピーされているはずなので、動作確認をしてみる。

うまくいったら、作成されたw3m.exeまでのパスを環境変数PATHに追加しておく。



いよいよ、emacs-w3mをMeadowに組み込む。

http://emacs-w3m.namazu.org/から、最新安定版を持ってくる。現在は、emacs-w3m-1.4.tar.gz。これも適当なフォルダに解凍して、このページの非UNIX環境へのインストールを参考にして、



「C:Meadow1.15binmeadow -batch -q -no-site-file -l w3mhack.el NONE -f w3mhack-nonunix-install」(BEPをインストールしたフォルダに合わせて書きかえる。)をコマンドプロンプトから実行する。問題がなければ組み込み成功。



.emacsファイルを開き、

(require 'w3m-load)

の1行を入れて、準備完了。



おもむろに、meadowを起動して、「M-x w3m」でコマンド実行すれば、w3mが起動する。





w3mの基本コマンド

(大文字と小文字で意味が違うので気を付けないといけない)

H  ホームページを表示する。

B  ページを戻る。

N  ページを進む。

R  再読込み。

g  URL指定(ミニバッファで指定する)

↑↓ 行を移動する。BEPにより移動先の行が読まれる。

←→ 文字を移動する。BEPにより1文字ずつ読み上げられる。

s  履歴を表示する。

S  ページ検索。ミニバッファでGoogle検索。

(他にもいろいろある。)



emacspeak特有のキー操作ができないが、emacs-w3mのソースが公開されていることだし、やる気さえあれば、いろいろキーバインドを書きかえられると思う。HPR3並みの操作性を持たせてもいい。僕はしないが。



残念なことに、いろいろやっていると、音声読み上げが止まってしまう。英語の文字読みだけは生きているが、他は使えなくなる。このときは、w3m以外のバッファに移動して(C-eのショートカットが使える状態にして)スピーチサーバーの再起動「C-e C-s」を実行すればいい。そして再びw3mのバッファに戻ってくる。





とにかく疲れた。


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