Juliusはオープンソースの汎用大語彙連続音声認識エンジン。
バージョン4からJulianと統合。
2011年12月にバージョン 4.2.1 がリリースされた。
2013年6月にバージョン 4.2.3 がリリースされた。
since 2012-03-22
ネットで見つけた情報:
ルールベースの juliusと精度 - お前の血は何色だ!! 4 http://bit.ly/GKkt53
ルールベースjuliusの誤認識対策にSVMを利用してみよう - お前の血は何色だ!! 4 http://bit.ly/GM10vc
OLL によるオンライン学習を試してみた - 凹みTips http://bit.ly/GFghmB
Juliusの認識結果をOLLでオンライン学習させてみたら結構良かった - 凹みTips http://bit.ly/GERL1H
rti7743/rtilabs · GitHub https://github.com/rti7743/rtilabs/tree/master/files/asobiba/juliustest
日経Linux 2012年5月号「Linuxで家電を自由に操る」
since 2011-10-12
http://en.nishimotz.com/julius に書いたが、PortAudio を使えば MacOSX (i386) で動く。
#http://julius.sourceforge.jp/index.php?q=newjulius.html cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/julius co julius4 #cvs update -Pd
http://julius.sourceforge.jp/juliusbook/ja/desc_vad.html#id2532814
デコーダに基づく VAD は,デフォルトでは無効化されており, 使用するにはコンパイル時に configure オプションで --enable-decoder-vad を指定し, 実行時に -spsegmentを指定する. sudo apt-get install cvs flex libdb-dev cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/julius co julius4 cd julius4 sh configure --enable-decoder-vad
モジュールモード で利用可能。 コールバックそのものは demo モードで使われている。 後述のように libjulius で progout 相当の情報を取り出せる。
モジュールモードの出力を受け取るラッパーを作った。
Windows で動作確認。サーバとして dictation-kit-v3.2-win を使用。
内部処理はUTF-8で行う。出力をDOMパーザで処理する。
ディクテーションの場合は <s> などの記号が属性値に含まれるため、<s> などに置換している。
Julian および 4.x 系での検証、Linux での確認はこれから。
主な仕様
未解決の問題
ソースはこちら private gist : https://gist.github.com/9f927195fa3df2228160
認識対象とする音声を wav ファイルで保存するオプション。
julius -record (DIR)
ディレクトリ DIR の中に YYYY.MMDD.HHMMSS.wav という形式のファイルを作る。
Ubuntu 9.04 (i386 vmware) で julius-4.1.5.tar.gz を。
$ tar xvfz julius-4.1.5.tar.gz $ cd julius-4.1.5 $ sudo aptitude install flex $ sh configure $ make $ sudo mkdir /usr/local/share/man # これをやらないと make install で /usr/local/man に書き込みができない $ sudo checkinstall make install
Ubuntu には libjulius-dev というパッケージがあるようだが、ここでは /usr/local に julius-4.1.5 を make install した上記の作業のつづき。
src に含まれているサンプルプログラムを別の場所に移動して作業のベースにする。
$ cp -a julius-simple ../ $ cd ../julius-simple
このままだと隣のディレクトリの中身に依存しているので、 /usr/local に make install したファイルを参照するように Makefile の最初の2行を変える
LIBSENT=/usr/local/bin LIBJULIUS=/usr/local/bin # あるいは下記を有効にする # CPPFLAGS=`libjulius-config --cflags` `libsent-config --cflags` # LDFLAGS=`libjulius-config --libs` `libsent-config --libs`
これで make できる。
galatea のエンジンに同梱されているモデルで動かす。 dialogstudioのエンジン(galatea-engine)が必要。
# julius.conf -dfa /usr/local/galatea-engine/SRM/GramJulian/vfr/vfr.dfa -v /usr/local/galatea-engine/SRM/GramJulian/vfr/vfr.dict -gmmreject "noise,laugh,cough" -gmm /usr/local/galatea-engine/SRM/AcousticModel/gmmdefs.binhmm -hlist /usr/local/galatea-engine/SRM/AcousticModel/logicalTri -h /usr/local/galatea-engine/SRM/AcousticModel/hmmdefs,ptm,gid.binhmm -input alsa
これで julius-simple -C julius.conf すれば動くはず。
$ sudo aptitude install libasound2-dev zlib1g-dev
C++ でコンパイルできるようにして、gram.txt から rake で文法をコンパイルできるようにした。 dialogstudio の GrammarMaker 機能を使っている。
Voice Launcher - マイク音声によってアプリケーションを起動する音声認識型 アプリケーション起動ソフト Adobe AIR との連携