[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

WindowsでAU形式のauditory-iconが鳴りました



渡辺@湘南工科大です。

ふー、ついに AUのままで auditory-iconが鳴るようになりました。
ただし、残念ながらあいかわらずレスポンスが悪いです。それといちいちウ
インドウが開くので煩わしいのと、EMacspeakの音声の質が悪くなるようです。
使い物にならない...

試して見たい方は、
・ emacspeak-sound.el はオリジナルのままでよい。
  つまり、もし .au を .wav に置換していたら元の .au に戻す。

・ .emacsで以下のようにしてemacspeakを立ち上げる

(progn (defvar dtk-speech-rate-step 20)
  (setenv "EMACSPEAK_PLAY_PROGRAM" "c:/bin/maplay/mp2win5.exe")
; このmp2win5.exe のパスは適当に書き換えてください。
  (setenv "DTK_TCL" "speak")
  (define-process-argument-editing
     "c:/.*/mp2win5\\.exe\\'"  ; ここは書き換えなくても大丈夫
      (lambda (x) 
        (general-process-argument-editing-function x nil t t nil t t)))
  (load-file
    "c:/usr/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.el"))

注; mp2win5.exe は Webで見つけた AU再生ソフトです。URLは
http://www-inst.eecs.berkeley.edu/~ctsay/mp2win32.html です。
インストールシールド付きのパッケージは以下のURLにあります。
http://www-inst.eecs.berkeley.edu/~ctsay/mp2win/mpw1A-5.zip

  define-process-argument-editing は、mp2win5にパス付きのファイル名を
正しく渡すための設定です。これはWindows特有の設定で、これに気付くのに
時間がかかりました。

これで C-e C-a でauditory-icon が鳴ります。

このmaplay はもともと MPEG再生ソフトで、ActiveMovieオブジェクトを使っ
て AU を鳴らしています。つまり、VBと同じコントロールを使っています。

レスポンスが良くなることを期待して、明日は VC++で ActiveMovieコントロー
ルを使ったプログラムを書くことに挑戦してみます。

Windows版でレスポンスを良くするためには、/dev/dsp の代わりに専用のプ
ロセスを常時立ち上げておいて、そのプロセスの標準入力にファイル名を渡
してやるべきなのかな。