2012年12月13日 星期四

OSX 10.8にJuliusをインストールしてみた

Raspberry PiでJuliusの処理に時間がかかったな〜と思って、今回はOSXもJuliusをインストールしてみます。モジュールモードで行こうと思っています。流れはこの感じ:

                   Mac OSX(サーバー)               |               Raspberry Pi(クライアント)
マイク >> Julius  module mode   --ネットワーク-> jcontrol   -> GPIOコントロール


OSXでのJuliusインストールは、多分半年前もこういうことをやっていて、かなり面倒だったという記憶が思い出した。今回はtanB氏julius 4.1.4 on OSX 10.6.2 (snow leopard) 入れましたを参考させていただきました。インストールしたのはJulius v4.2.2です。前より簡単になったことに気がする。





まずはPortAudio、OSX 10.8にpa_stable_v19_20111121.tgzをインストールしたが、エラーが出てきたので、代わりにpa_snapshot.tgz( 13-Dec-2012 01:23:07 UTC)をコンパイルしてインストールしました。いまのところ、問題とかありません。

tar zxvf pa_snapshot.tar
cd portaudio
env CFLAGS='-arch i386' ./configure
make
sudo make install

libsndfileは問題があります。Carbon.hが見つからないというエラーが何回も出てきた。ネットでいろいろ調べて試してみたが、同じ結果です。最後にsnapshot版を使いました。
(でもlibsndfileをインストールしなくてもJuliusが使えるという意見が出てきた...)

最後にjulius + dictation Kit


tar zxvf dictation-kit-v4.1.tar
tar zxvf julius-4.2.2.tar
cd julius-4.2.2
env CFLAGS='-arch i386'
./configure --enable-words-int --with-mictype=portaudio --disable-zlib
make
sudo make install


起動:
cd ../dictation-kit-v4.1
julius -C fast.jconf -charconv EUC-JP UTF-8 -module



すると
Stat: server-client: socket ready as server
///////////////////////////////
///  Module mode ready
///  waiting client at 10500
///////////////////////////////



あとはRaspberry Piの部分
 jcontrol 192.168.0.4  <-  サーバーのIP


これで完成、早速試してみた

サーバー(Mac OSX 10.8)

(音声)こんにちは


クライアント(Raspbery Pi)


connecting to 192.168.0.4:10500...done
> <STARTPROC/>
> <INPUT STATUS="LISTEN" TIME="1355412353"/>
> <INPUT STATUS="STARTREC" TIME="1355412356"/>
> <STARTRECOG/>
> <INPUT STATUS="ENDREC" TIME="1355412357"/>
> <ENDRECOG/>
> <INPUTPARAM FRAMES="159" MSEC="1590"/>
> <RECOGOUT>
>   <SHYPO RANK="1" SCORE="-3927.731445">
>     <WHYPO WORD="" CLASSID="<s>" PHONE="silB" CM="0.830"/>
>     <WHYPO WORD="こんにちは" CLASSID="こんにちは:コンニチワ:こんにちは:3" PHONE="k o N n i ch i w a" CM="0.465"/>
>     <WHYPO WORD="。" CLASSID="。:。:。:8" PHONE="sp" CM="0.564"/>
>     <WHYPO WORD="" CLASSID="</s>" PHONE="silE" CM="1.000"/>
>   </SHYPO>
> </RECOGOUT>
> <INPUT STATUS="LISTEN" TIME="1355412357"/>
以上です。

大きい声でもjuliusなにも動いていない問題がやっと解決、juliusを起動するときに
julius -C fast.jconf -charconv EUC-JP UTF-8 -module -lv 1000 (デフォルトは3000)
そうすれば小さい声でもちゃんと動ける。