Skip to Content Java Solaris コミュニティ パートナー 開発者 マイ・アカウント ご購入について (0120-33-9096) Japan Worldwide

Feed Feed RSS 1.0 Feed RSS 2.0 Feed ATOM 1.0
Solaris超特急・デスクトップを攻略せよ!(8)Solaris音声編大完結!ソルデベ1/08で愛を叫ぶ
  前号へ     次号へ  
Steps

Javaによる音声認識ソフト「Sphinx-4」は、ソルデベことSolaris Express Developer Editionでゴアヒャアーッと(※1)動いた。おまけに、本来コマンドを打って起動させる必要があるデモプログラムを、NetBeansでチョチョイと操ることができた。これはもう何かチャチャを入れずにオリャリャリェリョーカ。

とロレツがアイドルしているうちにソルデベも2008年1月(ほんとは2月)バージョンアップした。そのアップぶりときたらもう、インストール後の最初のログインで無線LANにつながるなど、これがあのアレでナニだったがそこがまたソレでもあったSolarisだとは信じられないほどの変わりッぷりだ。

11月12月は気持ち悪いほどの暖冬だったが1月2月は凍り付く寒さでプラマイ平年並みでしたと言われても拳を握りしめて笑うしかない今年の冬もいよいよ終わり春本番だと思われる今日このごろ、ワタクシも雨後のタケノコのようにあっちゃこっちゃに入れてあったソルデベを、心機一転全台一斉入替した!これまでのソルデベ音声プロジェクトの敢行環境(ブラックボデーのカッチョいいAthlon6000+マシン「クロ子さん」)も、「ソルデベ9/07+NetBeans5.0」から「ソルデベ1/08+NB6.0」に移行した。

NBは6.0.1が出てるけどいーのッ!それはバリバリとJava(とかRubyとかCとか)開発をする人にドンドンと導入していただくことにして、ここではあーんまJavaとかやりたくないけどまぁーあんまめんどくないならちょっと使ってみるぶんにはいーけどぉーという感じの人を対象にしているので、最初っからメニューに入っているものをそのまま使うのッ。

図1:ソルデベ1/08にバンドルのNetBeans。「PHP特化IDE」なんかもあって面白そうだ!
図1:ソルデベ1/08にバンドルのNetBeans。
「PHP特化IDE」なんかもあって面白そうだ!
図2:なお「開発者ツール」の金のガマグチのようなアイコンは、詳細を調べたらヘルメットだった。
図2:なお「開発者ツール」の金のガマグチのような
アイコンは、詳細を調べたらヘルメットだった。

さて同様に、「sphinx4-1.0beta」の「ソース版」フォルダを「既存のAntプロジェクトを使用するJavaプロジェクト」に取り込んだ。

図3:NB5のAntアイコンは「二足歩行のロボット」みたいだったがNB6になってダニ感が猛烈に高くなった!見ているとかゆくなるので何とかしてほしい!
図3:NB5のAntアイコンは「二足歩行のロボット」みたいだったがNB6になってダニ感が猛烈に高くなった
見ているとかゆくなるので何とかしてほしい!

このように新しい環境でもプロジェクトのビルドやデモプログラムの実行などが以前の環境と同じようにできることを確かめたので、さてカスタマイズの方法はと思ってSphinx-4のホムペに行こうと思ったら新しい環境のブラウザだからブックマークもマッチャラだ。あーURL忘れちったヨ以前の設定フォルダをリストアしなきゃナでもそれよか「Sphinx-4」でググりゃいんだヨ、とそれをしたところ、モノグサ転じて福(※2)というかこんな関連文書が見つかった。

これは、サン様とは「とも」とフリガナのふれる関係にあるともないとも言われるあの大手IT企業さんの開発者用ドキュメントだ!そして歯ごたえのキツそうなタイトルにニワわず、わかりやすく具体的で、本記事ではこれをもとにカスタマイズをやってみた。大手IT企業さんありがとう。共に明るい情報社会を築いて行こうネ。

さて、カスタマイズしようというのが前回やった「HelloWorld」のデモプログラムだ。これはNetBeansの「Files」という画面で、sphinx4project-sphinx4-1.0betaというフォルダの「demo」>「sphinx」>「helloworld」というところにあるのだが、これをいちいち開くのはなかなかめんどくさい。

こういうときにタイヘン便利な画面がある。
ソレはデフォルトでは現れないのだが、メニューバーで「Window」を選んで出てきた項目から選んで表示するようにできる。

ソレは日本語版では「お気に入り」と訳すのが世界の常識になっている。選ぶと「Projects(日本語版では通常『プ....』と表示される)」とか「Files」とタブで切り替える関係になるが、Javaに全く関係なく機能するファイルブラウザなのだ。

最初は自分のホームディレクトリが上がっていて、ノードを開くとJavaに関係あろうがなかろうが(隠し物件以外)ファイルやフォルダが全部表示される。そこで「sphinx4-1.0beta」ファイルをどんどん開いて「helloworld」フォルダに行ったらそこで「Add fo Favorites」、そう「お気に入りに追加」するのだ。

図5:ホームディレクトリ下をどんどん開いていく
図5:ホームディレクトリ下をどんどん開いていく
図6:「helloworld」フォルダを見つけたら「Add to Favorites」を選ぶ。図6は実はすでにお気に入りに追加しちゃったあとだから無効になっている
図6:「helloworld」フォルダを見つけたら
「Add to Favorites」を選ぶ。
図6は実はすでにお気に入りに追加しちゃった
あとだから無効になっている

