音響モデルを自作する3(音響モデル学習)

投稿者:マーチン 2016年9月3日

 音声データと音素ラベルファイルから音響モデルを学習するプログラムをインストールします。そのやり方は、「MMDAgent & Project-NAIP wiki」 の音響モデルの作成 に詳しく書かれていますが、ダウンロードしたバージョンの違いか、その通りにやって上手くいかないところもありました。コマンド入力が嫌いな自分のために、できるだけ GUI を使ってやってみました。

●ダウンロード

Ubuntu のウェブブラウザで、以下のファイルをダウンロードする。
(1)ユーザ登録
http://htk.eng.cam.ac.uk/register.shtml で、Registration (ユーザ登録) をする。

(2)HTK-3.4.1 
http://htk.eng.cam.ac.uk/download.shtml を開いて、
Stable release (3.4.1) Linux/Unix downloads [HTK source code (tar+gzip archive) ] をクリックする。

(3)HDecode-3.4.1
http://htk.eng.cam.ac.uk/prot-docs/hdecode.shtml を開いて、
Linux/Unix downloads [HDecode (tar+gzip archive) ] をクリックする。

(4)HTS-2.3_for_HTK-3.4.1 
http://hts.sp.nitech.ac.jp/?Download を開いて、
Source code HTS-2.3_for_HTK-3.4.1 [tar.bz2] をクリックする。

(5)hts_engine_API-1.10 
http://hts-engine.sourceforge.net/ を開いて、
hts_engine API version 1.10 (December 25, 2015) [Source Code] をクリックする。

(6)SPTK-3.9  
http://sp-tk.sourceforge.net/ を開いて、
Source Code  [SPTK-3.9.tar.gz] をクリックする。

(7)ActiveTcl8.4.19.6.295590-linux-x86_64
FileWatcher を開いて、
[ActiveTcl8.4.19.6.295590-linux-x86_64.tar.gz] をクリックする。
※ActiveTcl 8.5. 以降は該当プログラム(Snack)が入っていないため、8.4 以前をインストールする必要があるらしい。

(8)HTS-demo_NIT-ATR503-M001 
http://hts.sp.nitech.ac.jp/?Download
Speaker dependent training demo Japanese [tar.bz2] をクリックする。

●事前準備

(1)[ファイル] [ホーム] をクリックして、右クリックで[新しいフォルダ] を選択して、フォルダ名を”HTS” に変更する。

(2)さらに、フォルダ”HTS” の中に、フォルダ”prog” を作成する。
(3)[ファイル] [ダウンロード] をクリックして、ダウンロードした7個のファイルを選択して、右クリックで[指定先にコピー...]を選択する 。

(4)コピーする宛先の選択で、[ホーム] [HTS] を指定して、[選択] をクリックする。

●HTSのインストール

(1)[ファイル] [ホーム] [HTS] を開く。
(2)[HTK-3.4.1.tar.gz] で右クリックして、[ここに展開する] を選択すると、フォルダ”htk” ができる。

(3)[HDecode-3.4.1.tar.gz] で右クリックして、[ここに展開する] を選択する。できたフォルダ[htk(2)]をクリック、 [HTKLVRec] で右クリックして、[コピー] を選択する。

(4)フォルダ[htk] で右クリックして [貼り付け] を選択し、マージ、置き換えをする。


(5)[HTS-2.3_for_HTK-3.4.1.tar.bz2] で右クリックして、[ここに展開する] を選択する。できたフォルダ[HTS-2.3_for_HTK-3.4.1] をクリック、ファイル[HTS-2.3_for_HTK-3.4.1.patch] で右クリックして、[コピー] を選択する。
(6)フォルダ[htk] で右クリックして [貼り付け] を選択する。
(7)そのままでは、コンパイル時に”変数ARCHが定義されていない”エラーが発生するので、ソースファイルを変更する。”htk/HTKLib/esignal.h” を開いて、1行を追加して、保存して閉じる。(他にもエラーを回避する方法があるかもしれません。)

#define ARCH 0


(8)[ファイル] [ホーム] [HTS] を開き、[htk] で右クリックして、[端末で開く] を選択する。

(9)端末で以下のコマンドを実行する。

~/HTS/htk $ patch -p1 -d . < HTS-2.3_for_HTK-3.4.1.patch
~/HTS/htk $ ./configure --prefix=$HOME/HTS/prog/htk/
~/HTS/htk $ make
~/HTS/htk $ make install


●hts_engine_API のインストール

(1)[ファイル] [ホーム] [HTS] を開く。
(2)[hts_engine_API-1.10.tar.gz] で右クリックして、[ここに展開する] を選択すると、フォルダ”hts_engine_API-1.10” ができる。
(3)[hts_engine_API-1.10] で右クリックして、[端末で開く] を選択し、端末で以下のコマンドを実行する。
 ※プロンプト(緑色の文字)より後ろを、改行を入れずに入力する。右クリックでコピペもできる。

~/HTS/hts_engine_API-1.10 $ ./configure --prefix=$HOME/HTS/prog/hts_engine_API/
~/HTS/hts_engine_API-1.10 $ make
~/HTS/hts_engine_API-1.10 $ make install


●SPTK のインストール

(1)[ファイル] [ホーム] [HTS] を開く。
(2)[SPTK-3.9.tar.gz] で右クリックして、[ここに展開する] を選択すると、フォルダ”SPTK-3.9” ができる。
(3)[ファイル] [ホーム] [HTS] を開き、[SPTK-3.9] で右クリックして、[端末で開く] を選択し、端末で以下のコマンドを実行する。

~/HTS/SPTK-3.9 $ ./configure --prefix=$HOME/HTS/prog/SPTK/
~/HTS/SPTK-3.9 $ make
~/HTS/SPTK-3.9 $ make install


●ActiveTcl のインストール

(1)[ファイル] [ホーム] [HTS] を開く。
(2)[ActiveTcl8.4.19.6.295590-linux-x86_64.tar.gz] で右クリックして、[ここに展開する] を選択すると、フォルダ”ActiveTcl8.4.19.6.295590-linux-x86_64” ができる。
(3)フォルダ”prog” の中に、新しいフォルダ”ActiveTcl” を作る。
(4)[ファイル] [HTS] を開き、[ActiveTcl8.4.19.6.295590-linux-x86_64] で右クリックして、[端末で開く] を選択し、端末で以下のコマンドを実行する。

~/HTS/ActiveTcl8.4.19.6.295590-linux-x86_64 $ sh install.sh

(5)インストーラの指示に従って進める。
「ACTIVESTATE COMMUNITY EDITION SOFTWARE LICENCE AGREEMENT」で、
  ◆I accept the terms in the License Agreement
にチェックを入れ、[Next] をクリックする。

(6)「Please specify the installation directory」で、ActiveTclディレクトリ(/home/user/HTS/prog/ActiveTcl)を指定する。

(7)[Next] [Next] [Next] [Next] [Finish] をクリックする。

●不要ファイルの削除

 インストールが終了した段階で、フォルダ”HTS”には、フォルダ”prog”とファイル”HTS-demo_NIT-ATR503-M001.tar.bz2”以外のものは、プログラムの実行に際して必要ないので、削除しても構わない。


◆連載

◆関連記事

Copyright © まほろば. All Rights Reserved.(http://mahoro-ba.net/)