• Tidak ada hasil yang ditemukan

Proses Training pada Databases Suara oleh HTS-demo Proses training dimaksudkan agar sistem yang dibuat dapat Proses training dimaksudkan agar sistem yang dibuat dapat

Dalam dokumen 7203030018 (Halaman 87-94)

PERENCANAAN DAN PEMBUATAN

3.2. PEMBUATAN DATABASE SUARA

3.2.6. Proses Training pada Databases Suara oleh HTS-demo Proses training dimaksudkan agar sistem yang dibuat dapat Proses training dimaksudkan agar sistem yang dibuat dapat

mengenali suatu input yang bervariasi. Untuk dapat mencapainya maka sistem perlu dikenalkan terlebih dahulu dengan apa yang akan dikenali nantinya. Hal inilah yang disebut dengan training

$system "cat $cmpdir/tmp.head

$cmpdir/tmp.cmp > $cmpdir/${base}.cmp";

$system "echo $size ".($frameshift * 10000000)." | $SPTKdir/x2x +al > $cmpdir/tmp.head";

$system "echo $byte 9 | $SPTKdir/x2x +as >> $cmpdir/tmp.head";

$merge +f s 0 l ".($nlf0win*$lf0dim)."

-L ".($nmcepwin*$mcepdim)." $cmpdir/tmp.mcep < $cmpdir/tmp.lf0 >

Gambar 3.6 Proses Training

3.2.6.1. Inisialisasi

Sebelum memulai proses untuk training, HMM paremeter perlu diinisialisasi dengan data yang akan ditraining dengan tujuan pada saat training sistem dapat melakukan presisi pada saat pengambilan parameter dengan cepat. Pada proses training ini HTK mempunyai dua algoritma yang berbeda yaitu dengan Hinit dan HcompV. Untuk mengetahui perbedaan masing masing algoritma tersebut dapat dilihat pada bab yang sebelumnya

Berikut ini adalah gambar bagan inisialisasi dengan Hinit:

• HInit

Hinit menginisialisasi HMM berdasarkan durasi waktu yang berdasarkan Algoritma Viterbi. Untuk menginisialisasi HMM dengan Hinit dapat digunakan perintah dibawah ini

Dimana masing-masing paremater dapat diterangkan sebagai berikut:

NamaHmm adalah nama dari HMM yang akan di inisialisasi. Pada sistem ini nama dari HMM yang akan di inisialisasi adalah sesuai dengan kata yang ada pada label file.

PrototipeFile adalah prototipe dari masing-masing kata yang terdapat pada label.

Trainlist.txt adalah daftar seluruh file yang terdapat dalam direktori /data/train/mfcc

DirektoriLabel adalah tempat dimana file label (.lab) disimpan pada sistem ini file tersebut di simpan dalam direktori /data/train/lab

Label menunjukan nama lebel yang akan di training, dalam hal ini label harus sesuai kata yang terdapat dalam file label.

Model/hmm0 adalah direktori yang digunakan untuk menyimpan file output hasil inisialisasi.

Proses diatas harus dilakukan untuk masing-masing model yang akan dibuat dalam hal ini adalah banyaknya kata atau fonem yang terdapat pada semua label file. Pada proses ini HMM file output dari Hinit mempunyai nama yang sama dengan nama prototype.

• HCompV

HcompV digunakan untuk melakukan algortima dengan operasi “flat initialisation” dari sebuah model. Setiap state dari HMM

# HInit -A -D –T 1 -S trainlist.txt -M model/hmm0 \

-H model/proto/PrototipeFile -l label –L FolderLabel NamaHmm

setiap file mfcc dihitung secara global. Perintah yang digunakan adalah:

Keterangan mengacu pada keterangan untuk Hinit.

model/hmm0flat : output direktory untuk HCompV nama direktori dibedakan dengan Hinit agar hasil output tidak saling menimpa.

HcompV tidak digunakan pada sistem ini karena inisialisasi telah dilakukan oleh Hinit. Proses yang membutuhkan HcompV pada proses ini adalah untuk menghasilkan file yang disebut dengan vFloors, vFloors adalah global variance yang didapat dari seluruh variance vektor yang dikalikan dengan sebuah faktor, vFloors ini dihasilkan selama proses inisialisasi model. Faktor yang digunakan untuk mengalikan pada vFloors ini juga dapat di set dengan memberikan argumen –f.

Berikut ini adalah contoh vFloors yang dihasilkan selama proses inisialisasi:

~v varFloor1 <Variance> 57

4.062771e-02 8.432141e-03 2.219912e-03 1.268867e-03 9.345911e-04 9.211157e-04 4.000101e-04 8.045032e-04 3.565023e-04 3.902182e-04 5.002482e-04 2.877577e-04 5.090860e-04 2.230171e-04 2.677526e-04 2.048724e-04 1.933222e-04 1.523964e-04 2.137904e-04 6.024624e-04 1.817874e-04 1.038832e-04 7.135089e-05 5.336984e-05 6.325145e-05 5.653314e-05 4.639329e-05 4.602350e-05 4.828721e-05 3.740432e-05 # HcompV –T 1 -S trainlist.txt -M

model/hmm0flat

-H model/proto/PrototipeFile -l label –L FolderLabel NamaHmm

Nilai yang disimpan pada varFloor1 disebut dengan Variance floor macro dapat digunakan nanti pada pada saat estimasi vektor varian.

