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

Feed Feed RSS 1.0 Feed RSS 2.0 Feed ATOM 1.0
Solaris超特急・デスクトップを攻略せよ!(7)いつまで続くSolarisで音声編!ワタシの言うことワカリマスカSolaris君?Sphinx-4で音声認識大作戦、えッNetBeansにそんな使い方を!?
Steps

まず、このソースの状態のまんまプロジェクト全体をビルドする。それには、このプロジェクトに一個だけ見えているこの「build.xml」を右クリックする。メニューが出たら「ターゲット実行」さらに「all」を選ぶ。

すると、NetBeansの下側にある「出力」ウィンドウに、このビルドのメッセージがゲロゲロと吐き出される。最初は全てのソースをビルドするので、17秒もかかっていたが問題なくサクセース。

図16:ターゲット実行でall
図16:ターゲット実行でall
図17:ビルドの様子が出力される
図17:ビルドの様子が出力される

さてビルドの結果何がどうなっているのか、それを見るには、図16のようなプロジェクトが表示されていて人によってはタブに「プ...」と書いてあるウィンドウから、タブを「ファイル」に切り替える。

すると、このプロジェクトに関係するフォルダをセキララ(※11)に見ることができる。

図18:「プ...」はプロジェクトの「プ...」
図18:「プ...」はプロジェクトの「プ...」
図19:「sphinx4-1.0beta」フォルダが表示されている
図19:「sphinx4-1.0beta」フォルダが表示されている

でも、これは「Javaのプロジェクト」としての管理ではなく、ただのファイル一覧だから、依存がッ!参照ギャッ!パッケージ名グヘァッ!というようないちいちチェックにひっかからない。

NetBeansの決まりに合わないフォルダ構造をしているプロジェクトを研究するには、こっちのほうがやりやすいというワケなのだ。

そこであらためて「sphinxフォルダ」こと「sphinx4-1.0beta」フォルダを開けてみると、今までなかった「bin」や「bld」などのフォルダができているのがわかる。

さてビルドはできた。でもどうせだったら全部、NetBeansからやりたい。さてNetBeans上からデモのHelloWorldを実行できるのか?
「bin」フォルダには確かに「HelloWorld.jar」などが見えるが、これにNetBeansから手をつけるのはちょと無理だ(※12)

しょうがないからこうする。まず、この「bin」フォルダを「ちッ、コイツらには手が出ねぇか」と言いながら閉じる。そして、同じ画面内で「HelloWorld」のソース一式が入っているフォルダに行くのだ。「demo」フォルダを開けてさらに「sphinx」と開けると「helloworld」フォルダがあって、それを開けるとHelloWorld.javaなどのソースファイルがある。
そこに人はもうひとつ「build.xml」というファイルの存在を見るッ!

図21:デモの「jar」ファイル群が見えるが、見えるだけ
図21:デモの「jar」ファイル群が見えるが、
見えるだけ
図22:各デモプログラムのソースにも「build.xml」がある
図22:各デモプログラムのソースにも
「build.xml」がある

だからこのそれぞれの「子build.xml」を右クリックして、「run」を選んでやりゃあいいってもんだ。

図23:「子build.xml」を「子run」
図23:「子build.xml」を「子run」

じゃあ、実行例1で打ってた「-mx256m」てオプションはどうするの?かというと、コレは「最大のヒープサイズ」つまりメモリの取り分みたいなもんだ。

子build.xmlを見てみよう。アイコンをダブルクリックすれば、編集画面にその内容が表示されるのだが、ちょっとした工夫がある。「-mx...」なんてのは実行オプションだから、ビルドファイルの中でも「実行」に関係するに違いない、ということで特に「run」に関係する部分(ターゲット)の記述を出せィ、と項目を選んで開かしてやる。

と、イッパツで「run」の部分が現れる。ホーラ「maxmemory」という設定があって、「128m」になっている。きっとプログラムが動くキチキチ条件なんだろうから、ここを「256m」に直してやることにする。

図24:子build.xmlの中の「run」ターゲットを選んで開く
図24:子build.xmlの中の
「run」ターゲットを選んで開く
図25:「maxmerory」の設定を増やしておく
図25:「maxmerory」の設定を増やしておく

これで図24のようにrunすれば、下の出力ウィンドウに「言ってみろ」というメッセージが現れる。しゃべるとちゃんと反応するが、図26はなんか調子が悪くて、「paul」と何度言っても「will」と解釈された。だったら「will」はどうかと言ってみたら「evandro」と解釈されて読めねぇモンがゆえるかゴルァと思った。

このプログラム、「Ctrl-C」を押さないと終わらないが、さすがに効かないのでそういうときは裏に回って落とす。裏とはつまり「プ...」とか「ファイル」とかを選ぶタブでさらに「実行時」てのを選ぶ。
「プロセス」ノードを開くと「The hello world demo.(run)(※13)」てのがあるので、コイツを右クリして「プロセスを終了」を選ぶ。

図26:エバンゲ...なら知ってるけど
図26:エバンゲ...なら知ってるけど
図27:終わらないプログラムを裏から落とす
図27:終わらないプログラムを
裏から落とす

すると強制終了だから出力画面にはエラーメッセージがゲボガボ(※14)と現れるが気にしない。

とにかくこれで、Sphinx-4をNetBeansで仕切れるようになった。またもJavaコードは一字たりとも書かなかったし、プロジェクトの実行だの設定だのも手をつけなかった。なんか最近NetBeansでJava開発を「しない」方法ばかり紹介しているような気がするな....
そこで(※15)次回はこのハニワ、じゃなくてそういう感じのアレに俺の言葉を覚えさす方法にチャレンジで次回こそ「Solaris音声編」完結だッ!次回はソルデベもNetBeansも新しくするからゴメンネ。


ページ1 [1]
ページ2 [2]
ページ3 [3]
ページ4 [4]
    



  セキララ:カタカナで書くとキラキラとかラララでステキな感じがする。
   ちょと無理だ:NetBeans3.6のときはこのJarのアイコンをチョロっと右クリックして「実行」ってやれたんだけどネー。なんでか最近この機能なくなっちゃったのよネー。
   The hello world demo.:最後に「ドット(.)」がついているので、「モーナントカ娘。」のように、「ザ、ハローワールド、デモォー」と語尾上げで読むことが必要だ(たぶん)。
   ゲボガボ:マホービンの蓋押してる最中にお湯が出尽くしてしまったときのあの音を想像してください。
   そこで:前のボヤキからいさぎよく気持ちを切り替えている。

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


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

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


ページ先頭へ

Sun Fun Times


 

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