Help us understand the problem. What is going on with this article?

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

はじめに

音声認識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現在)

Raspberry Pi+Juliusで音声を認識する

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした