スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

HTS-demoによる自作音響モデルの作り方 その2

youtube版

その2は前回作成した音声データから自作音響モデルの構築までを説明します。
1-2.ラベルデータ
 次に録音した音声データの音素(音の種類)を見分けるために音素を時間で区切ったラベルデータを作る。
 ここからlinuxに変わります。
   
 ①セグメンテーション(音素を時間で区切ること)をするためにJuliusを使います。ダウンロード欄の下の応用キットを押すと、単語・音素セグメンテーションキットがあるのでsegmentatio-kit-v4.0をダウンロードします。
 ②これだけではなんか足りないって怒られるので、トップページの右側にあるQuick DownloadのBinary for Linux (tarball)から julius-4.2-linuxbin.tar.gzをダウンロードします。
 ③julius-4.2-linuxbin.tar.gzを解凍してできたフォルダの中に解凍したsegmentatio-kit-v4.0を入れます。
 ④segmentatio-kit-v4.0の中に新しいフォルダを作り、そこに1-1で録音した音声データを入れます。
  また、同じフォルダの中にHTS-demo_NIT-ATR503-M001/dataフォルダの中のlabelsフォルダをコピーしていれておきます。
 ⑤あとは自作したsegment_miku.plをsegmentatio-kit-v4.0フォルダのsegment_juliud4.plと同じところに入れて、音声データのあるフォルダをsegment_miku.pl内で設定してからsegment_miku.plを動かします。
 ⑥segment_miku.pl内では、wav形式の音声データと音声データと一緒にあるlabelsフォルダ内のラベルデータとでセグメンテーションを行っています。
 ⑦出力フォルダはsegmentatio-kit-v4.0フォルダ内のdataフォルダが作られます。その中にwav形式からraw形式に変換された音声データとセグメンテーションされたラベルデータがあります。

2.HTS-demoによる音響モデルの構築
 ①できたraw形式の音声データとラベルデータをデモの音声データとラベルデータと同じ場所に置き換えます。
  このとき音声データが混じってしまうといけないので、元あったデモの音声データは同じフォルダ内にないようにしてください。
 ②最後にデモを使ったときと異なり、
   cd HTS-demo_NIT-ATR503-M001
   make data
   perl ./scripts/Training.pl scripts/Config.pm
  としたら自作音響モデルができる。
    
  あとはOpenJTalkなりMMDAgentなりで読み込んであげればしゃべってくれるはず。
    
  まとめ:用はHTS-demoの音声データとラベルファイルの数値を変更しただけなんだけどね。
  
  segment_miku.plは希望があれば配布します。 
スポンサーサイト

HTS-demoによる自作音響モデルの作り方 その1

MMDAgentは音響モデル以外はmeiをミクさんに変えて背景の色を変えただけなので、シナリオは初期設定のままです。

上の動画の詳しい解説みたいなもの
HTS-demo_NIT-ATR503-M001が動くことが前提です。
動かん人は前の記事見るなりぐぐってください。
ちなみにOSはlinuxのFedora15を使ってます。
あと音声データ収録にはwindows vistaを使ってます。

ではHTS-demo_NIT-ATR503-M001でデモ音響モデルができた人は、自作音響モデルを構築する準備をします。

1-1.音声データ
 音声データを準備します。大切なのは録音の内容とデータの形式です。HTS-demo_NIT-ATR503-M001ではATR503という503個の決められた文が用いられているため、それを使います。また、ATR503には1文ずつ番号がついているため、その番号をそのまま音声データ名に指定しています。(例:a01,a02,,,b01,,,j50)
データの形式はHTS-demo_NIT-ATR503-M001で読み取ることができるようにしなければならないので、48000Hzのモノラル(1ch)の16bitで録音します。

   ここでは動画で使用した音声データの手順を説明します。
   ①フリーの歌声合成ツールUTAUに喋りのプラグイン「花篭」を導入し、
     ATR503の文を入力してそこからVSQファイルを生成する。
   ②生成したVSQファイルをVOCALOID2 初音ミクに読み込ませて48000Hzでmonoなwavファイルを生成する。
   ③VOCALOID2から生成されたwavファイルは、はじめの無音区間が長いのでSoundEngine Freeを使って頭の無音区間だけを短くします。
   ④音声データの完成

  自分の声を使うんだったらSoundEngine Freeを使って48000Hz,16bit,1chで録音すればそれで終わります。

次はラベルデータの作成手順になります。

HTS-demoの動かし方

HTSに関する情報で自分が使えそうなものだけ書いときます。
 パソコン:linuxのFedora15ってOS
      windowsでは動作が不安定で遅いから
 Fedora15のインストール方法はぐぐったら出てきます。
