Julianで音声コマンダ for Squeak(linux)
Juliusという音声認識ソフトウェアを使ってSqueakで遊ぶための準備をメモる。対象は単語なのでjulianである。
コンパイル
./configure --enable-julian make
./configure --with-mictype=alsa --enable-julian make
Ubuntu 6.10でOSS版にて動かそうと,2日程苦労したが、サウンドレコーダから音量調整ツールを開いて、デバイスの変更で'OSS Mixer'を選択したらうまくマイク入力ができた。
単語認識の準備
grammarファイル(.grammer)ファイルの作成
http://julius.sourceforge.jp/grammar.html を参考にgrammarファイル(.grammer)ファイルを作成する。
S : NS_B TARGET OP NS_E # ターゲット TARGET : APPLI TARGET : OBJECT # 動作(OP) OP : OPEN OP : MOVE_UP OP : MOVE_DOWN OP : MOVE_LEFT OP : MOVE_DOWN
vocaファイル(.voca)ファイルの作成
ひらがなから音素列表記へ変換する perl スクリプト "yomi2voca.pl"はEUC-JPなのでUbuntu標準UTF-8では正しく動かないので、"yomi2voca.pl"をUTF-8で保存して動かす。
../julian-kit-v3.1/bin/yomi2voca-utf.pl < Smalltalk.pre.voca > Smalltalk.voca
vocaファイルの例
% APPLI Workspace わーくすぺーす Browser ぶらうざ % OBJECT EYE_LEFT ひだりめ EYE_RIGHT みぎめ NOSE はな MOUTH くち EYEBROW_LEFT ひだりまゆげ EYEBROW_RIGHT みぎまゆげ % OPEN open おーぷん % MOVE_UP up うえ % MOVE_DOWN down した % MOVE_LEFT left ひだり % MOVE_RIGHT right みぎ % NS_B <s> silB % NS_E </s> silE
Julian形式への変換
../julian-kit-v3.1/bin/mkdfa.pl Smalltalk Smalltalk.grammar has 8 rules Smalltalk.voca has 9 categories and 15 words --- Now parsing grammar file Now modifying grammar to minimize states[-1] Now parsing vocabulary file Now making nondeterministic finite automaton[5/5] Now making deterministic finite automaton[5/5] Now making triplet list[5/5] --- -rw-r--r-- 1 kawa90 kawa90 102 2007-01-02 00:52 Smalltalk.dfa -rw-r--r-- 1 kawa90 kawa90 345 2007-01-02 00:52 Smalltalk.dict -rw-r--r-- 1 kawa90 kawa90 85 2007-01-02 00:52 Smalltalk.term