7
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jetson Nanoで日本語音声認識をしてみた

Last updated at Posted at 2019-08-02

はじめに

音声認識OSSのJuliusをJetson Nano上で動かした時のメモです。分野に関して初心者ですので間違えている所がありましたらコメントいただけますと嬉しいです。

今回使用したマイク

・USBヘッドセット
ちょうど手元にあったこちらを使用しました。
エレコム ヘッドセット HS-NB05USV
https://www.amazon.co.jp/dp/B00M8VCL2Y

Juliusのインストール

大きな流れはGithubのクイックラン通りです。

モジュールのインストール

まず、Juliusのコンパイルに必要なものをインストールします。

$ sudo apt install build-essential zlib1g-dev libsdl2-dev libasound2-dev git-lfs

git-lfsはJuliusのJapanese Dictation-kitのインストール時に必要です。ここで先にインストールしておきます。

ソースコードのクローン

$ git clone https://github.com/julius-speech/julius.git

config.guessとconfig.subの更新

このままコンパイルと行きたいですが、このままだとmakeでエラーが起きます。これはconfig.guessconfig.subのバージョンが古いため起きるようです。先に進む前に、各フォルダ内にあるconfig.guessconfig.subを新しいものに置き換えます。フォルダは
・/home/julius/adintool
・/home/julius/jcontrol
・/home/julius/support
・/home/julius/msvc/Library_PortAudio/src
・/home/julius/msvc/Library_PortAudio/src/bindings/cpp/build/gnu
の5つです。この中のconfig.guessconfig.subを下のURLから持ってきたコードに上書き、もしくは置き換えをします。

config.guess
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
config.sub
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub

インストールの続き

置き換えが終わったら続きをします。

$ cd julius
$ ./configure --enable-words-int
$ make -j4

少し時間がかかりますが、問題がなければJulius本体のインストールが完了します。次のコマンドで同じような出力が返ってくるか確認してください。

$ ls -l julius/julius 
-rwxr-xr-x 1 hoge hoge 746056 8月 1 13:01 julius/julius

Julius Japanese Dictation-kitのインストール

こちらのインストール後に日本語音声認識ができるようになります。

git-lfsのインストールコマンドの実行

Githubからのクローン前に、一度juliusフォルダ内でこのコードを実行します。

$ git lfs install

ソースコードのクローン

次にDictation kitのクローンを行います。Dictation-kitだけで2.2GBぐらいします。クローン後に確認してみてください。

$ git clone https://github.com/julius-speech/dictation-kit.git

これでインストール作業が終わりました。お疲れ様でした。

音声認識のテスト

USBマイクの割り当て番号の確認

インストールが終わり、さっそくマイクに声を入力して出力結果を出してみたいと思います。まず、USBマイクのカードNo.とデバイスNo.を確認します。

$ arecord -l

こんな出力が出ると思います。

card 3: Device [USB PnP Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

上の場合、カードNo.は3、デバイスNo.は0になります。確認出来たら.profile

.profile
export ALSADEV="plughw:3,0"

のように書き込みます。なお、このNo.はUSBの抜き差しなどで変わる場合がありますので、もしエラーが起きた時はもう一度確認しなおして.profileを書き直してください。

音声認識のテスト

.profileの書きこみが終わったら、一度読み直します。

$ source .profile

いよいよJuliusを動かしてみます。コマンドは次の通りです。

$ ~/julius/julius/julius -C ~/julius/dictation-kit/main.jconf -C ~/julius/dictation-kit/am-gmm.jconf -nostrip

起動が成功するとズラーっと出力が流れたあと、「please speak」と表示が出ますので、マイクに向けて何か話しかけてみてください。音声認識が成功すると、その話しかけた内容がターミナル上に表示されますので確認してください。

おわりに

今回は色々と調べながらJuliusで音声認識テストしてみました。先人たちの知恵に本当に感謝しています。ありがとうございました。

参考記事

[Raspberry pi3B+でjuliusを動かせるようになるまでの覚書き(2019.3.10現在)][1]
[1]:https://qiita.com/todateman/items/9c0e291e7b378a3c559b
[Raspberry Pi+Juliusで音声を認識する][2]
[2]:https://qiita.com/mininobu/items/f181b762955932cec6d6

7
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?