Mac で完全フリーの音声認識エンジンJuliusを試してみた


はじめに

今,音声認識はいろいろなところで使われ始めています.
しかし,音声認識をしてみようと思うと意外と難しいのが現状です.
1から作るのは無理だし,GoogleやMicrosoftは音声認識は無料で使おうとすると制限が大きいし...と悩んでいる方も多いと思います.
そんな人に最適な,完全フリーのJuliusを使ってみたいと思います.

ゴール

・ターミナルからデモを起動し,マイク入力から直接音声認識ができるようになる

事前知識

Julius

http://julius.osdn.jp/index.php
音声認識システムの開発・研究のためのオープンソースの高性能な汎用大語彙連続音声認識エンジン
使う上での利点として,ほぼリアルタイムかつオフラインでも使用できるのが特徴です.
Julius自体はあくまで音声認識エンジンであり,音声認識をするには別に音響モデル・言語モデルが必要になる.(それも配布してるよ)

インストール

準備

最初に,brewをインストールしていない方は以下のコマンドを打ってインストールしてください.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

次に,flew,portaudioを順にインストールします.
(juliusを動かすのに必要らしい)
※追記:Mac OS 10.13.5 で試した所、これらのパッケージをインストールしていない状態でもインストールできました。

$ brew install flex //必要なし
$ brew install portaudio //必要なし

Julius インストール

以下のページからjuliusのtarファイルをダウンロードし,作業ディレクトリにもっていきます.
https://ja.osdn.net/projects/julius/releases/66547#note

その後,以下のコマンドを実行してJuliusコマンドをインストールします.

$ tar xvzf julius-4.4.2.tar.gz
$ ./configure
$ make
$ sudo make install

ヘルプコマンドを実行して,インストールに成功しているか確認しましょう.

$ julius --help

次に,先ほど書いたように音響モデル・言語モデルもダウンロードしましょう.
なぜかtar.gzファイルをダウンロードしてもうまくいかなかったため,今回はzipファイルをダウンロードします.

ディクテーションキットのダウンロード

先ほど述べたように音響モデル,言語モデルが入ったディクテーションキットを配布しているので,ダウンロードします.
(ここに実行バイナリもあるのでJuliusをインストールしなくても動くらしい
→自分は上手くいきませんでした)
以下から最新(もしくはお好み)のdictation-kitをダウンロードしましょう.
https://ja.osdn.net/projects/julius/
ダウンロードしたら,作業ディレクトリに展開します.
そこまでできたら,以下のコマンドを打ってみましょう.

julius -C main.jconf -C am-dnn.jconf -dnnconf julius.dnnconf -nostrip
### read waveform input
STAT: AD-in thread created
<<< please speak >>>

と出てきたら,何か話してみて下さい.

sentence1:  今日 の 夜 ごはん は カレー ライス だ よ 。
wseq1: <s> 今日+名詞 の+助詞 夜+名詞 ごはん+名詞 は+助詞 カレー+名詞 ライス+名詞 だ+助動詞 よ+助詞 </s>

こんな感じで音声認識できました.
体感そこそこな精度で認識してくれました!

参考URL

julius公式ホームページ
http://julius.osdn.jp/

公式のトリセツ的なやつ
https://jaist.dl.osdn.jp/julius/47534/Juliusbook-4.1.5-ja.pdf

Terminal (macOS): Julius で音声認識をする
http://snippets.feb19.jp/?p=1734

MacでJuliusインストールする方法
https://qiita.com/amano-kiyoyuki/items/41f250a52e0929001e1f