これで「Home」と並んで「helloworld」フォルダがお気に入りウィンドウに登録されるから、開く手間がタイヘン省ける。ホームディレクトリ以外の場所を登録するには、この画面の適当な場所を右クリックすると、「Add to Favorites」という項目が出てくるのでそれを選ぶと、ファイル参照画面が現れるのでそこから自由に選んで登録する。

図7:「helloworld」フォルダを簡単にみれるようになった。図7ではほかにも「bkp」というフォルダを登録してある
図7:「helloworld」フォルダを簡単にみれるようになった。
図7ではほかにも「bkp」というフォルダを登録してある
図8:画面の右クリックで登録作業を開始することもできる
図8:画面の右クリックで登録作業を
開始することもできる

さてこの「HelloWorld」デモだが、なぜケンとかメリーとか簡単な名前じゃなくて、ビシャモンとかエバンゲとか難しい名前を言わせようとするのだろうか。その秘密は図7にも見える「hello.gram」というファイルだ。

図9のように「お気に入り」画面に表示されているファイルをダブルクリックすると、編集画面にその内容が表示される。もちろん、編集することもできる。

図10:NB6のエディタで開くことができる
図10:NB6のエディタで開くことができる

図10の文法はよくワカンナイ。けど「Good morning」か「Hello」、それから例の五人衆がリストになっていることがわかる。つまり、Sphinxに「Good morningかHello、それからこの5人の名前しか言わないからネ」と教えてやっているというわけだ。

だったら図10を編集して「Noniko」を加えてやれば、「ヘローノニコ」を認識してくれるかというとそれはできない。なぜなら「辞書」にないからだ。

辞書とは、「sphinx4-1.0beta」全体を一度ビルドしないとできない「bld」フォルダの中にあるファイルだ。

「HelloWorld」デモの場合、
sphinx4-1.0beta/bld/models/edu/cmu/sphinx/model/acoustic/WSJ_8gau_13dCep
_16k_40mel_130Hz_6800Hz/dict/

というワソ長い名前のディレクトリ、この中に「ナントカ.dict」みたいな名前のついたファイルが埋まっている。

なぜそんなところにあるのがわかるかというと、「helloworld」パッケージ内にあるファイル「helloworld.config.xml」に書いてあるのだ。

図11:「FIles」画面から掘り出した「dict」フォルダの中身
図11:「FIles」画面から掘り出した
「dict」フォルダの中身
図12:「Favorites」画面で見た「helloworld」フォルダ内のhelloworld.config.xml。このようにウィンドウをかしこく切り替えて便利に使いましょう。
図12:「Favorites」画面で見た「helloworld」
フォルダ内のhelloworld.config.xml。
このようにウィンドウをかしこく切り替えて
便利に使いましょう。
図13:「Favorites」ウィンドウから「helloworldconfg.xml」を開く
図13:「Favorites」ウィンドウから「helloworldconfg.xml」を開く

「The Dictionary configuration」と書いた部分に、使っている辞書ファイルの名前が具体的に指定してある。

リスト1:「使っている辞書の指定」が書いてある
<property name="dictionaryPath"
value="resource:/edu.cmu.sphinx.model.acoustic.WSJ_8gau_13dCep
_16k_40mel_130Hz_6800Hz.Model!/edu/cmu/sphinx/model/acoustic
/WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz/dict/cmudict.0.6d"/>

といってもやたら長い設定でよくわかんないけどッ。とにかく「6800ナントカフォルダ」の「cmudict.0.6d」というファイルだということがわかりゃいーのッ。

図11からその「cmudict.0.6d」というアイコンをつついて中身をあけてみる。すると、「このファイル容量は4MBを超過しているので開くとIDEがアップアップになるかも知れませんがどうしますか」

という警告が出る。心配な人は別途テキストエディタで開いてみよう。ワタシはいいってことヨ止まりゃそれまでどうせ人生一度きり(※3)と思ってそのままNB画面に開けた。フツーにひらいてフツーにスクロールして見れた。

なるほどこのように各語の音節がひとつひとつ指定されているのだ!「AA」まででこんなにある。こりゃあ気の長い文書だ。
かのビシャ、じゃなくて「BHIKSHA」もあった。それも二通りの読み方が指定されている。

だからきっとここに「NONIKO N OW N IH K OW」と登録して、「ヌォウヌィクオゥ」と吹き込んでやればハローノニコと認識してくれるのだろうが、どうせなら辞書ファイル自体をもっと簡単にする。



   ゴアヒャアーッと:スポーツカーが山岳道路を疾走する感じを表している。
   モノグサ転じて福:運不運保存則からすると、このモノグサの本当のツケは近いうちやってくるだろうと予想していたら、やっぱり後日ちょっとモノグサしたせいで250GBの外付けHDDのナカーミが一瞬のうちに殲滅したので妙に納得してしまった。
   人生一度きり:ならもっと大切にしろ。

本記事は、サンのユーザ様自らの体験をお寄せいただいたものであり、サン・マイクロシステムズ社としての公式情報ではありません。


  前号へ     次号へ  
ご意見・ご感想をお聞かせください
この記事は参考になりましたか?
     

コメントがございましたらご記入ください


ページ先頭へ

Sun Fun Times


 

お問い合わせ 会社情報 ニュース 採用情報 プライバシー 利用規定 商標 Copyright  Sun Microsystems, Inc.