巨人の肩の上に登る

先人の積み重ねた発見に基づいて、なにかを発見しようとすることを指す。

Mavericksで音声認識Juliusを試してみる

Mac OS X Mavericks 10.9 で,大語彙連続音声認識エンジン Julius を試してみる.

PortAudio のインストール

文字通り,Audio系のライブラリです.

PortAudio - an Open-Source Cross-Platform Audio APIから,pa_stable_v19_20111121.tgz をダウンロードする.

$ tar -xzf pa_stable_v19_20111121.tgz
$ cd portaudio
$ env CFLAGS='-arch i386' LDFLAGS='-arch i386' ./configure --disable-mac-universal

次に以下の操作を行います。

  1. Makefile の CFLAGS から -Werror を削除
  2. include/pa_mac_core.h で次のような変更を行う
- #include <AudioUnit/AudioUnit.h>
- //#include <AudioToolbox/AudioToolbox.h>
+ #include <CoreAudio/CoreAudio.h>

最後にinstallする.

$ make
$ sudo make install


Julius のインストール

julius-4.2.3.tar.gz

$ tar -xzf julius-4.2.3.tar.gz
$ cd julius-4.2.3
$ env CFLAGS='-O3 -arch i386' LDFLAGS='-arch i386' ./configure --enable-words-int --with-mictype=portaudio

julius-4.2.3/julius/main.c の 197行目を下記のように編集.

- if (j_adin_init(recog) == FALSE) return;
+ if (j_adin_init(recog) == FALSE) return -1;
$ make
$ sudo make install


ディクテーションキットのインストール

dictation-kit-v4.2.3.tar.gz

$ tar -xzf dictation-kit-v4.2.3.tar.gz 


実行してみる

-charconv でエンコードを指定するのですが,utf8を指定すると次のような Error を吐きます.

Error: charconv_libjcode: only "sjis", "euc-jp" and "jis" can be used with libjcode.

仕方なく,"euc-jp" で試してみる(※文字化けする場合は,端末のエンコーディングを合わして下さい). 詳しくは,付録 B. オプション一覧 を参照されたい.

$ cd dictation-kit-v4.2.3
$ julius -C fast.jconf -charconv euc-jp euc-jp
...
<<< please speak >>>
# ここで”音声認識”と発音
pass1_best:  音声認識
sentence1:  音声認識 。


関連記事