Bab 2 T.0.1
Bab 2 T.0.1
TINJAUAN PUSTAKA
2.1 Studi Literatur
Ntsako Baloyi (2012), Faculty of Science, Agriculture Universitas Limpopo dalam
desertasi yang berjudul A Text-To-Speech Synthesis System For Xitsonga Using Hidden
Markov Models menjelaskan bahwa tujuan dari penelitian tersebut adalah merancang dan
membangun sistem sintesa Text-To-Speech (TTS) untuk bahasa Xitsonga yang merupakan
salah satu bahasa yang digunakan di Afrika Selatan. Sistem yang dibangun menggunakan
metode statistik parametrik dengan menggunakan toolkit HTS (HMMs-based Speech
Synthesis System) untuk membangun dan melatih model Hidden Markov parameter suara,
Festvox dan Festival TTS untuk mengubah teks menjadi format label HTS, dan
HTS_engine untuk menghasilkan gelombang suara berdasarkan format label HTS.
Karakteristik suara dimodelkan dengan menggunakan pendekatan speaker dependent (SD).
Pengujian yang dilakukan berupa pengujian subjektif yaitu Mean Opinion Score (MOS)
dengan beberapa kategori penilaian yaitu kejelasan, kealamian, fleksibilitas dan
kenyamanan ketika didengar. Korpus latih yang digunakan berjumlah 158 kalimat. Hasil
MOS secara keseluruhan sebesar 3.9 pada skala 1 – 5.
Elok Anggrayni, Sekartedjo, dan Dhany Arifianto (2013), Teknik Fisika di Institusi
Teknologi Sepuluh Nopember (ITS) dalam jurnal Teknik Pomits yang berjudul Pembuatan
Perangkat Basis Data untuk Sintesis Ucapan (Natural Speech Synthesis) Berbahasa
Indonesia Berbasis Hiddem Markov Model (HMM) mejelaskan bahwa tujuan penelitian
tersebut adalah menghasilkan model Hidden Markov dari bahasa Indonesia dengan
menggunakan HTS dan diintergrasikan dengan Festival Framework. Korpus latih yang
digunakan berjumlah 1529 kalimat. Pengujian yang dilakukan yaitu MOS. Nilai MOS
untuk pendekatan SD adalah 3.4 dan pendekatan SAD adalah 3.2 pada skala 1 – 5.
Elok Chyaingtyas, dan Dhany Arifianto (2015), Teknik Fisika di Institut
Tekonologi Sepuluh Nopember (ITS) dalam jurnal International Symposium on Intelligent
Signal Processing dan Communication Systems (ISPACS) yang berjudul “HMM-based
Indonesian Speech Synthesis System with Declarative and Question Senteces Intonation”
menjelaskan bahwa tujuan penelitian tersebut adalah mengimplementasikan sistem sintesa
ucapan bahasa Indonesia berbasis HMM dengan menambahkan informasi prosodi pada
kalimat pertanyaan dan deklaratif. Pengujian dilakukan enam kali dengan jumlah korpus
6
7
latih yang berbeda-beda yaitu 44, 72, 116, 450, 929, dan 1379 kalimat. Pengujian terdiri
dari dua jenis yaitu pengujian subjektif dan objektif. Pengujian subjektif yang dilakukan
yaitu DMOS. Skala MOS yang digunakan 1 – 5. Nilai MOS sebesar 3.53 untuk kalimat
deklaratif dan 3.36 untuk kalimat pertanyaan dengan data latih berjulah 1379. Sedangkan
pengujian objektif berupa pengujian Mel-Cepstral Distortion (MCD) dengan hasil terbaik
pada data latih berjumlah 929 dengan nilai sebesar 5.12 untuk kalimat deklaratif dan nilai
4.32 pada kalimat pertanyaan dengan data latih berjumlah 450 kalimat.
Mumtaz B. Mustafa, Raja N. Ainon dan Roziati Zainnuddin (2010) Fakultas
Computer Science dan Information Technology di Universitas Malaya, Malaysia dalam
jurnal "EM-HTS: Real-Time HMM-Based Malay Emotional Speech Synthesis”
menjelaskan bahwa tujuan penelitian tersebut membangun sebuah sistem TTS emosional
untuk bahasa Melayu standar secara real-time berbasis HMM. Kualitas suara ucapan
dengan emosi ditingkatkan dengan menggunakan Neutral to Angry, Sad, dan Happy
(NASH) duration generator pada tahap latih. Korpus latih yang digunakan berjumlah 480
kalimat. Pengujian yang dilakukan yaitu pengujian MOS. Hasil pengujian yaitu tingkat
kejelasan sekitar 80% dan tingkat kealamian yaitu 95%.
Tabel 2.1 Kajian penelitian terkait
No Penulis Judul Keterangan
.
1. Ntsako Baloyi (2012), A Text-To-Speech GUI aplikasi
Faculty of Science, Synthesis System for menggunakan Java.
Agriculture Xitsonga Using Hidden HMM dimodelkan
Universitas Limpopo Markov Models dengan toolkit
HTS.
Sintesa suara
menggunakan
HTS_engine.
Analisa Teks
menggunakan
Festival TTS dan
Festvox.
Bahasa yang
8
digunakan
Xitsonga.
2. Elok Anggrayni, Pembuatan Perangkat Aplikasi dibangun
Sekartedjo, dan Basis Data untuk Sintesis menggunakan
Dhany Arifianto Ucapan (Natural Speech Festival TTS.
(2013), Teknik Fisika Synthesis) Berbahasa HMM dimodelkan
di Institusi Teknologi Indonesia Berbasis dengan
Sepuluh Nopember Hiddem Markov Model menggunakan HTS.
(ITS) (HMM) Bahasa yang
digunakan
Indonesia.
3. Elok Chyaingtyas, dan HMM-based Indonesian HMM dimodelkan
Dhany Arifianto Speech Synthesis System dengan toolkit
(2015), Teknik Fisika with Declarative and HTS.
di Institut Tekonologi Question Senteces Bahasa yang
Sepuluh Nopember Intonation digunakan bahasa
(ITS). Indonesia.
Jenis kalimat yang
digunakan untuk
tahap latih yaitu
kalimat deklaratif,
tanya dan gabungan
keduannya.
4. Mumtaz B. Mustafa, EM-HTS: Real-Time Sistem
Raja N. Ainon dan HMM-Based Malay menggunakan
Roziati Zainnuddin Emotional Speech toolkit HTS.
(2010) Fakultas Synthesis NASH duration
Computer Science dan generator
Information digunakan pada
Technology di tahap latih.
Universitas Malaya. Bahasa yang
digunakan bahasa
melayu standar.
9
efek kontekstual, karakteristik pembicara, dan emosi. Fonem adalah lambang bahasa yang
berfungsi pembeda makna.
IPA (international Phonetic Alphabeth) terdiri dari sekumpulan simbol dari fonem,
suprasegmental, nada/kontur aksen kata, dan diakritik. IPA merupakan salah satu bentuk
standar untuk membangun sebuah alfabet fonetis yang tidak tergantung pada suatu bahasa
(Sami, 1999:18).
2.2.2 Model Produksi Ucapan
Terdapat beberapa cara suara terbentuk dari cara pengucapan. Suara voiced yaitu
vokal yang dihasilkan ketika sistem saluran vokal ditekan oleh gelombang tekanan udara
disebabkan oleh pembukaan dan penutupan lubang glotal hampir secara berkala (membuka
diantara pita suara) seperti /UH/ dan /IY/. Suara unvoiced dihasilkan dengan membuah
sebuah penyempitan pada suatu tempat di dalam sistem saluran vokal dan menekan udara
yang lewat dengan penyempitan tersebut, dengan demikian menghasilkan turbulensi aliran
udara, yang berperan sebagai pembangkit suara acak (random noise excitation) pada sistem
saluran vokal seperti /SH/ dan /S/. (Lawrence R. Rabiner dan Ronald W. Schafer, 2007:17-
21).
Suara voiced terdiri dari frekuensi dasar (F0) dan komponen harmonik yang
dihasilkan oleh pita suara. Sedangkan suara unvoiced alami tidak memiliki frekunsi dasar
dalam sinyal pembangkit (excitation) ataupun struktur harmonik, dan pembangkit dianggap
sebagai white noise. (Sami, 1999:11).
Bahasa Melayu Pontianak adalah bahasa yang dipakai oleh penutur asli dari 22
kampung dalam wilayah 4 kecamatan di Kotamadya Daerah Tingkat II Pontianak sesuai
dengan Laporan Tahunan Kantor Sosial Politik tahun 1980/1981. Bahasa ini dituturkan
oleh orang Melayu yang ada di kota Pontianak. Bahasa Melayu Pontianak memiliki
kemiripan dengan bahasa Indonesia karena bahasa Melayu Pontianak berkembang dengan
berdampingan dengan bahasa Indonesia dan berbagai bahasa daerah lain karena bahasa ini
banyak dituturkan di kota Pontianak. Dalam bahasa melayu tidak memiliki tingkatan
berbahasa seperti halus, sebaya, atau kasar. Kasar dan halusnya seseorang berbicara
tergantung pada penekanan nada dan intonasi. (Mustafa Kamal, dkk, 1986:2).
Fonologi adalah salah satu cabang ilmu bahasa (linguistik) yang mengkaji dan
menganalisis bunyi ujaran pada suatau bahasa dengan cara mempelajari bagaimana bunyi
ujaran itu dihasilkan oleh alat ucap manusia (artikulator), bagaimana bunyi ujaran itu
sebagai getaran udara, bagaimana ujaran itu diterima oleh telinga manusia, dan bagaimana
bunyi ujaran itu dalam fungsinya sebagai pembeda makna.
Bunyi bahasa yang disebut fon dibentuk dengan cara diartikulasikan. Berdasarkan
sifatnya, artikulator terbagi dua, yaitu aktif dan pasif. Artikulator aktif biasanya berpindah-
pindah posisi untuk menentukan titik artikulasi guna menghasilkan bunyi bahasa. Oleh
karena vokal tidak mempunyai artikulasi, strukturnya ditentukan oleh celah antara lidah
dan langit-langit.
Perbedaan fonem bahasa Indonesia dan fonem bahasa Melayu dialek Pontianak
adalah fonem bahasa Melayu dialek Pontianak tidak memiliki bunyi f, v, z, x, dan q
(Hikmah, 2015) dan terdapat perbedaan teratur yang meliputi akhiran kata [a]-[∂], [i]-[ε],
[u]-[O], [r]-[k], dan [Ø]-[k] (Erick dan Umi, 2016).
2.3.1 Vokal
Vokal adalah bunyi ucapan yang terbentuk oleh udara yang keluar dari paru-paru
dan ketika melalui tenggorokan mendapat hambatan. Kualitas vokal umumnya ditentukan
tiga hal yaitu bulat-hampanya bibir, atas-bawah lidah, dan maju-mundur lidah. Pemberian
klasifikasi vokal diperkenalkan oleh Daniel Jones (1958:18) dengan istilah sistem vokal
kardinal. Vokal kardinal adalah bunyi vokal yang mempunyai kualitas tertentu, yang telah
dipilih sedemikian rupa untuk dibentuk dalam suatu rangka gambar bunyi. Rangka gambar
bunyi ini dapat dipakai sebagai acuan perbandingan dalam deskripsi vokal seluruh bahasa
13
Diftong naik (rising diphtongs) ialah jika vokal yang kedua diucapkan dengän
posisi lidah Iebih tinggi daripada yang pertama. Karena lidah semakin menaik, dengan
demikian stnikturnya semakin tertutup, sehingga diftong mi juga dapat disebut diftong
menutup (closing diphtongs). Berikut akan diuraikan diftong naik dalam bahasa Indonesia
dan bahasa Inggris.
Menurut Soebardi (1973:8-9), bahasa indonesia mempunyai tiga jenis diftong naik,
yaitu:
a) Diftong naik-menutup-maju [aI], misalnya pada kata pakai, lalai, pandai, nilai, tupai,
sampai.
b) Diftong naik-menutup-maju [oi], misalnya pada kata amboi, sepoi-sepoi.
c) Diftong naik-menutup-mundur [aU], misalnya pada kata saudara, saudagar, lampau,
surau, pulau, kacau.
2.3.3 Konsonan
Menurut Marsono (1989:60), perbedaan klasifikasi vokal dengan konsonan terletak
pada fisiologisnya karena antara konsonan yang konsonan yang satu dengan yang lainnya
lebih mudah dibedakan daripada vokal-vokal. Konsonan dibedakan menurut:
a) cara hambat (cara artikulasi) atau tempat hambatan (tempat artikulasi),
b) hubungan posisional antara penghambat-penghambatnya atau hubungan antara
artikulator aktif dan pasif (struktur), dan
c) bergetarnya pita suara.
Berdasarkan cara artikulasi atau jenis halangan udara yang terjadi pada waktu udara
keluar dari rongga ujaran, konsonan dapat dibedakan atas konsonan hambat, frikatif,
spiran, lateral, dan getar.
a) Konsonan hambat (stop), yaitu konsonan yang dihasilkan dengan cara menghalangi
sama sekali udara pada daerah artikulasi. Konsonan yang dihasilkan ialah [p], [t], [c],
[k], [b], [d], [j], [g], dan [?]. Konsonan hambat yang disudahi dengan letupan disebut
konsonan eksplosif, misalnya [p] pada kata lapar, pukul, dan lipat. Konsonan hambat
yang tidak diakhiri oleh letupan disebut konsonan implosif, misalnya [p] pada kata
kelap, gelap, dan tetap.
b) Konsonan geser (frikatif), yaitu konsonan yang dihasilkan dengan cara menggesekkan
udara yang keluar dari paru-paru. Konsonan yang dihasilkan ialah [f], [v], [x], [h], [s],
[Š], z, dan x.
15
c) Konsonan likuida atau lateral, yaitu konsonan yang dihasilkan dengan menaikkan
lidah ke langit-langit sehingga udara terpaksa diaduk dan dikeluarkan melalui kedua
sisi lidah. Konsonan yang dihasilkan ialah [l].
d) Konsonan getar (trill), yaitu konsonan yang dihasilkan dengan mendekatkan dan
menjauhkan lidah ke alveolum dengan cepat dan berulang-ulang sehingga udara
bergetar. Bunyi yang terjadi disebut konsonan getar apikal [r]. Jika uvula yang
menjauh dan mendekat ke belakang lidah terjadi dengan cepat dan berulang-ulang,
akan terjadi konsonan getar uvular [R].
e) Semi-vokal, yaitu bunyi konsonan yang pada waktu diartikulasikan belum membentuk
konsonan murni. Misalnya, semivokal [w] dan [y]. Bunyi bilabial [w] dibentuk dengan
tempat artikulasi yang berupa bibir atas dan bibir bawah.
Berdasarkan strukturnya, yakni hubungan antara artikulator dan titik artikulasi,
konsonan dalam bahasa Indonesia dapat dibedakan atas konsonan bilabial, labiodental,
apikodental, apiko-alveolar, palatal, velar, glottal, dan konsonan laringal.
a) Konsonan bilabial, yaitu konsonan yang dihasilkan dengan mempertemukan kedua
belah bibir yang bersama-sama bertindak sebagai artikulator dan titik artikulasi. Bunyi
yang dihasilkan ialah [p], [b], [m], dan [w].
b) Konsonan labiodental, yaitu konsonan yang dihasilkan dengan mempertemukan gigi
atas sebagai titik artikulasi dan bibir bawah sebagai artikulator. Bunyi yang dihasilkan
ialah [f] dan [v].
c) Konsonan apiko-dentall, yaitu konsonan yang dihasilkan dengan ujung lidah (apex)
yang bertindak sebagai artikulator dan daerah antar gigi (alveolum) sebagai titik
artikulasi. Bunyi yang dihasilkan ialah [s], [z], [r], [l].
d) Konsonan palatal atau lamino-palatal, yakni konsonan yang dihasilkan oleh bagian
tengah lidah (lamina) sebagai artikulator dan langit-langit keras (palatum) sebagai titik
artikulasi. Bunyi yang dihasilkan [c], [j], [Š], [ñ], dan [y].
e) Konsonan velar atau dorso-velar, yaitu konsonan yang dihasilkan oleh belakang lidah
(dorsum) sebagai artikulator dan langit-langit lembut (velum) sebagai titik artikulasi.
Bunyi yang dihasilkan ialah [k], [g], [x], dan [].
f) Konsonan glottal atau hamzah, yaitu konsonan yang dihasilkan dengan posisi pita
suara sama sekali merapat sehingga menutup glotis. Udara sama sekali dihalangi.
Bunyi yang dihasilkan ialah ?.
16
g) Konsonan laringal, yaitu konsonan yang dihasilkan dengan pita suara terbuka lebar
sehingga udara yang keluar digesekkan melalui glotis. Bunyi yang dihasilkan ialah h.
Berdasarkan posisi pita suara atau bergetar tidaknya pita suara, konsonan dapat
dibedakan atas konsonan bersuara dan konsonan tak bersuara.
a) Konsonan bersuara, yaitu konsonan yang terjadi jika udara yang keluar dari rongga
ujaran turut menggetarkan pita suara. Konsonan yang dihasilkan ialah [m], [b], [v],
[n], [d], [r], [ñ], [j], [], [g], dan [R].
b) Konsonan tak bersuara, yaitu konsonan yang terjadi jika udara yang keluar dari rongga
ujaran tidak menggetarkan pita suara. Konsonan yang dihasilkan ialah [p], [t], [c], [k],
[?], [b], [d], [j], [g], [f], [s], [Š],[x], [h], [r], [1], [w], dan [y] .
Konsonan nasal merupakan konsonan yang terjadi jika udara keluar melalui
rongga hidung. Konsonan yang dihasilkan ialah [m], [n], [ñ], dan [].
Tabel 2.2 Fonem dan konsonan pada bahasa Indonesia
Cara Bersuara bilabia Labio Dental Palatal Vela Laringa Glotal
Artikulas (B) / l dental alveola r l
i tidak r
(TB)
Stop TB p t c k ?
S b d j g
Geser TB s (x) h
S (z)
Lateral B l
Getar B r
Nasal B m n ñ
Semi B w y
vocal
sumber: Fonetik (1989)
manusia. Sedangkan kejelasan adalah sebuah tingkat kemudahan untuk orang mengerti
ucapan hasil sintesa buatan.
2.4.1 Struktur TTS
Sistem TTS memiliki dua bagian utama yaitu bagian analisis teks dan bagian
sintesa gelombang suara (Sami, 1999:2). Bagian analisi teks yaitu mengubah bentuk
inputan teks menjadi kumpulan fonem atau bentuk representasi lingustik. Sedangkan,
bagian sintesa gelombang suara menghasilkan keluaran akustik berupa gelombang suara
dari informasi prosodi dan fonetik yang berasal dari bagian analisis teks.
tergantung pada parameter atau informasi sinyal yang didapatkan dari rekaman suara
seperti metode seleksi unit dan statistik parameter.
2.4.2.1 Metode artikulasi
Metode artikulasi (articulatory) menirukan sistem pengucapan manusia untuk
menghasilkan ucapan buatan. Metode ini didasarkan pada cara kerja alat artikulasi manusia
seperti saluran suara, saluran hidung, paru-paru dan laring untuk menghasilkan ucapan.
Metode ini pertama digunakan oleh seoarang profesor Rusia di bidang Fisiologi
yang bernama Christian G. Kratzenstein. Profesor Christian membuat sebuah alat resonansi
untuk menirukan sistem saluran suara manusia. Alat ini menggunakan sebuah pita yang
digetarkan untuk mengontrol udara masuk yang menyerupai pita suara manusia. Profesor
Christian menggunalkan alat resonator ini untuk menunjukan perbedaan fisiologi 5 vokal
yaitu a, i, u, e, o.
2.4.2.2 Metode formant
Formant adalah frekuensi alami yang terjadi didalam rongga bidang suara,
tergantung pada bentuk dan ukuran bidang suara dan menyerupai gaung. Metode formant
menggunakan sebuah model filter sumber yang mana menvariasikan parameter suara
seperti frekuensi formant, amplitudo atau derau untuk menghasilkan ucapan. Metode ini
dikenal sebagai analogi terminal karena metode ini hanya memodelkan sumber suara dan
frekuensi formant, namun tidak termasuk karakteristik saluran vokal. Sinyal eksitasi dapat
berupa suara yang dibunyikan frekuensi dasar (F0) atau derau yang tidak bersuara (noise
unvoiced).
sintesa ucapan yang baik namun memerlukan basis data rekaman ucapan yang besar ketika
sistem TTS ini dijalankan.
sumber: Statistical Parametric Speech Synthesis
Gambar 2.4 Skema umum sistem seleksi unit
ucapan, pengembang aplikasi yang menggunakan sintesa ucapan dan pengguna awam (end
user).
Arsitektur dasar dari Festival berkembang dari mesin sintesa yang dikembangkan
oleh Universitas Endinburgh, yaitu Osprey. Sistem ATR’s CHART merupakan pengaruh
paling penting pada Festival. Sistem Festival terdiri dari sekumpulan objek C++ dan
metode inti yang cocok untuk melakukan tugas sintesa. Objek ini mencakup sintesa objek
yang spesifik seperti gelombang suara, jejak dan pengucapan sama seperti objek umum
seperti fitur himpunan, n-gram dan pohon keputusan.
Festival menggunakan bahasa scripting berdasarkan bahasa pemogrman Scheme.
Perubahan yang dilakukan untuk membangun sintesa ucapan dapat dilakukan tanpa
membuat perubahan pada objek inti C++. Kondisi ini menyebabkan pengembangan untuk
sintesa baru lebih mudah. Festival menggunakan bahasa Lisp scheme. Festival memiliki
dua cara untuk sintesa ucapan yaitu melalui baris instruksi dan mode interaktif instruksi.
Festival juga dapat membaca teks dari stdin pada terminal atau CMD.
Gambar 5.6 menampilkan Markov chain untuk menetapkan probabilitas dari sebuah
sekuen dari kondisi cuaca, yang mana keadaannya terdiri dari HOT, COLD, WARM.
Penentuan urutan keadaan pada Markov Model menggunakan asumsi Markov. Asumsi
Markov yang ditampilkan pada persamaan 5.1 adalah probabilitas dari keadaan
bersangkutan tergantung hanya pada keadaan sebelumnnya.
Markov Assumption: P ( qi|q1 … qi−1 )=P( qi∨qi−1) (2.1)
a ij menunjukan probabilitas keadaan i menuju ke keadaan j ( P(q i∨q i−1) ¿. Dimana
total probabilitas transisi (a ij) dari suatu keadaan i harus berjumlah sama dengan 1.
A={a ij }iN, j−1, keluaran probabilitias distribusi B={bi (o)}Ni−1, probilitas awal keadaan
Π={π i }Ni−1, Notasi yang telah dipersingkan, model parameter dari HMM yaitu:
Persamaan HMM: λ={ A , B , Π } (2.2)
Keluaran probabilitas distribusi b i(o) dari data observasi o dari keadaan i dapat
berupa diskret atau kontiniu tergantung pada observasi. Dalam distribusi kontiniu HMM
(CD-HMM) untuk data observasi kontiniu, keluaran probabilitas distribusi yang biasa
dimodelkan dengan sebuah campuran dari distribusi multivariat Gaussian.
22
Salah satu contoh strukur model HMM adalah 3-state ergodic dan 3-state left-to-
right. Model 3-state ergodic merupakan sebuah model HMM dimana setiap keadaan dari
model dapat mencapat setiap keadaan lain dari model dengan sebuah transisi. Sedangkan
model 3-state left-to-right merupakan model HMM dengan indeks keadaan meningkat atau
tetap terhadap bertambahnya nilai waktu. Model N-state left-to-right merupakan model
yang paling sering digunakan sebagai unit ucapan untuk memodelkan urutan parameter
ucapan karena model ini dapat memodelkan sinyal yang memiliki properti yang berturut-
turut berubah-ubah dengan tepat.
HTS menggunakan beberapa perangkat lunak lain untuk melakukan proses training
model dan sintesa gelombang ucapan. Beberapa perangkat lunak tersebut adalah sebagai
berikut:
2.8.1.1 Hidden Markov Model Toolkit (HTK)
Hidden Markov Model Toolkit merupakan sebuah alat untuk membangun dan
memanipulasi model Hidden Markov. HTK digunakan terutama untuk penelitian
pengenalan ucapan, walaupun alat ini dapat digunakan untuk penelitian sintesa ucapan,
pengenalan karakter, dan pengurutan DNA.
HTK terdiri atas sekumpulan modul library dan alat yang tersedia pada repositori
C. Alat tersebut menyediakan fasilitas untuk analisis bunyi ucapan, melatih model HMM,
mensimulasikan, dan analisis hasil. HTK mendukung HMM dengan menggunakan
distribusi diskret dan densitas campuran Gaussian kontiniu.
2.8.1.2 Speech Signal Processing Toolkit (SPTK)
Speech Signal Processing Toolkit (SPTK) adalah sebuah rangkaian alat untuk
memproses sinyal ucapan pada platform UNIX, seperti analisis Linear Predictive Coding
(LPC), analisis PARCOR, analisis LSP, filter sintesa PARCOR, filter sintesa Line Spectral
Pairs (LSP), teknik kuantisasi vektor, dan beberapa versi lainnya. Perangkat Lunak ini
dikeluarkan dengan lisensi Modified BSD.
2.8.1.3 FestVox
Festvox adalah sebuah kumpulan alat dan script yang memperbolehkan suara untuk
dibangun dengan bahasa yang tersedia dan yang akan dibangun. Festvox mendukung
algoritma sintesis data-driven yang dikenal dengan algoritma seleksi unit (unit selection).
Festvox merupakan bagian dari projek dari grup dari Universitas Carnegie Mellon yang
meneliti mengenai sintesa ucapan.
2.8.1.4 Edinburgh Speech Tools Library
Edinburgh Speech Tools Library merupakan sekumpulan kelas C++, fungsi dan
program yang berkaitan dengan memanipulasi urutan objek yang digunakan pada
pemrosesan sinyal ucapan. Edinburgh Speech Tools Library mendukung pembacaan dan
penulisan gelombang suara, file parameter (LPC, Ceptra, F0) dengan berbagai format dan
24
mengubah format diantara format yang ada. Library ini juga mendukung tipe objek
linguistik dan berbagai format label dan ngrams (dengan smoothing).
2.8.1.5 HTS_engine
HTS_engine merupakan perangkat lunak untuk mensintesa gelombang suara ucapan
dari HMMs yang telah dilatih dari HTS (HMM-based speech synthesis system). Perangkat
lunak ini berada dibawah lisesnsi Modified BSD.
(identitas fonem, berkaitan dengan penekanan dan lokasi konteks) yang hampir sama.
Paremeter spektrum, eksitasi, dan durasi dimodelkan terpisah maka karakteristik ucapan
dapat dihasilkan secara bervariasi. Tidak semua kemungkinan kontekstual dimodelkan
karena tidak praktis. Estimasi ulang dari urutan fonem contexts-dependent terkluster akan
dikerjakan menggunakan algoritma expectation-maximization (EM). Kluster tersebut juga
digunakan untuk menghasilkan parameter ekstitasi dan spektral untuk mengamati vektor,
pengamatan vektor tidak termasuk ke dalam pelatihan korpus.
2.8.2.2 Tahap Sintesa
Teks diubah menjadi sebuah urutan label kontekstual, dan HMM pengucapan
bangun dengan menggabungkan model Hidden Markov kontekstual sesuai dengan urutan
label. Algoritma penghasil parameter ucapan menghasilkan urutan parameter spektral dan
ekstitasi dari model Hidden Markov pengucapan. Kemudian, gelombang suara ucapan
dihasilkan dari parameter spektral, eksitasi dengan mengunakan sebuah filter sintesa
ucapan (Mel Log Spectrum Approximation (MLSA) filter). (Heiga Zen, Keiichi Tokuda,
Alan W. Black, 2009).
penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang
kurang paham dengan simbol-simbol bagan alir.
4. Bagan Alir Program (Program Flowchart)
Bagan alir program (program flowchart) terdiri dari dua macam, yaitu bagan alir
logika program (program logic flowchart) dan bagan alir program komputer terinci
(detailed computer program flowchart). Bagan alir logika program digunakan untuk
menggambarkan tiap-tiap langkah didalam program komputer secara logika. Bagan alir
logika program ini dipersiapkan oleh analis sistem.
5. Bagan Alir Proses (Process Flowchart)
Bagan alir proses (process flowchart) merupakan bagan alir yang banyak digunakan
di teknik industri. Berguna bagi analis sistem untuk menggambarkan proses dalam suatu
prosedur.
2.10 Wavesurfer
Wavesurfer merupakan aplikasi editor audio yang dibanyak digunakan untuk
mempelajari fonetik akustik. Aplikasi ini dilengkapi tampilan interakti dari tekonan
gelombang suara, bagian spektral, spektrogram, penanda pitch dan transkipsi. Aplikasi ini
dapat membaca dan menuliskan beberapa bentuk format transkripsi yang digunakan dalam
penelitian industri ucapan termasuk TIMIT. Wavesurfer merupakan aplikasi gratis, yang
didistribusikan dibawa lisensi permissive free software. Wavesurfer ditulis dalam Tcl/Tk
menggunakan Snack audio library.
2.11 PHP
PHP merupakan salah satu bahasa pemrograman berbasis web yang ditulis oleh dan
untuk pengembang web. PHP pertama kali dikembangkan oleh Rasmus Lerdorf, seorang
pengembang software dan anggota tim Apache, dan diliris pada akhir tahun 1994. PHP
dikembangkan dengan tujuan awal hanya untuk mencatat pengunjung pada website pribadi
Rasmus Lerdorf. Pada rills kcduanya, ditambahkan Form Interpreter, sebuah tools untuk
melakukan penerjemahan perintah SQL. Rilis kedua disebut dengan PHP/FI. Sejak itu,
PHP mulai diterima sebagai sebuah bahasa pemrograman baru yang sangat dirninati.
Terbukti pada pertengahan tahun 1997, tercatat sekitar 50.000 situs di seluruh dunia telah
menggunakan PHP. (Solichin, 2016)
29
2.12 Python
Python adalah bahasa pemograman komputer multiguna dan optimal untuk
produktifitas, keterbacaan kode, dan kualitas perangkat lunak. Python merupakan bahasa
pemorgaman yang open source, portable dan memiliki banyak kelebihan. Python
merupakan bahasa pemograman untuk tujuan umum (general purpose) yang lebih umum
diterapkan pada peran scripting. Python merupakan bahasa scripting berbasis objek
(object-oriented). Python banyak digunakan karena Python memiliki banyak library
sehingga mempermudah implementasi pada suatu perancangan perangkat lunak (Mark
Lutz, 2013:3-9).
Python merupakan intrepreter. Intrepreter merupakan sebuah jenis program yang
mengeksekusi program lain. Python menginterpretasi program dan memanggil instruksi
terkait. Python memiliki kekurangan yaitu kecepatan eksekusi yang lebih lamban
dibanding dengan jenis bahasa pemrogran C seperti C dan C++. Python memiliki dua versi
yaitu 2.X dan 3.X (Mark Lutz, 2013).
1. Sebuah karakter,
2. Simbol ɛ atau teks kosong
3. Simbol ∅ atau himpunan kosong
4. Sebuah variabel yang nilainya dapat berupa pola apapun yang dapat didefinisikan oleh
sebuah ekspresi regular.
30
Terdapat tiga operator yang digunakan pada ekspresi regular. Ketiga operator ini
dapat digabung dengan menggunakan tanda kurung sama seperti dengan algebra. Terdapat
urutan prioritas dan hukum asosiatif yang dapat menghilangkan beberapa jenis tanda
kurung. Ketiga operator tersebut adalah sebagai berikut (Al Alho dan Jeff Ulman, 558 -
561):
1. Union
Simbol operator union pada ekspresi regular adalah “|” atau pada algebra
disimbolkan dengan “∪”. Jika terdapat R dan S sebagai ekspresi regular maka union pada
R dan S dapat dinotasikan dengan L(R|S). Ekspresi regular L(R|S) akan mencari pola
karakter yang sama dengan ekspresi regular R atau expresi regular S.
2. Concatenation
Operator concatenation tidak memiliki simbol. Operator concatenation akan
menggabungkan beberapa pola menjadi sebuah pola gabungan. Jika terdapat R dan S
sebagai ekspresi regular maka concatenation pada R dan S dapat dinotasikan dengan
L(RS). Ekspresi regular L(RS) akan mencari pola karakter yang sama dengan gabungan
ekspresi regular R dan S yaitu RS.
3. Closure
Operator closure juga disebut dengan Kleene closure. Operator closure merupakan
operator postfix atau sebuah operator yang memerlukan unit perhitungan dan operator ini
muncul setelah unit perhitungan tersebut. Operator closure dinotasikan dengan bintang (*).
Contoh notasi operator closure pada ekspresi regular adalah R*. Ekspresi regular L(R*)
akan mencari pola karakter yang sama dengan beberapa pola berikut:
(a) Teks kosong (ɛ) atau tidak ada pola yang cocok,
(b) R atau satu pola yang cocok,
(c) RR atau dua pola yang cocok dan berurutan
(d) RRR … Rn atau beberapa pola yang cocok dan berurupan
Urutan tingkat prioritas pada operator expresi regular dari yang tertinggi sampai
terendah yaitu closure, concatenation, dan union.
Pada bahasa pemrograman python, terdapat modul untuk ekspresi regular yaitu
modul re (Stubblebine, 2007:57). Beberapa meta karakter atau meta urutan yang didukung
oleh bahasa pemrograman python dapat dilihat pada tabel 2.4 sampai 2.7.
Tabel 2.4 Representasi meta karakter pada Python
31
No
Urutan Keterangan
.
1 \a Alert (bell), \x07.
2 \b Backspace, \x08, hanya didukung pada kelas karakter.
3 \n Newline, \x0A.
4 \r Carriage return, \x0D.
5 \f Form feed, \x0C.
6 \t Horizontal tab, \x09.
7 \v Vertical tab, \x0B.
8 \octal Karakter dengan tiga digit oktet
9 \xhh Karakter dengan dua digit kode heksadesimal.
10 \uhhhh Karakter dengan empat digit kode heksadesimal.
11 \Uhhhhhhhh Karakter dengan delapan digit kode heksadesimal.
sumber: Regular Expression Pocket Reference, Second Edition (2007)
5 \b Batas word.
6 \B Batas bukan word.
7 (?=...) Pencarian ke depan positif.
8 (?!...) Pencarian ke depan negatif.
9 (?<=...) Pencarian ke belakang positif.
10 (?<!...) Pencarian ke belakang negatif.
sumber: Regular Expression Pocket Reference, Second Edition (2007)
Tabel 2.7 Penggabungan, pengondisian, penangkapan dan control pada Python
No
Urutan Keterangan
.
Teks yang cocok Match text matched by earlier named
1 (?P=name)
capture group, name.
2 \n Berisi hasil nth dari submatch sebelumnya.
3 (?:...) Grup dari sub pola, tapi tidak menangkap submatch.
4 ...|... Percobaan sub pola dalam alternasi.
5 * Cocok 0 atau lebih kali.
6 + Cocok 1 atau lebih kali.
7 ? Cocok 0 atau 1 kali.
8 {n} Cocok sebanyak n kali.
9 {x,y} Cocok minimal n kali, tapi tidak boleh lebih dari y kali.
10 *? Cocok 0 atau lebih kali, tapi seminimal mungkin.
11 +? Cocok 1 atau lebih kali, tapi seminimal mungkin.
12 ?? Cocok 0 atau 1 kali, tapi seminimal mungkin.
Cocok paling sedikit x kali, tidak boleh lebih dari y kali dan
13 {x,y}?
seminimal mungkin.
sumber: Regular Expression Pocket Reference, Second Edition (2007)
Modul re mendefinisikan semua fungsi ekspresi regular. Pencocokan pola dapat
dilakukan secara langsung melalui fungsi modul atau pola dapat di-compile menjadi objek
ekspresi regular yang dapat digunakan untuk pencocokan pola yang berulang kali. Sintaks
teks raw dapat dinotasikan dengan r’ ‘ atau r” “. Sintaks tersebut dapat merincikan pola
ekspresi regular tanpa harus memberikan tanda escape yaitu backslash (\). Beberapa fungsi
yang telah didefinisikan pada modul re pada Python dapat dilihat pada tabel 2.8.
Tabel 2.8 Fungsi pada modul ekspresi regular (re) pada Python
No
Nama fungsi Keterangan
.
Mengembalikan sebuah objek ekspresi regular
1 compile(pola [, flags])
dengan pilihan mode modifiers, flags.
Mencari pola dari posisi awal teks dan
match(pola, teks [,
2 mengembalikan match object atau None jika tidak
flags])
ada.
search(pola, teks [, Mencari pola dalam teks dan mengembalikan
3
flags]) match object atau None jika tidak ada.
33
2.17 Pengujian AB
Pengujian AB adalah sebuah pengujian yang digunakan untuk mendapatkan
pandangan dari pengguna dengan membandingkan dan memberi penilaian terhadap dua
versi atau lebih untuk sebuah kalimat dengan pengucapan yang sama (Kominek,
2009:132). Selain membandingkan dua versi objek pengujian AB dapat dilakukan dengan
membandingkan dua versi atau lebih terhadap sebuah referensi objek (X). Pengujian ini
disebut dengan pengujian ABX. Pengujian AB merupakan pengujian subjektif atau
berdasarkan pilihan dengan preferensi pribadi responden.
berbeda dengan tugas yang berbeda, sehingga besar dari jarak Levenshtein tergantung pada
panjang dari teks. (Iain dkk, 2015)
S + D+ I
WER = (2.4)
Nr
Keterangan:
S = jumlah kata yang terganti pada teks hasil sintesa,
D = jumlah kata yang terhapus pada teks hasil sintesa,
I = jumlah kata yang tertambah pada teks hasil sintesa,
Nr = Jumlah kata pada teks hasil sintesa.