2012年12月9日 星期日

Raspberry PiにJuliusを動かしてみた(再び)




今回はRaspberry Piで直接マイクでJuliusを使ってみようと思います


Raspberry PiのデフォルトはAdvanced Linux Sound Architecture(ALSA)を使っているようです。本体をついているサウンドカードはマイクを使えないようです。なので、USBサウンドカードを買いました。買う前RPi VerifiedPeripheralsで確認した。包装でLinux Supportと書いてあるなら多分動けるという気持ちで、MediaTekさんのAudiMax T1を買いました(約1200yen、日本で売っているかどうかわかりませんけど。)


次はJuliusの再インストール。Juliusのデフォルトのマイク入力はOpen Sound System(OSS)で、前コンパイルしたものは使えないらしい。なので、最初から。




1.ALSA Headerをインストール

sudo apt-get install libasound2-dev libesd0-dev libsndfile1-dev

ここで問題が出てきた、あるライブラリが見つからなかった。sudo apt-get updateしたもう一度したら無事終了。


2.Juliusのコンパイルとインストール

sudo make clean
./configure --enable-words-int --with-mictype=alsa
make
sudo make install

3.dictation-kit設定変更、前fast.jconfファイルの中
#-input mic 

-input mic 
に変更、他のinput方法を#に。

4. ALSADEV変数を設定、しないと起動できない。
まずUSBサウンドカードの位置を確認


$  arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


USBサウンドカードの位置は#1 (#0はRaspberry Piのbcm2835らしい), 一番目(#0)のデバイスを使います

export ALSADEV="plughw:1,0"

5.Julius起動してみます

julius -C fast.jconf -charconv EUC-JP UTF-8

すると


STAT: include config: fast.jconf
STAT: jconf successfully finalized
STAT: *** loading AM00 _default
Stat: init_phmm: Reading in HMM definition
Stat: read_binhmm: binary format HMM definition
Stat: read_binhmm: this HMM does not need multipath han
                  :
(略)
----------------------- System Information end -----------------------
*************************************************************
* NOTICE: The first input may not be recognized, since      *
*         no initial CMN parameter is available on startup. *
* for MFCC01*
*************************************************************
Stat: adin_alsa: device name from ALSADEV: "plughw:1,0"
Stat: capture audio at 16000Hz
Stat: adin_alsa: latency set to 32 msec (chunk = 512 bytes)
Stat: "plughw:1,0": Device [USB PnP Sound Device] device USB Audio [USB Audio] subdevice #0
STAT: AD-in thread created
<<< please speak >>>
pass1_best: 今日 は
sentence1:  こんにちは。

やっとできました、が。結構大きい声で出さなければならない。自分の声も低いのせいもあるかな?多分マイク関連の設定を調整するが必要です。


今日はこの辺で。