[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: エンジンの選択
- To: bep@argv.org
- Subject: Re[2]: エンジンの選択
- From: Takayuki Watanabe <takayuki@la.shonan-it.ac.jp>
- Date: Wed, 19 Jul 2000 22:35:04 +0900
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
渡辺@湘南工科大です。
中村さんの質問の意味がよくわかっていないかもしれませんが、私の答えを
書きます。誤解があったらお許しください。又私の文章力のなさから誤解を
招く部分があったらそれもお許しください。
日曜日にお目にかかるのを楽しみにしております。
On Wed, 19 Jul 2000 20:58:08 +0900, Noritsugu Nakamura wrote:
> > > なぜ SAPI でないといけないのか、
> >
> > だって、今のスピーチサーバがSAPIだからです。SAPIであることが前提で
> > コーディングされていますから。その中にそれ以外の形式の
> > エンジンを入れると言うことは、機能的に最大公約数を取る必要があり、
> > 世界的にもSAPI以外の音声ではめんどうですよね。
>
> 確かに開発側から考えればそうですね、納得です。
> 私も今いきなり95Rederに対応した方が良いとは思っていません。
>
> だけど、利用者からしたらな…という素朴な疑問があったもので。
> MMエディタは色々な音声エンジンに対応しています。
> あれは、サーバーでないから話は違うと思いますが。
MMエディタのように色々なエンジンに対応できれば良いなと思っています。
あちらができていてこちらがまだできていないのは、作者の力量の違いです
ね。力量のある方が参加してくださると嬉しいのですが。
> あと、残念ながら、SAPI って難しくて私には理解できませんでした。
> 95Reder の関数なら簡単に呼び出せるのですが…。
95Readerの関数は調べたことがないのでよくわかりませんが、SAPIも流儀を
覚えればそんなに難しくはないと思います。SDKのソースを読みながら
マニュアルを調べるのがよいと思います。
「ソースを使え」(スターウォーズの「フォースを使え」のもじり)です。
> 状況を良く分かっていないのではずしているかもしれませんが、
> 外から見ていると「なぜ音声エンジンに、ここまでこだわっているのか?」
> と感じています。
>
こだわっていないと思うのですが...
エンジンの選択を問題にしたのは、
・なるべくフリーな形で配布したいからエンジンの配布条件を確認せねば
ならない。
・入手しやすいエンジンが望ましい。
・レスポンスが良いエンジンが望ましい。
・Speak.exeで使えるエンジンが必要。
だからです。
それとテクニカルな興味でいろいろなエンジンの話が出ていることはあると
思います。
> というか、正確に言うと、音声エンジン部分は視覚障害とか
> そういうことに関係なくみんなが欲しい部分だと思うので、
> bep で閉じて開発することがベストではない気もしています。
中村さんがおっしゃっているのは「音声エンジン」というより「スピーチサー
バー」ですよね? フリーな音声エンジンを開発できればよいけど、企業が協
力してくれるか、大学の共同プロジェクトでもないと開発できないのでは
ないかな。
BEPが閉じているとは決して思っていないのだけど、そう見えるのかな?
Windows用のアルファ版ができたらあちこちにアナウンスするつもりですけど
ね。早めのリリースがだいじですからね。
ただ、安定して動くものがない段階でアナウンスしても、真剣に参加する人
は少ないと思います。
CVSでソースが公開されいているBEP内でさえ、Windows版のスピーチサーバー
のソースに手を入れる人は私のほかにいないでしょう?
それとBilingual Emacspeakは、Emacspeak部、スピーチサーバー部とも決し
て小さくないので、全体を理解するには気合いが必要です。解説書などどこ
にもありませんから、オープンソースプロジェクトの正しい参加方法は「ソー
スを読め」です。ソースを読んで、自分で何か書いてみることが大事です。
私もかなり読んだつもりですが、まだまだ理解できていない部分があります。
それとBEPのスピーチサーバーの大きな特徴は、DECTalk Expressとの互換性
を考えているということです。Bilingual EmacspeakはEmacspeakの
Multilingual拡張ですから、スピーチサーバーもEmacspeakが使うスピーチサー
バーであるDECTalk Expressを拡張した形になります。その点で他のスクリー
ンリーダとは大きく異なります。DECTalkは極めて高機能な音声合成装置です
ので、DECTalk互換にすることで損なわれる機能はないのではないかと思いま
す。Emacspeakを調べるとわかりますが、Emacspeakの使いやすさは、
DECTalkの高機能に負っている部分が多いと思います。
# 何といっても "DEC"Talkですからね。ブランド品です。
BEPはクライアントとサーバーが分離していますので、コマンドを理解すれば、
Windows版のスピーチサーバーをスクリーンリーダーなどの他のスピーチシス
テムからも利用できると思います。
> bep はオープンかもしれませんが、知名度は高いかというと
> 決してYesではないような気がしますし。
知名度は高くないでしょうね。BEPの原点は、Emacsが好きな人が集まって、
Emacspeakを自分達が使いやすい形で利用できるようにしようというところに
あります。ですから初期段階では、Emacsを知らない人までは視野に入ってい
ません。まずは ARGVのメンバーが使えるものを作り、その次にARGV以外の人
々も利用できるようにしていきたいと思っています。そういう意味ではクロー
ズドなのかな。
実はこの「Emacsが好きな人」という部分がBEPのキーポイントだったりしま
す。Emacsに惚れた人でなければBilingual Emacspeakを使いたいと思わない
かもしれません。そういう意味でBEPの本命はLinux版です。Windows版も開発
しているのは、歴史的経緯と、WindowsにはSAPIや音声認識やAgentや
ActiveXなど面白いものが色々あるので、Bilingual Emacsepakをそれと組み
合わせてマルチモーダルでインテリジェントなユーザーインターフェースに
発展させることができるのではないかと思っているからです。
それとBEPで実際にコードを書いているのは、Windows版とLinux版を合わせて
も2人しかいません。一人はプログラムのプロではないし、もう一人は会社員
ですから、歩みが遅いということもあるかもしれません。少しでもペースを
上げるために、小出さんの力を借りたり、人のソースを利用したりしている
わけで、ペースを上げるために頭を使って努力しているつもりですが...
> 良く分かっていない点がたくさんあるので書いておくと、
> 以下のようになります。
はい、遠慮せずになんでも質問してください。
こういう質問は私にとっても役に立つのです。論文に使えるしね。
> o 日本語と英語が混ざっていてもOKな素晴らしい音声
> エンジンを始めから必要としているのか?
> (最終的には欲しいが)
これは私がこだわっている点です。研究者としては、オリジナルで独創性が
あるものを作る必要があります。コンテキストに応じた多彩な声を持つ2ヶ国
語の音声システムはBEPが初めてだと思います。
それに実際にEmacsを使うとなると、infoなど英語の情報が非常に多いです。
日本語エンジンで英語を読み上げると聞くに堪えないと思いますよ。
> o Meadow に音声エンジンを直接リンクしちゃダメなの?
> 音声 Lisp 関数を作成して使用するとか
これは良くない設計だと思います。それにMeadowは基本的にコンソールアプ
リケーションで、SAPIはウインドウアプリケーションですから、水と油の関
係にあります。活性剤の役目をする層をActivePerlか何かで実装することも
可能かもしれませんが、筋が悪い設計だと思います。
それにMeadowと直接結びつく形にしてしまうと元祖Emacspeakとの互換性が失
われてしまい、半年ごとにバージョンアップするEmacspeakに対応するのが大
変です。オブジェクト指向の話では有りませんが、独立した機能を持つもの
は切り分けて独立させることが重要です。
音声Lisp関数をCで書くのはそれなりに大変ですよ。それに私はGNUに敬意を
払っていますから、特定のプラットフォームでしか実行できないものをLisp
に混入させたくありません。もし音声Lisp関数を作るのだったら、 Lispの実
体はプラットホーム非依存の抽象化した機能を呼び出して、プラットフォー
ム依存の部分は別に書いておくべきかなと思います。でも私の力では無理な
仕事です。
又複数のエンジンを強調させるためには、全体を管理する部分が必要だと思
います。
> o 結局 emacspeak を使おうとすると、SAPI が良いという
> 話なんでしょうか?
> emacspeak ってどういう構造か全く分かっていないのですが。
Bilingual Emacspeakについては
http://www.shonan-it.ac.jp/each_science/info/nabeken/data/2ndWIT/
Emacspeakについては、
http://www.argv.org/bep/emacspeak.html
http://emacspeak.sourceforge.net/ (公式Webサイト)
http://leb.net/blinux/emacspeak_intro.html (イントロダクション)
http://leb.net/blinux/emacspeak_voices.html (ユーザーの声、必聴です)
をご覧下さい。
解説ページを作るつもりで少し準備はしていますが、
Emacspeaskの構造を理解するにはソースを読むのが王道です。
使い方を理解するなら、Emacspeak.texi がとてもわかりやすいです。infoで
読めます。印刷すると40ページ弱のボリュームです。
Windows版がSAPIを使っているのは、SAPIがMicorosoftが用意した標準インター
フェースだからです。できるだけ標準を使うことが大事です。SAPIを使って
いれば、多言語に拡張しやすくなります。今後出てくる新しいエンジンをす
ぐに使うこともできます。
ただ、95Readerのエンジンはレスポンスが良いので、いつか取り入れたいと
思ってはいます。そしてどなたかが Speak.exeのソースを見て、リコーのエ
ンジンに対応した部分を書いてくださると嬉しいです。そのために全体の変
更が必要ならば、相談しながら変えていくことやぶさかではありません。
以上、お答えになりましたでしょうか?
知識不足による思い込みや思い違いがあったらご指摘ください。
これからも、利用者の立場、BEPの少し外から見ている立場からのご意見や注
文をしてください。できるだけ反映させていきたいと思っています。
「目玉の数さえ十分あれば、どんなバグも深刻ではない。」
(伽藍とバザール、Eric S. Raymond、山形浩生訳)