Pada sistem ini HcompV akan digunakan sekali untuk menghasilkan sebuah file vFloors yang akan digunakan untuk melakukan reestimasi pada proses training. Output tempat untuk vFloors di sini adalah pada direktori yang sama dengan output dari inisialisasi yaitu pada folder /model/hmm0flat

.

3.2.6.2. Training

Setelah semua data di inisialisasi maka proses selanjutnya adalah proses training dimana proses training ini adalah mereestimasi nilai parameter yang paling optimal yang diperoleh dari proses inisialisasi. Proses reestimasi ini melibatkan macro yang terdapat pada vFloors sebagai acuan. Parameter yang di reestimasi adalah probabilitas transisi dan serta mean dan varian dari vektor dari setiap observasi. Proses training ini dilakukan berulang – ulang sampai didapatkan parameter model yang paling optimal .

Training di sini dilakukan dengan tool Hrest. Berikut adalah bagan alur HRest:

Dari perintah diatas, masing-masing parameternya dapat dijelaskan sebagai berikut

NamaHmm adalah nama dari HMM yang akan di inisialisasi. Pada sistem ini nama dari HMM yang akan di inisialisasi adalah sesuai dengan kata yang ada pada labelfile

Model/hmmi adalah model input yang akan di reestimasi dengan vFloors

vFloors adalah macro yang dipakai pada proses reestimasi dimana macro ini adalah file yang dihasilkan selama proses inisialisasi.

Model/hmmi-1/hmmfile adalah file output dari proses reestimasi yang dijalankan, nama file dari hmfile disini adalah sesuai dengan nama model yang di reestimasi.

Trainlist.txt adalah daftar seluruh file yang terdapat dalam direktori /data/train/mfcc

DirektoriLabel adalah tempat dimana file label (.lab) disimpan. Pada sistem ini file tersebut di simpan dalam direktori /data/train/lab

Label menunjukan nama lebel yang akan di training, dalam hal ini label harus sesuai kata yang terdapat dalam file label.

Proses reestimasi ini harus diulangi beberapa kali pada setiap model, gunanya adalah untuk proses training HMM. pada sistem ini banyaknya reestimasi dilakukan sebanyak 1 kali. Pada proses reestimasi ini juga dihasilkan suatu file yang bernama macro, macro inilah yang digunakan untuk proses reestimasi HMM yang selanjutnya. Terdapat sedikit perbedaan antara file macro dengan file vFloors, file macro di

# HRest -A -D -T 1 -S trainlist.txt -M model/hmmi -H vFloors \

-H model/hmmi-1/hmmfile -l label -L DriektoriLabel NamaHMM

sini adalah file vFloors yang telah diberi header mengenai jenis encoding yang dipakai dan juga ukuran vector dai HMM yang direestimasi. Sehingga dalam pembuatan file macro ini perlu diperhatikan strukturnya untuk menghindari kesalahan pada saat reestimasi.

Setelah proses reestimasi dihasilkan beberapa model yang disimpan dalam direktori hmm0, hmm0flat, hmm1, hmm2, hmm3 dimana masing-masing direktori ini telah kita buat sebelumnya dalam direktori model.

3.2.6.3. Iterasi

Didalam proses training yang dilakukan oleh HTS terdapat iterasi atau pengulangan yang dilakukan oleh HERest. HERest adalah program yang digunakan untuk melakukan restimation parameter dalam HMM atau liner transform, menggunakan embedded training version dengan algoritma Baum-Welch. Data training mengandung satu atau lebih pengucapan dimana rekaman memiliki file label standart. Penggabunggan model akan disintesa secara efektif dengan menjalin hubungan antar fonem yang dihasilkan oleh rekaman. Setiap model fonem memiliki kesamaan akumulasi yang dihasilkan oleh HRest tetapi dalam HERest akan dilakukan dilakukan proses secara simultan dengan menggunakan standart Baum-Welch dalam setiap ucapan menggunakan gabungan dalam model.

Untuk memulai training model lakukan perintah dibawah ini :

Dalam proses iterasi yang dilakukan oleh HTS yaitu sebanyak 5 kali iterasi untuk setiap model

1. HHed

HHed merupakan editor untuk HMM yang memiliki fungsi mengatur definisi HMM dan outputan modifikasi yang baru ke dalam

# HERest -r -C config -S trainList -I labs -H dir1/hmacs -M dir2 hmmList

Dimana cmds.hed adalah script yang mengandung daftar perintah. Setiap perintah ditulis dipisahkan oleh garis dan dimulai dengan 2 kata sebagai nama perintah. Hasil dari mengeksekusi perintah diatas adalah membaca daftar HMM dalam hmmlist dan mendefinisikannya sebagai file MMF1, MMF2, dan seterusnya. Hasil operasi yang diedit didefinisikan dengan cmd.hed dan hasil dari sistem dikeluarkan kedalam direktori newdir. Dengan tool ini maka HTK dapat digunakan untuk meniru struktur input dan ouput dari direktori.

2. HMGenS

HMGenS merupakan tool dari HTK yang berfungsi untuk menghasilkan parameter suara seperti spektrum dan F0 dari HMMs berdasarkan pada kemungkinan ukuran maksimum pada batasan window yang dinamis. Perintah tersebut dapat dijalankan dengan perintah:

File synthesis.conf merupakan file konfigurasi untuk proses sintesa. Sedangkan file nit_jp_ATR503_m001_qst001.gen adalah file yang berisi daftar kumpulan data untuk parameter yang dihasilkan proses sintesa.

Dalam dokumen 7203030018 (Halaman 87-94)