ライブラリ
前回でマイクの設定が終わりました。
ここからはJuliusをインストールについて説明します。
まずは必要なライブラリをインストールします。
$ sudo apt-get install libasound2-dev
Julius
Juliusをインストールして行きましょう。
本体とキットの2つが必要なので、それぞれ次の手順でインストールします。
Julius本体
Julius(ver4.4.2.1)をソースからインストールします。
$HOME直下にjuliusディレクトリを作成して、その中へ移動します。
$ mkdir julius cd julius
Juliusをダウンロードします。バージョンは2018.06時点で最新の4.4.2.1を使用します。
$ wget https://github.com/julius-speech/julius/archive/v4.4.2.1.tar.gz
解凍します。
$ tar xvzf v4.4.2.1.tar.gz
解凍してできたフォルダの中へ移動します。
$ cd julius-4.4.2.1/
コンパイルします。
この時、必ず–with-mictype=alsaオプションをつけてください。
これをつけないと以降の処理で失敗します。
$ ./configure --with-mictype=alsa $ make $ sudo make install
念のためバージョンを確認してみます。
$ julius --version
キット
julius-kitディレクトリを作成し、音声認識用辞書キットと文法認識キットをダウンロード&解凍します。
$ mkdir julius-kit $ cd julius-kit $ sudo wget https://osdn.net/dl/julius/dictation-kit-v4.4.zip $ sudo wget -O grammar-kit-v4.3.1.zip https://github.com/julius-speech/grammar-kit/archive/v4.3.1.zip $ unzip dictation-kit-v4.4.zip $ unzip grammar-kit-v4.3.1.zip
テスト
$HOMEに戻り、テストしてみます。
$ cd $HOME
以下のコマンドを入力し、テストしてみます。
$ julius -C julius/julius-kit/grammar-kit-4.3.1/testmic.jconf -charconv SJIS UTF-8 STAT: include config: julius/julius-kit/grammar-kit-4.3.1/testmic.jconf STAT: include config: julius/julius-kit/grammar-kit-4.3.1/hmm_ptm.jconf STAT: jconf successfully finalized (略) Stat: adin_alsa: device name from ALSADEV: "plughw:1,0" Error: adin_alsa: cannot open PCM device "plughw:1,0" (No such file or directory) failed to begin input stream
((´д`))なんだと…
念のためカードとデバイスを確認してみます。
$ arecord -l **** ハードウェアデバイス CAPTURE のリスト **** カード 0: Device [USB PnP Sound Device], デバイス 0: USB Audio [USB Audio] サブデバイス: 1/1 サブデバイス #0: subdevice #0
( ´・ω・)変わっとるやないか。。。
ALSADEV=”plughw:1,0″としているので認識できないようですので、変更します。
$ sudo vim /etc/profile # 最終行 # export ALSADEV="plughw:1,0" export ALSADEV="plughw:0,0"
再起動します。
$ sudo reboot
再チャレンジしてみます。
$ julius -C julius/julius-kit/grammar-kit-4.3.1/testmic.jconf -charconv SJIS UTF-8 STAT: include config: julius/julius-kit/grammar-kit-4.3.1/testmic.jconf STAT: include config: julius/julius-kit/grammar-kit-4.3.1/hmm_ptm.jconf STAT: jconf successfully finalized (略) Stat: adin_alsa: device name from ALSADEV: "plughw:0,0" Stat: capture audio at 16000Hz Stat: adin_alsa: latency set to 32 msec (chunk = 512 bytes) Stat: "plughw:0,0": Device [USB PnP Sound Device] device USB Audio [USB Audio] subdevice #0 STAT: AD-in thread created <<< please speak >>>
できました!
<<< please speak >>> と入力を促されているので、話しかけてみます。
テストでは「りんご」「みかん」「ぶどう」を認識しますので、やってみます。
STAT: AD-in thread created pass1_best: <s> 蜜柑 です </s> sentence1: <s> 蜜柑 です </s> pass1_best: <s> リンゴ です </s> sentence1: <s> リンゴ です </s> pass1_best: <s> ぶどう です </s> sentence1: <s> ぶどう です </s> <<< please speak >>>
正しく認識しているようです。
ただ、何を話しかけても「りんご」「みかん」「ぶどう」としか認識しませんww
「ピーマン」 → 「りんご」
「あーーー」 → 「みかん」
「ラズパイ」 → 「みかん」
となりましたww
次回はこの認識精度を上げるため、自分用の辞書を作りたいと思います。
あ、上記のテストを終了するにはCTRL+Cを押してください。
以上、お疲れ様でした!
コメント
juliusのインストールのところでmakeをすると
Makefile:56: ターゲット ‘libsent’ のレシピで失敗しました
make: *** [libsent] エラー 1
となってしまいました.
コメントありがとうございます!
こちらの件について最新のjulius4.5で確認しましたが、再現しませんでした。
推測ですが、libasound2-devが正しくインストールされていないのではないかと思います。
1. $ sudo apt-get install libasound2-dev
2. $ ./configure –with-mictype=alsa
3. $ make
でお試しください。
もしダメなようであれば、環境を書いていただけると助かります。