開発ブログ

第28回 パペロでJulius4.5を実行してみた

投稿日時:2019年11月20日 17:11

こんにちは。ピャペロンです。
今回は現時点で一番新しいバージョンの2019年1月にリリースしたJulius4.5をPaPeRoi向けにクロスコンパイルして実行してみました。
パペロ向けツールチェーンではなく汎用ツールチェーンのLinaro Toolchain(gcc-linaro-7.4.1)を使用します。

目的

PCでJulius4.5をPaPeRoi向けにクロスコンパイルして音声認識ができることを確認する。

今回使用する主なハード

  1. WindowsPC
  2. PaPeRo i 本体

今回使用する主なソフト

  1. Windows 10
  2. Tera Term
  3. WinSCP
  4. gcc-linaro-7.4.1(arm-linux-gnueabi)
  5. VirtualBox
  6. debian-10.1.0
  7. Julius 4.5
  8. Julius記述文法音声認識実行キット
  9. Mery

Debianの仮想環境構築

第26回Linaro Toolchainでクロスコンパイルしてみた参照

ツールチェーン構築

第26回Linaro Toolchainでクロスコンパイルしてみた参照

Julius 4.5クロスコンパイル

Juliusページからソースコード(tar.gz)をダウンロードしてDebianに転送して展開

展開したフォルダに移動

静的リンクでコンパイルする
./configure --host=arm-linux-gnueabi CC=ツールチェーンのクロスコンパイラのパス CFLAGS=-static を実行

make CC=ツールチェーンのクロスコンパイラのパス CFLAGS=-static を実行

音声認識準備

WindowsPCで記述文法音声認識実行キット(grammar-kit-*.*.*.zip)をダウンロードして展開します。

grammar-kit\SampleGrammars\datetimeに移動してutf8というフォルダを新規作成。

.dict .vocaファイルの文字コードがシフトJISでこのままだとパペロで文字化けするのでMery等のエディタでUTF-8に変換してutf8フォルダへ保存します。

.dfa .grammar .termファイルもutf8へコピーします(UTF-8なので変換する必要なし)

grammar-kitフォルダをパペロの/Extensionへ転送します(/tmpへ転送してから/Extensionへ移動させる)

パペロで実行

juliusフォルダをパペロに転送してchmodコマンドで実行ファイル(julius/julius)に実行権限を与える。

grammar-kit/SampleGrammars/datetime/utf8に移動し./juliusのpath -gram datetime -C ../../../hmm_ptm.jconf -input mic -demoを実行する。

2020年7月24日」好きな日付をパペロのマイクに向かってしゃべりかけてみてください。その日付が表示されれば音声認識成功です。CTRL+Cで終了できます。

今回は日付のサンプルでしたがSampleGrammarsには様々なサンプルが用意されているので気になったのがあれば試してみてください。

まとめ

Linaro Toolchain(GCCバージョン7.4.1)でクロスコンパイルしたJulius 4.5は動的リンクではパペロで実行できないが静的リンクでは実行できた。

GCCバージョンが4.5.4のPaPeRo i SDKでは機能が足りないのかコンパイルできなかったので最近のプログラムは一昔前のGCCではコンパイルできない可能性がある。

julius 4.3.1と音声認識能力を比較してみたところ、4.5のほうがより正確に日付を認識できた。

パペロ向けツールチェーンではなく汎用ツールチェーンなので何かしら問題が起こる可能性がある(新しいGCCを使えるので逆にパフォーマンスが上がる可能性も?)


0

最新開発ブログ一覧  (一覧で確認
2020年8月19日 14:08
開発ブログ
第30回 パペロで赤外線アレイセンサを動かしてみよう!【中編:顔の表面温度を測ってみよう】
by 管理者
2020年7月22日 16:07
開発ブログ
第29回 パペロで赤外線アレイセンサを動かしてみよう!【前編:簡易サーモグラフィを作ろう】
by 管理者
2019年11月20日 17:11
開発ブログ
第28回 パペロでJulius4.5を実行してみた
by 管理者
2019年11月13日 09:11
開発ブログ
第27回 JuliusをPaPeRoi向けにクロスコンパイルしてみた
by 管理者
2019年9月19日 17:09
開発ブログ
第26回Linaro Toolchainでクロスコンパイルしてみた
by 管理者

コメントは受け付けていません。