MacBook で簡単音声認識。Julius を使ってみた
音声認識で何らかの操作ができたらいいなーと思って、自分で音声認識ツールを作れないかと調べたところ、Julius という国産のフリーなツールがあったので、試しに使ってみた。
今回は MacBookPro と、本体内蔵のマイクを使ってみたが、Julius は環境非依存なので、Windows や Linux でも動作し、Raspberry Pi でも使えるようだ。
目次
Julius をインストールする
まずは適当な作業ディレクトリを作り、Julius をインストールしていく。
$ mkdir julius
$ cd ./julius/
# 本体をダウンロードする : 以下から最新版を確認してダウンロードした
# https://github.com/julius-speech/julius/releases
$ wget https://github.com/julius-speech/julius/archive/v4.6.tar.gz
# ファイルサイズは 9.5MB 程度だった。解凍する
$ tar xvzf ./v4.6.tar.gz
# インストールする
$ cd ./julius-4.6/
$ ./configure
$ make
$ sudo make install
# インストールできた
$ julius -help
ディクテーションキットを用意する
Julius は音響モデルと言語モデルがモジュールとして組み込んで使用する。つまり Julius 本体だけでは動作しないので、公式で用意されている標準モデルである「ディクテーションキット」をダウンロードしてみる。
# ディクテーションキットをダウンロードする : 以下から最新版を確認してダウンロードした
# https://julius.osdn.jp/index.php?q=dictation-kit.html
$ wget https://osdn.net/dl/julius/dictation-kit-4.5.zip
# ファイルサイズは 478MB 程度だった。解凍する
$ unzip ./dictation-kit-4.5.zip
# ディクテーションキットのディレクトリ内に移動する
$ cd ./dictation-kit-4.5.zip/
Julius を使ってみる
それでは Julius を使ってみよう。以下のようにコマンドを叩く。
# ディクテーションキットのディレクトリ内にある2つのファイルを参照して Julius を起動する
$ julius -C ./main.jconf -C ./am-gmm.jconf -nostrip
------
### read waveform input
STAT: AD-in thread created
<<< please speak >>>
# ↑このようなコンソールになるはず
上のように please speak
とコンソールに出力されたら、音声入力ができる状態になる。
試しに「こんにちは」と喋って、Mac 内蔵マイクに拾わせたところ、次のようにコンソール出力された。
pass1_best: こんにちは 。
pass1_best_wordseq: <s> こんにちは+感動詞 </s>
pass1_best_phonemeseq: silB | k o N n i ch i w a | silE
pass1_best_score: -3004.024170
### Recognition: 2nd pass (RL heuristic best-first)
STAT: 00 _default: 16982 generated, 1336 pushed, 307 nodes popped in 128
sentence1: こんにちは 。
wseq1: <s> こんにちは+感動詞 </s>
phseq1: silB | k o N n i ch i w a | silE
cmscore1: 0.575 0.335 1.000
score1: -3023.841797
<<< please speak >>>
確かに「こんにちは。」と識別されている。
マジか!めちゃくちゃ簡単やんけ!
今回はココまで
簡単なインストール手順で、簡単に音声認識ができた。オフラインで動作し、インターネット環境が要らないのは素晴らしい。
認識速度は高速だが、標準のディクテーションキットだとあまり精度がよくない様子。ここら辺は作り込みの余地がありそう。
今回はコマンドラインで動かしたが、ウェブサーバから呼び出して結果を利用したりすることもできるようなので、自宅 PC やラズパイを音声認識サーバに仕立て上げて遊べそうだ。
- 参考 : snippets.feb19.jp | THE PROGRAMING TIPS AND CODING MEMOS
- 参考 : Raspberry PiとJuliusで特定の単語を認識させる | パソコン工房 NEXMAG
- ラズパイでやろうと思ったけど USB マイクがなかったので Mac でやった
- 参考 : Mac で完全フリーの音声認識エンジンJuliusを試してみた - Qiita
- 参考 : MacでJulius-v4.5を使って音声認識する - Qiita
- 参考 : Pythonにおける音声認識juliusの利用方法を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン
- Python サーバ等から利用する方法