ダウンロードするもの:
HMM-based Speech Synthesis System (HTS) 
     このサイトのDownloadからHTS-2.2_for_HTK-3.4.1.tar.bz2と
     Speaker dependent training demoの JapaneseのNormal demoからHTS-demo_NIT-ATR503-M001.tar.bz2をダウンロードします。
hts_engine API
     このサイトからhts_engine API version 1.05 のSource Codeからhts_engine_API-1.05.tar.gzをダウンロードします。
Speech Signal Processing Toolkit (SPTK)
     このサイトからSPTK-3.4.1.tar.gz をダウンロードします。
ActiveTcl
     このサイトのreleases/の 8.4.19.4/ の ActiveTcl8.4.19.4.292682-linux-ix86.tar.gzをダウンロードします。
htk
     このサイトからダウンロードをするためには、左側のRegisterから必要事項を記入して同意すると登録したアドレスにパスワードが送られてくる。これを使ってHTK-3.4.1.tar.gzとHDecode-3.4.1.tar.gzをダウンロードする。

よって手元にはHTS-2.2_for_HTK-3.4.1.tar.bz2
HTS-demo_NIT-ATR503-M001.tar.bz2
hts_engine_API-1.05.tar.gz
SPTK-3.4.1.tar.gz
ActiveTcl8.4.19.4.292682-linux-ix86.tar.gz
HTK-3.4.1.tar.gz
HDecode-3.4.1.tar.gz
がそろうはず。

HTS-demoの動かし方はHTS-demo_NIT-ATR503-M001.tar.bz2のなかのINSTALLに書いてあります。
1.とりあえず全部解凍する。
2.HTK-3.4.1.tar.gzとHDecode-3.4.1.tar.gzは解凍するとhtkフォルダでひとつになるのでその中にHTS-2.2_for_HTK-3.4.1.tar.bz2から出てきたHTS-2.2_for_HTK-3.4.1.patchを入れます。
3.ここでコマンドを使って、
   cd htk
patch -p1 -d . < HTS-2.2_for_HTK-3.4.1.patch
./configure prefix=/home/.../htk/   //解凍したhtkフォルダと同じところを指定
make
make intsall
完了するとhtkフォルダの中にbinフォルダができてます。
4.次にhts_engine_APIのフォルダに移動して
   cd hts_engine_API-1.05
./configure --prefix=/home/.../hts_engine_API/  //解凍したhts_engine_API-1.05の近く
make
make install
5.次にSPTK-3.4.1のフォルダに移動して
   cd SPTK-3.4.1
   ./configure --prefix=/home/.../SPTK/   //解凍したSPTK-3.4.1の近く
   make
   make install
6.次にActiveTcl8.4.19.4.292682-linux-ix86のフォルダに移動して
   sh install.sh
  これをすると別窓が開いて保存先を聞いてくるのでわかりやすい場所を指定する。
7.最後にHTS-demo_NIT-ATR503-M001フォルダ内のINSTALLファイルに書いてあることにしたがってデモを行う。
   cd HTS-demo_NIT-ATR503-M001
   ./configure --with-tcl-search-path=/6.で指定した場所/ActiveTcl/bin \
         --with-sptk-search-path=/5.で指定した場所/SPTK/bin \
         --with-hts-search-path=/3.で指定した場所/htk/bin \
         --with-hts-engine-search-path=/4.で指定した場所/hts_engine_API/bin
   make

 注:HTS-demoのmakeはそのまますると長くなるのでさっさとモデルを作りたい人はHTS-demo_NIT-ATR503-M001/data/raw 内のrawファイルの数減らしてmakeするとその分早く終わる。

できたモデルはMMDAgentやOpenJTalkに入れてあげることでしゃべらせることができます。

まとめ:HTS-2.2_for_HTK-3.4.1とHTS-demo_NIT-ATR503-M001のなかのINSTALLファイルを見たら大体わかる。
    バージョンもしっかりとそろえる。
    --prefix/...は保存先の変更。
    FedoraのGNOMEでうまくいかなかったら、
    su
パスワード
    yum install なんか必要そうなもの
    これで何とかなる。

お世話になったサイト:HTSによるHMM音声合成←OpenJTalkの使い方も載ってます。
              CUBE370 - MMDAgentのNAIP化計画
           

投稿動画

まぁ、夏休みの工作ってことで
4月に上げた網戸に投影されるミクさん


ちょっとがんばってホームセンターで買ったアクリル板(確か1500円ぐらいだったかな、、、)
に投影されたミクさん


なんか一時期、技術部ランキング1位になってたヘッドマウントディスプレイを用いた立体っぽく見えるミクさん

検索フォーム
Twitter
@akihiro01051のツイート
リンク
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。