バージョン間の相違は履歴に、ライセンスの情報は使用許諾にあります。
最新のソースはGitHub - julius-speech/juliusにあります。
julius-speech/julius · GitHubかパッケージ julius - Julius - OSDNからソースをダウンロードできます。
Windows向けにはmsvcフォルダにVisual Studio向けのソリューションファイル (JuliusLib.sln) が用意されており、それからコンパイルできます。Windows - Microsoft Visual C++ - 第2章 インストール
コンパイル時に「未解決の外部シンボル _vecin_standby が関数 _mfc_module_init で参照されました。」のようなリンクエラー (LNK2019) が発生するときは、libsentプロジェクトにlibsent\src\anlz\vecin_net.cを追加します。これは本来プロジェクトに含まれているべきファイルですが、Rev.4.3以降プロジェクトに含まれていません。
出力が文字化けする場合には、-charconvオプションで文字コードの変換を指示します。このアプリケーションではこのオプションを、charconv.cファイルのcharconv_add_option()で対応させています。
msvc\SampleAppにあるSampleAppでjconfファイルを読み込んだときに「Error while loading Julius engine.」とエラーとなるときには、そのファイルで-charconvオプションが使用されていないか確認します。そして使用されているならば、それを削除します。
期待通りに認識されない場合には、言語モデルの文字コードを確認します。その指定はSampleApp.cppの98行目のsetlocale()にあり、既定ではEUC-JPとなっています。文字化けを解消できないならば、デコードすることで内容を確認できることがあります。
とりあえず動作を試すには、Juliusディクテーション実行キットが便利です。
ディクテーション実行キットはGitHubのjulius-speech/dictation-kit: Japanese dictation kit using Juliusにもあり、git clone https://github.com/julius-speech/dictation-kit.git
でダウンロードできます。
Pythonがインストールされていない環境でDNN版を実行しようとすると、start python
で「ファイル python が見つかりません。」のようにエラーとなります※1。ここではGMM版を用いるものとします。
ディクテーション実行キットには、以下のモデルが同梱されています。
ファイル名 | 内容 | 備考 | 既定 |
---|---|---|---|
jnas-mono-16mix-gid.binhmm | GMM-HMM音響モデル | monophone (Julius binhmm形式) | ○ |
jnas-mono-16mix-gid.hmmdefs | GMM-HMM音響モデル | monophone (HTK形式) | |
jnas-tri-3k16-gid.binhmm | GMM-HMM音響モデル | triphone (Julius binhmm形式) | |
jnas-tri-3k16-gid.hmmdefs | GMM-HMM音響モデル | triphone (HTK形式) | |
jnas-tri-rtree.base | Triphoneモデルの回帰木情報 | HTKによるMLLR用 | |
jnas-tri-rtree.tree | Triphoneモデルの回帰木情報 | HTKによるMLLR用 | |
logicalTri | Triphoneリスト | ○ | |
logicalTri-3k16-gid.bin | Triphoneリスト | logicalTri用 (バイナリ形式) (v4.4で追加) |
この音響モデルは、日本音響学会の新聞記事読み上げ音声コーパス (Japanese Newspaper Article Sentences : JNAS) を基に作成されています。
ファイル名 | 内容 | 備考 | 既定 |
---|---|---|---|
bccwj.60k.bingram | 言語モデル | Julius bingram形式 | ○ |
bccwj.60k.tri.arpa.gz | 言語モデル | ARPA形式 (gzip圧縮) | |
bccwj.60k.htkdic | 発音辞書 | ○ | |
bccwj.60k.pdp.htkdic | 発音辞書 | 位置依存音素用 (DNN用) (v4.4で追加) |
この言語モデルは、国立国語研究所の現代日本語書き言葉均衡コーパス (Balanced Corpus of Contemporary Written Japanese : BCCWJ) を基に作成されています。
ディクテーション実行キットのrun-gmm.batを実行すると、録音デバイスからの音声認識を試せます。そのとき録音デバイスが接続されていないと、Error: adin_portaudio: no default input device is available or an error was encountered
として処理に失敗します。またマイクを接続しているのに、それに発声しても反応なくWarning: strip: sample ***-*** has zero value, stripped
としか出力されない場合には、マイクの入力レベルを確認します。
Windows 10 April 2018 Update以降、設定の【プライバシー → マイク】にある[アプリがマイクにアクセスできるようにする]がオンになっていないと「Error: adin_portaudio: error in opening stream: Unanticipated host error」としてマイクからの入力に失敗します。PortAudio Error - Microsoft Community
問題の発生時にエラーが出力されずその原因を特定できないときには、julius.exeので-logfileオプションを指定しログを記録するようにします。
同じディレクトリにあるam-gmm.jconfの-input mic
を-input file
または-input rawfile
とすると、音声ファイルを認識対象とできます。さらに複数のファイルから認識させるには、それらのファイル名を記述したファイルを次のように作成します。
sample1.wav sample2.wav …
このテキストファイルの名前をlist.txtとしたならば、
-input file -filelist list.txt
のようにそのファイルを指定することで、連続して読み込ませられます。ただしファイル名を直接指定した場合、処理が終了するとすぐにプロンプトが閉じられてしまい結果を確認できません。そのときはrun-gmm.batの末尾にpause
と記述すると、入力待ちの状態で停止させられます。
-input file
を指定せず-filelist
だけを指定すると、そのファイルがHTK parameter fileと解釈され「Error: rdparam: input file is WAV file, not a parameter file」としてエラーとなります。