2017年9月15日星期五

MMDAgent :: 音響模型製作方法

前言


正如題目所言、此篇將會解說應要如何自行創作一個可用於替代"メイ"的語音模型。

創作 MMDAgent 的語音模型是必需使用建基於 Debian 的 Linux 系統去作適當的調整(推薦使用 Ubuntu)
所以以下將會先解說下有關如何可以讓非 Linux 使用者在不𨍭換作業系統的情況下創作語音模型。

Virualbox
接下來的例子都將會以在 Virualbox 上安裝 Ubuntu 系統為例, 若要安裝其他系統的朋友請自行作用適當的調整。

Windows 10
先解說下有關 Windows 10 作業系統上所需要的安裝方法。

下載:

有關 ATR503文章読み上げ
ATR503文章読み上げ 是由 磯健一、渡辺隆夫、桑原尚夫 等人專為日語語音數據庫開發的朗讀文章, 當中兩個音素連鎖的句子有 402 種, 三個音素連鎖句子有 223 種, 共 625 句擁有良好平衡的句子。

一共有 A set 至 J set 共 10 set, 每 set 50 個句子。(J set 有 53 句)
取得 ATR503文章読み上げ的 Data 意思為朗讀並錄製全數 ATR503文章読み上げ 句子, 而需要儲存成以下格式:
  • 1. 必需在 Windows 系統下製作
  • 2. 需要是 .wav 的檔案
  • 3. 檔案要是 48 kHz, 16 bit 以及單聲道

以上為在 Windows 系統上須要下載的工具列表。

Ubuntu
以下將會說一下在 Ubuntu 系統中所須的東西。

此外, 最好也把 MMDAgent 的 Linux 開發環境安裝好
有需要用到 Terminal 的地方, 所以需要認識基本的 Linux Command

下載:

在 Terminal 輸入以下的指令:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ kutengf@sawaho-Alex911a:~$ sudo apt-get install patch]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

這樣就可以使用到與 Patch 相關的指令了。
Make the directories yourself

Julius 的安裝(Ubuntu)
  • 1. 先把下載來的 julius-4.2.1-linuxbin.tar.gz 進行解壓縮。
  • 2. 把解壓好 julius-4.2.1-linuxbin.tar.gz 內 directory 的全數文件複製至 Julius 的 directory(home/kutengf/Julius)。

Dictation-kit 的安裝(Ubuntu)
  • 1. 先把下載來的 dictation-kit-v4.1.tar.gz 進行解壓縮。
  • 2. 把解壓好 dictation-kit-v4.1.tar.gz 內的指定 directory/file 複製至 Julius 的 directory(home/kutengf/Julius)。

以下為指定文件:
  • model/
  • HOWTO.txt
  • TROUBLE.txt
  • fast.jconf
  • light.jconf

Segmentation-kit 的安裝(Ubuntu)
  • 1. 先把下載來的 segmentation-kit-v4.0.tar.gz 進行解壓縮。
  • 2. 把解壓好 segmentation-kit-v4.0.tar.gz 的 directory 複製至 Julius 的 directory(home/kutengf/Julius)。

HTS 的安裝(Ubuntu)
  • 1. 先把下載來的 HTS-2.2_for_HTK-3.4.1.tar.bz2, HTK-3.4.1.zip 和 HDecode-3.4.1.zip 進行解壓縮。
  • 2. 把解壓好 HTK-3.4.1.zip 和 HDecode-3.4.1.zip 的 file/directory 放到 HTK directory。
  • 3. 把 HTS-2.2_for_HTK-3.4.1.tar.bz2 directory 內的 HTS-2.2_for_HTK-3.4.1.patch 複製至 HTK directory。
  • 4. 把 HTK directory 複製至 HTS directory(home/kutengf/HTS)。

打開 Terminal 並輸入以下指令:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ kutengf@sawaho-Alex911a:~$ cd /home/kutengf/HTS/HTK/]
[ kutengf@sawaho-Alex911a:~$ patch -p1 -d . < HTS-2.2_for_HTK-3.4.1.patch]
[ kutengf@sawaho-Alex911a:~$ ./configure --prefix=/home/kutengf/HTS/HTK/]
[ kutengf@sawaho-Alex911a:~$ make]
[ kutengf@sawaho-Alex911a:~$ make install]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

