|
| Japan Worldwide |
Steps
もう、おなじみの皆さんです その名も「Sphinx」。プロジェクトのURLはココがいいだろう(※1)。
やっぱり相変わらずその名が高級料亭のメニューを思わせるカーネギーメロン大学(CMU)の、「Sphinxグループ」と、やっぱり我らがSun Microsystems Laboratoriesとか、日米の企業や大学が結集したプロジェクト。トップページのデザインもプロっぽい。これは期待できそうだ!
これによるとSphinx-4のビルドとテストは「Solaris(上付TM)オペレーティング環境、Mac OS X, LinuxあとWin32 オペレーティングシステムで」行ったのだそうだ。 リスト1のサイトから下記のダウンロードサイトにたどりつくことができる。
まずはビルド済みパッケージを使ってみよう。ココからsphinx-4.1.0beta-bin.zipをもらってきて、展開するとsphinx4-1.0betaというフォルダになる。これを以後「sphinxフォルダ」と呼ぶことにしよう。 JSAPIの落とし穴 Javaで音声を扱うにはJava Speech APIことJSAPIが必要だ。具体的にそれは何かというとjsapi.jarというジャーが1個だ。 しかし使用者がわざわざ取ってこなくてもよいように、JSAPI使用条件の提示と受諾の是非を問う過程を含む「インストーラ」の形であれば、他のプロジェクトにも含むことは可能だ。それがjsapi.sh(jsapi.exe)だ。 これを実行するためには、まず「実行特性」をつけてやらなければならない。もーGUI馬鹿一代のワタシはすぐ右クリックでヤッてしまう。
あとはこのjsapi.shのアイコンをバシバシとダブクリ(※4)すると、「実行しますか表示しますかエコカード(※5)はお持ちですか」ときかれるので、「端末内で実行」を選ぶのが通だ(※6)。
これで、端末内に、使用条件が表示されるから読んでいけばよいのだが、実はこの作業はきわめて困難であることをワタシは思い知った! サン様のJDKのインストールなんかでも手慣れたこの作業、エエハイハイと改行キーをダラーと押し続けた。いや、もちろん読みながらです。得意の英語力を駆使して流れる文章をよく読みながらダラーと過ごしていたら、この端末ウィンドウがスルッと消えた。 実は、JDKのインストールなんかではもちろんよく読みながら改行キーをダラーと押していけば、「同意しますか(y/n)同意しますか(y/n)同意しますか(y/n)」と何度も聞いてくれるので「おっと終わったかもちろんよく読んではいたんだが気づかなかった」とわかるのだが、このJSAPIはチャンスは一度きり、y以外のキーを押すとモモ別れ(※7)に終わったと見なされ、終了してしまうのだ。 だから慎重に1行ずつ改行を押していく。ちょっと漏らすと、「詳細はサンでネ」と書いてあるところが最後だ!
1回でも改行をシクると、ウナギのように逃げてしまうコレ、どうにかならないかなーとも思ったがまさかどこかのフォーラムにそんな話題を出しても「横着せず1行ずつ噛みしめるように読んで行きなさい」と言われてグーの音もグルの音も出ないだろうから観念して、とにかく同じlibフォルダにjsapi.jarを得た(もし、お手元のファイルブラウザにそれが見えないという場合、「再読込」してみてクダサイ)。 何はなくともデモってみたい 「音声認識」にはたまらなく惹かれるワタクシ、とにかくどんなものなのか今すぐデモってみたい。それにはやはり自己流は避けてインストラクションにダクダクと従い、コマンドでサンプルジャーをジャバしてみることにする。つまり、サンプルプログラムは「sphinxフォルダ」の下の「bin」フォルダに、全てがまとまった実行可能jarファイルの形で収まっているのだ。
その中から「HelloWorld」デモを動かしてみる。おっとその前にマイクスタンバイ! 実行例1 「sphinx4-1.0beta」フォルダの真下で、HelloWorld.jarを実行する
と、やって、運命の改行キーをバーンと押す。すると、
ドキドキ見つめる中二、三秒かかったあと、
つまり、
「フーム、そういうことか!」
と出た。「フーム」という鼻息が音声として受け取られたらしい。 「ちがーうッ」 なんて発音するのかわからない「Bhiksha」と「Evandro」以外全部やってみると、「hello will」が一番当たりを取った。次が「paul」かな。だが、ややもするとすぐに「rita」で返ってきて、てめェ(※8)さてはRitaに惚れてやがんなと思った。あとGood Morningは何回やってもわかってもらえなかった。 もっとわかりやすかったのが、数字を言ってみる「HelloDigits」デモだ。これなら本当に認識されていると確信できる。ただ、「seven」だけがどうしても認識されず、そのつどデタラメくさい数字が返ってくる。自分の発音の弱点がサラケ出ているようで、こんなところを誰かに盗録されて「奥さんこの音声ファイルをインターネットに公開されたくなかったら云々」と脅されたら(※9)19800円くらいなら払ってしまいそうだ。 自分好みのSphinxは作れるか? デモはオッケーだ!だが、ここまで来たからにはゼヒカスタムなプログラムを(なるべく簡単に)(Javaのコードとか変えないで)(ホラこの文字列の部分をちょっと変えるだけでハッカー気分、みたいなノリで)作ってみたいのが人情だ。 まず、カスタムなプログラムを作るにはソースが必要なので、sphinx-4-1.0beta-src.zipをもらってくる。これ、展開するとバイナリ版と同じ名前のフォルダになるので、前のフォルダは移動するか名前を変えておく。 新しくできた「sphinxフォルダ」の下、「lib」フォルダの中で同様にJSAPIをセットアップする。 そしたら、「sphinxフォルダ」の真下にある「build.xml」を使って「ant」でビルドするのだ。 それには、環境変数ANT_HOMEやなんかを設定しておく必要がある。ここでもうワタシは「めんどくせえな」と思ってしまった。 NetBeansでアントかなりませんか NetBeansを使うと、JAVA_HOMEもANT_HOMEも、javaやantへのパスも設定しなくていい。今度も、コレでなんとかできないか、いやNetBeans貴族の名にかけて(※10)絶対してやると思った。
今度は「既存のAntスクリプトを使用するJavaプロジェクト」を作る。
最初に「構築スクリプト」の場所とファイルを選んでくれと言われる。慣れないうちはビックリするかも知れないが、要するに図7にあるbuild.xmlのことだ。だからそれの直属の親フォルダを指定してやればよい。ということは「sphinx4-1.0beta」フォルダそのものだ。
その下にある「プロジェクトの名前と場所」は、NetBeans固有の設定ファイルとかを置いておく場所だから、テキトーな名前で他の場所にしておく。
そのあとはデフォルトのまんまやり過ごす。
最後に、このプロジェクトで編集とかできるソースファイルのあるフォルダがあったら追加しなさい、という。追加するとプロジェクトの中とかで編集とかできたりとかするのだが、今回の「Sphinx-4」はフォルダやファイル同士の依存関係がちょいと複雑で、あのフォルダを指定しないとこのフォルダを参照できない、とかいう不整合がしばしば起きて厄介なので何も指定しないで、「完了」ボタンが見えたところで押してしまう。 できるプロジェクトはなんだかすごく寂しいけどダイジョブ。
本記事は、サンのユーザ様自らの体験をお寄せいただいたものであり、サン・マイクロシステムズ社としての公式情報ではありません。
| Sun Fun Times
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||