音声認識ソフトであるjuliusをMBAにインストールした。バージョンとしては2013年9月4日現在最新のjulius4.2.3になる。
環境によってたまにハマる場合もあるみたいだけど、基本的にはMacOS 10.8でMountain Lionの場合は
PortAudio入れる
Julius入れる(
--with-mictype=portaudio
する)DictationKit入れる
だけで動くはず。もちろん詳しく使うには自分で辞書データ用意したり色々いじったりする必要あるけど。なんでPortAudioなのかというと、OS X標準のCoreAudioが使えないから(これはもしかしたら解決されてるかもしれない)。そこらへんの話は前のブログ1で書いた。まぁともかく入れば良いし、この分野では(恐らく)枯れてるPortAudio使えばそんなに困らないからそうしてる。
INSTALL
んで、さっそくインストールしていくわけなんだけど、なんだか手順説明するのもおっくうだし、自分でも毎回同じ手順踏むの面倒なのでHomebrewのFormulaにした。
$ brew tap digitalbot/homebrew-acoust
$ brew install julius
で--univarsal
なportaudio
も先に入れてくれるし、肝心のjulius
コマンドがインストールされない問題も解決してくれるパッチも書いて入れた。
juliusコマンドがインストールされない件
- if (j_adin_init(recog) == FALSE) return;
+ if (j_adin_init(recog) == FALSE) return 0;
パッチを見てもらえればわかると思うけど、おそらくmountain lionのデフォルトコンパイラ(llvm-gccだっけ?)がreturn;
で返す値をうまく解釈してくれてないんじゃないかと思う。詳しくはこれから追うけど、ともかくこのパッチを当てると/usr/local/Cellar/julius/4.2.3/bin
以下にjulius
コマンドが入るし、homebrewがうまく/usr/local/bin
にシンボリックリンク貼ってくれる。多分このパッチ当てなくてもgcc
をhomebrew-versions
で別途入れて使うように指定したらうまくいく気もする。
終わりに
今回はじめてhomebrew tap
を作ったし、Formula
も書いた。簡単だったけど良い勉強になった。
juliusは色々と情報が回っててそれぞれがそれぞれのコンパイルオプションやらパッチ当ててる感じあるけど、最低限動く感じだったら今回紹介したもので必要十分だと思う。ちなみに今回迷ったんだけど、DictationKitはhomebrewでのインストールを見送ったので自分でダウンロードしてきて使って欲しい。使用法はDictationKitのディレクトリで(というかfast.jconfを引数で指定して)juliusを実行するだけ。
$ cd dictation-kit-v4.2.3
$ julius -C fast.jconf -charconv EUC-JP UTF-8
何かあったら絶賛プルリクエスト受付中なのでどうぞ。homebrew-acoustでは今後も音響関係のformulaを作っていければなぁと思っている。
追記
- SnowLeopard
- i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
でも今回作成したFormulaでビルド出来た。
しかし、juliusってこれ、一応動いてるし精度悪いながらも音声認識できてるけど、完璧にインストールできてるかわかりづらいな。testが欲しい。
↑こういう記事もあったけど、結局llmv-gccの問題っぽい。パッチもそれ系。