hts_engine_API 的安裝(Ubuntu)
  • 1. 先把下載來的 hts_engine_API-1.06.tar.gz 進行解壓縮。
  • 2. 把解壓好 hts_engine_API-1.06.tar.gz 的 directory 複製至 HTS directory(home/kutengf/HTS)。

打開 Terminal 並輸入以下指令:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ kutengf@sawaho-Alex911a:~$ mkdir /home/kutengf/HTS/hts_engine_API/]
[ kutengf@sawaho-Alex911a:~$ cd /home/kutengf/HTS/hts_engine_API-1.06/]
[ kutengf@sawaho-Alex911a:~$ ./configure --prefix=/home/kutengf/HTS/hts_engine_API/]
[ kutengf@sawaho-Alex911a:~$ make]
[ kutengf@sawaho-Alex911a:~$ make install]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SPTK 的安裝(Ubuntu)
  • 1. 先把下載來的 SPTK-3.5.tar.gz 進行解壓縮。
  • 2. 把解壓好 SPTK-3.5.tar.gz 的 directory 複製至 HTS directory(home/kutengf/HTS)。

打開 Terminal 並輸入以下指令:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ kutengf@sawaho-Alex911a:~$ mkdir /home/kutengf/HTS/SPTK/]
[ kutengf@sawaho-Alex911a:~$ cd /home/kutengf/HTS/SPTK-3.5/]
[ kutengf@sawaho-Alex911a:~$ ./configure --prefix=/home/kutengf/HTS/SPTK/]
[ kutengf@sawaho-Alex911a:~$ make]
[ kutengf@sawaho-Alex911a:~$ make install]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ActiveTcl 的安裝(Ubuntu)
  • 1. 先把下載來的 ActiveTcl8.4.19.4.292682-linux-ix86.tar.gz 進行解壓縮。
  • 2. 把解壓好 ActiveTcl8.4.19.4.292682-linux-ix86.tar.gz 的 directory 複製至 HTS directory(home/kutengf/HTS)。

打開 Terminal 並輸入以下指令:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ kutengf@sawaho-Alex911a:~$ mkdir /home/kutengf/HTS/ActiveTcl/]
[ kutengf@sawaho-Alex911a:~$ cd /home/kutengf/HTS/ActiveTcl8.4.19.4.292682-linux-ix86/]
[ kutengf@sawaho-Alex911a:~$ sh install.sh]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 3. 在安裝介面出現沒多久就會看到 "Please specify the installation directory", 此時要選擇 ActiveTcl 的 directory(home/kutengf/HTS/ActiveTcl)。
  • 4. 之後按照安裝介面的指示便可。

到這裡, 你應該要錄好 ATR503文章読み上げ 的語音檔, 並用 Switch Sound File Converter 轉換好檔案格式, 如果到現在還未有自己語音檔的話就可以先用 HTS-demo_NIT-ATR503-M001.tar.bz2 進行代替。

使用 demo sample 去試作音響模型(如你已錄製 ATR503文章読み上げ 的語音檔, 可直接使用)
  • 1. 先把下載來的 HTS-demo_NIT-ATR503-M001.tar.tar 進行解壓縮。
  • 2. 把解壓好的 HTS-demo_NIT-ATR503-M001 複製至 HTS directory(home/kutengf/HTS)

打開 Terminal 並輸入以下指令:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ kutengf@sawaho-Alex911a:~$ cd /home/kutengf/HTS/HTS-demo_NIT-ATR503-M001/]
[ kutengf@sawaho-Alex911a:~$ ./configure]
[ --with-tcl-search-path=/home/kutengf/HTS/ActiveTcl/bin]
[ --with-sptk-search-path=/home/kutengf/HTS/SPTK/bin]
[ --with-hts-search-path=/home/kutengf/HTS/htk/bin]
[--with-hts-engine-search-path=/home/kutengf/HTS/hts_engine_API/bin]
[ kutengf@sawaho-Alex911a:~$ make]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

標籤: