PENGENALAN UCAPAN VOKAL BAHASA INDONESIA DENGAN JARINGAN SARAF TIRUAN MENGGUNAKAN LINEAR PREDICTIVE CODING I v a n a – L 2F0 98 632 e-mail :
[email protected]
Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Abstrak Suara merupakan alat komunikasi paling mendasar bagi manusia. Saat ini, suara tidak hanya digunakan untuk komunikasi antar manusia tetapi juga digunakan untuk berkomunikasi dengan perangkat-perangkat teknologi, karenanya topik pengenalan suara pun semakin berkembang. Dalam Tugas Akhir ini dilakukan pengenalan vokal Bahasa Indonesia dengan metode Linear Predictive Coding (LPC) untuk analisa sinyal, sedangkan untuk pengenalan pola digunakan Jaringan Saraf Tiruan (JST) dengan algoritma pelatihan Learning Vector Quantization (LVQ). LPC merupakan suatu metode analisa sinyal yang menghasilkan sejumlah koefisien LPC sebagai representasi struktur formant. Jaringan Saraf Tiruan dengan pelatihan LVQ memiliki kemampuan mengklasifikasikan vektor masukan ke kelas target yang telah ditentukan sebelumnya. Mula-mula data suara disimpan dalam file wav, kemudian dianalisa dengan LPC. Koefisien LPC yang diperoleh dari analisa LPC selanjutnya menjadi vektor masukan JST untuk melatih jaringan. Hasil pelatihan berupa perubahan bobot jaringan sehingga diperoleh jaringan yang memiliki kemampuan pengklasifikasian. Jaringan tersebut kemudian diuji dengan mensimulasikannya pada data latihan dan data baru untuk menghasilkan persentase keberhasilan pengenalan. Eksperimen dilakukan dengan beberapa perubahan nilai parameter untuk memperoleh persentase pengenalan tertinggi. Hasil pengujian menunjukkan bahwa persentase pengenalan tertinggi diperoleh pada orde LPC 10, panjang frame 10ms, dan jumlah epoch 1000. Pengujian data latihan memberikan hasil yang lebih baik dibandingkan data baru. Vokal /a/ dan /i/ merupakan yang paling tinggi tingkat pengenalannya dan terjadi beberapa pola kesalahan pengenalan yang terjadi berulang kali. Kata kunci : pengenalan vokal, Linear Predictive Coding(LPC), Jaringan Saraf Tiruan, Learning Vector Quantization(LVQ). I.
PENDAHULUAN
1.1
Latar Belakang Suara merupakan alat komunikasi yang paling dasar yang digunakan oleh manusia. Saat ini ketika teknologi semakin berkembang, maka manusia tidak hanya berinteraksi dengan manusia saja, tetapi seringkali juga harus berinteraksi dengan perangkatperangkat teknologi. Saat ini belum banyak perangkat teknologi yang mampu mengenali bahasa lisan manusia. Ini disebabkan oleh sulitnya perangkat teknologi menangkap pesan lisan, lalu menerjemahkannya dan akhirnya menjalankan perintah yang terkandung dalam pesan lisan tersebut. Untuk kepentingan itu, tentu dibutuhkan dibutuhkan perangkat tambahan yang mencakup teknologi pengenalan suara. Pengenalan suara –dalam Tugas Akhir ini mengacu pada basis pelafalan Bahasa Indonesia– dapat dilakukan dengan menggunakan metode Linear Predictive Coding (LPC). 1.2 1.
2.
1. 2.
3. 4.
5.
Tujuan Tujuan dari tugas akhir ini adalah Menyusun program simulasi dengan program bantu MATLAB untuk mengenali suara vokal dalam lafal Bahasa Indonesia dengan Jaringan
1
Saraf Tiruan yang penciriannya menggunakan Linear Predictive Coding (LPC) dan menampilkannya dalam bentuk teks. Membandingkan hasil pengenalan vokal Bahasa Indonesia dengan menggunakan Transformasi Fourier, Transformasi Wavelet Diskret dan Linear Predictive Coding. Batasan Masalah Data yang diolah adalah vokal dalam pelafalan Bahasa Indonesia. Sampel suara diambil dari 20 orang responden yang masing-masing memiliki 25 file suara (5 sampel untuk tiap vokal). Teknik pencirian suara dengan menggunakan Linear Predictive Coding (LPC). Teknik pengenalannya melalui Jaringan Saraf Tiruan dengan algoritma pelatihan LVQ (Learning Vector Quantization). Perbandingan terhadap Pengenalan Vokal dengan Transformasi Fourier dan Transformasi Wavelet Diskret dilakukan dari sudut pandang persentase pengenalan untuk data latihan, data baru dan data tunggal.
II. DASAR TEORI 2.1
Teori Produksi Suara Bunyi dapat terjadi karena gesekan atau benturan 2 benda atau lebih yang menimbulkan getaran udara dan diterima oleh telinga. Getaran udara ini dapat pula dihasilkan oleh alat ucap manusia seperti pita suara, lidah, dan bibir. Bunyi bahasa dibuat oleh manusia untuk mengungkapkan sesuatu. Dalam pembentukan bunyi bahasa ada 3 faktor utama yang berperan yaitu sumber tenaga, alat ucap yang menimbulkan getaran, dan rongga pengubah getaran. Pada saat kita mengeluarkan nafas, paru-paru kita menghembuskan tenaga berupa arus udara yang mengalami perubahan pada pita suara yang terletak pada pangkal tenggorokan. Arus udara dari paru-paru itu dapat membuka kedua pita suara yang merapat sehingga mengakibatkan corak bunyi bahasa tertentu. Gerakan membuka dan menutup pita suara itu menyebabkan arus udara dan udara di sekitar pita suara berubah tekanannya atau bergetar. Perubahan bentuk saluran suara yang terdiri dari rongga faring, rongga mulut, dan rongga hidung menghasilkan bunyi bahasa yang berbeda-beda.
penyempitan tersebut dengan kecepatan yang cukup tinggi. Suara letupan (Plosive/Stop Sound) Adanya penutupan pada bagian vocal tract (biasanya di bagian depan) mengakibatkan aliran udara berkumpul di bagian belakang sehingga menimbulkan tekanan yang lebih besar. Bagian vocal tract yang tertutup ini dibuka secara tibatiba untuk menghasilkan eksitasi letupan
3.
Vokal (vowel) adalah bunyi bahasa yang arus udaranya tidak mengalami rintangan dan kualitasnya ditentukan oleh 3 faktor: tinggi-rendahnya posisi lidah, bagian lidah yang dinaikkan, dan bentuk bibir pada pembentukan vokal tersebut. Pada saat vokal diucapkan, bagian depan, tengah atau belakang lidah dapat dinaikkan atau diturunkan bersama rahang. Dalam bahasa Indonesia terdapat 5 vokal yaitu /a/ , /i/ , /u/ , /e/ , dan /o/. Tabel 1. Posisi lidah dalam vokal Bahasa Indonesia
Bagian Lidah Tinggi Sedang Rendah
Depan
Tengah
Belakang
i e
u o a
2.2
Linear Predictive Coding (LPC) Prinsip dasar dari pemodelan sinyal dengan menggunakan LPC adalah bahwa contoh sinyal ucapan s(n) pada waktu ke-n dapat diperkirakan sebagai kombinasi linier dari p sampel sinyal ucapan sebelumnya yaitu : s(n ) a1s(n 1) a2 s (n 2) .......... a p s (n p ) (1) dengan koefisien a1, a2, ......ap diasumsikan bernilai konstan selama frame analisis ucapan. Persamaan (1) kemudian diubah menjadi suatu persamaan yang mencakup suatu masa pembangkitan, G U(n), menghasilkan
Rongga hidung
Rongga mulut
Velum
Lidah Glottis dengan Tali-tali Suara
Batang tenggorok
p
(2)
s ( n ) a i s ( n i ) G u ( n)
Gambar 1. Organ-organ produksi suara
i 1
Organ-organ pembentuk sinyal suara meliputi : 1. Bagian Pulmonary Tract; terdiri dari paru-paru dan batang tenggorokan. 2. Bagian Larynk; terdiri dari tali-tali vokal. Ruang antara pita suara disebut glottis. 3. Bagian Vocal Tract; terdiri dari pharynk, rongga mulut, dan rongga hidung. Berdasarkan cara eksitasinya, suara dibagi menjadi 3, yaitu 1. Suara Voiced (Voiced Sound) Tekanan udara yang dibangkitkan dilewatkan pada glottis dengan pita suara yang tegang. Getaran pita suara akan mengubah aliran udara menjadi pulsapulsa yang quasi-periodic. 2. Suara Desah (Fricative/Unvoiced Sound) Suara desah diakibatkan penyempitan pada beberapa bagian vocal tract. Aliran udara yang berasal dari tenggorokan dipaksa melewati daerah
dengan u(n) adalah eksitasi ternormalisasi dan G adalah penguatan pembangkitan. Dengan mengekspresikannya dalam daerah z, diperoleh p
S ( z ) ai z i S ( z ) G U ( z )
(3)
i 1
membawa kita pada fungsi alih S ( z) 1 1 H ( z) p G U ( z ) 1 a z i A( z ) i i 1 u (n)
S(n)
+
1/A(z)
+ G Gambar 2. Model LPC
2
(4)
Analisis LPC pada dasarnya digunakan untuk mendapatkan koefisien LPC. Prosedur untuk mendapatkan koefisien LPC diperlihatkan pada Gambar 3. Sinyal ucapan diskret
PembingMetode Penjenkaian Autodelaan Sinyal korelasi (frame) Gambar 3. Blok Diagram Analisis LPC
Dalam metode autokorelasi pada tahap penjendelaan digunakan jendela hamming sebagai berikut : 2n w(n) 0.54 0.46 cos (11) N 1 Tujuan penjendelaan sinyal ucapan pada Persamaan (10) adalah untuk meruncingkan atau memperhalus sinyal dekat m=0 atau m=N-1 sehingga dapat memperkecil sinyal kesalahan pada batas daerah tersebut. Gambar 4 memperlihatkan pengaruh penjendelaan terhadap sinyal suara heri-a1.wav
Parameter Keluaran
Berdasarkan model pada Gambar 2, hubungan yang tepat antara s(n) dan u(n) adalah p
s ( n ) a k s ( n k ) G u ( n)
1
(5)
0.8
k 1
0.6
Amplitudo
Dasar permasalahan dalam suatu analisa prediktif linier (linear predictive) adalah menentukan kelompok koefisien LPC, {ak}, secara langsung dari sinyal ucapan. Karakteristik spektral ucapan yang bervariasi sepanjang waktu menyebabkan koefisien LPC pada waktu yang diberikan, n, harus diestimasi dari suatu segmen pendek dari saat terjadinya sinyal ucapan sekitar waktu n. Untuk menyelesaikan persamaan-persamaan yang harus dipecahkan untuk menentukan koefisien LPC, terlebih dulu ditetapkan ucapan jangka pendek dan segmen kesalahan pada waktu n sebagai s n (m) s (n m) (6) en ( m) e( n m) m
k 1
0.2 0 -0.2 -0.4 -0.6
waktu (msec)
-0.8 0
500
1000
1500
2000
2500
a. Masukan sinyal-suara 1 0.9 0.8
w(n)
0.7 0.6 0.5 0.4 0.3 0.2
p
s n ( m i) s n (m) aˆ k s n (m i) s n (m k )
0.4
0.1
(7)
0 0
m
Dengan melihat bahwa jangka untuk bentuk s n (m i ) s n ( m k ) adalah jangka dari waktu pendek
50
100
150
200
250
300
350
300
350
sampel
b. Hamming window 0.6
m
0.4
0.2
(8)
Amplitudo
kovarians pada sn(m), yaitu n (i, k ) s n (m i) s n (m k ) m
Persamaan (7) dapat diekspresikan dalam bentuk singkat
0
-0.2
-0.4
p
n (i,0) aˆ k n (i, k )
(9)
-0.6
k 1
-0.8 0
yang mana memberikan sekelompok persamaan p pada nilai p yang tidak diketahui. Untuk menyelesaikan Persamaan (9) untuk mendapatkan koefisien LPC optimal (aˆ k ) , yaitu dengan menghitung n (i,k) untuk 1 i p dan 0 k p, dan kemudian menyelesaikan kelompok hasil persamaan simultan p. Salah satu metode untuk menyelesaikan persamaan tersebut yang akan digunakan pada Tugas Akhir ini adalah metode autokorelasi. Pada metode autokorelasi, cara yang mudah untuk dapat membatasi limit penjumlahan m adalah dengan mengasumsikan bahwa nilai segmen sinyal ucapan sn(m) adalah nol untuk nilai m di luar interval 0 m N – 1. Cara menerapkannya adalah dengan fungsi penjendelaan terhadap sinyal ucapan seperti persamaan di bawah: s n (m) s (n m) w(n), 0 m N 1 (10)
50
100
150
200
250
sampel
c. Sinyal keluaran setelah dijendelakan Gambar 4. Pengaruh penjendelaan terhadap sinyal suara heri-a1.wav
Dengan demikian n(i,k) dapat dinotasikan kembali sebagai N 1 p
n (i, k ) s n (m i) s n (m k )
(12)
m 0
N 1 ( i k )
atau
n (i, k )
m 0
s n (m) s n (m i k )
(13)
dengan nilai batas 1 i p dan 0 k p. Dengan menganggap bahwa fungsi n(i,k) pada persamaan (13) hanya memiliki fungsi tunggal Rn (i-k) maka persamaan tersebut dapat dinotasikan kembali sebagai fungsi autokorelasi :
n (i, k ) Rn i k
3
N 1 ( i k )
m 0
s n (m) s n ( m i k )
(14)
Jika fungsi ini memiliki sifat simetris maka Rn (k) = Rn(–k), sehingga persamaan LPC pada persamaan (9) dapat dinotasikan sebagai : p
Rn i k ˆ k Rn (i ),
memberikan persamaan matematika sederhana yang dapat mengubah bobot neuron secara adaptif yaitu : wi (n) y (n) x i (n) (19) dengan = tetapan laju pembelajaran positif pada semua n data (pasangan data masukan-keluaran). Ide dasar JST adalah konsep belajar. Jaringanjaringan belajar melakukan generalisasi karakteristik tingkah laku obyek. JST menyimpan ilmu pengetahuannya dalam nilai bobot sambungan (seperti synapsis dalam otak manusia) dan elemen-elemen (neuron) yang menghasilkan keluaran. Terminologi belajar artinya membentuk pemetaan (fungsi) yang menggambarkan hubungan antara vektor masukan dan vektor keluaran. Untuk menyelesaikan permasalahan, JST memerlukan algoritma untuk belajar, yaitu bagaimana konfigurasi JST dapat dilatih untuk mempelajari data historis yang ada. Dengan pelatihan ini, pengetahuan yang terdapat pada data bisa diketahui dan direpresentasikan dalam bobot sambungannya.
(15)
1 i p
k 1
Persamaan (15) dapat dinyatakan dalam persamaan matriks sebagai berikut : ... R ( p 1) R (1) ... R ( p 2) R (2) ... R ( p 3) R (3) ... ... ... ... ... ... ... ... ... R (0) R ( p)
R (1) R ( 2) R (0) R (0 ) R (1) R (1) R ( 2) R (1) R (0 ) ... ... ... ... ... ... R ( p 1) R ( p 2) R ( p 3) n
n
n
n
n
n
n
n
n
n
n
n
n
1
n
n
2
n
n
3
n
p
n
n
(16)
Untuk mendapatkan harga koefisien LPC k dapat dilakukan dengan menggunakan Persamaan (17) R ( 0) R (1) R (2 ) R (0 ) R (1) R (1) R ( 2) R (1) R (0 ) ... ... ... ... ... ... ... ... R ( p 1) R ( p 2) R ( p 3) 1
n
n
n
2
n
n
n
3
n
n
n
p
n
n
n
... R ( p 1) ... R ( p 2) ... R ( p 3) ... ... ... ... ... R (0) n
n
n
n
1
R (1) R ( 2) R (3) (17) ... ... R ( p ) n
n
n
n
2.3.1 Learning Vector Quantization (LVQ) Jaringan LVQ mempunyai target yang akan dicapai. Lapisan kompetitif belajar mengenali dan mengklasifikasikan vektor-vektor masukan. Jika ada 2 vektor yang hampir sama, maka lapisan kompetitif akan menempatkan keduanya pada kelas yang sama. Dengan demikian LVQ belajar mengklasifikasikan vektor masukan ke kelas target yang ditentukan oleh pengguna. Arsitektur jaringan LVQ ditunjukkan pada Gambar 6.
2.3
Jaringan Saraf Tiruan JST bisa didefinisikan kurang lebih sebagai sistem komputasi yang didasarkan pada pemodelan saraf biologis (neuron) melalui pendekatan dari sifatsifat komputasi biologis (biological computation). JST bisa dibayangkan berupa jaringan dengan elemen pemroses sederhana yang saling terhubung. Elemen pemroses berinteraksi melalui sambungan yang variabel, disebut bobot, dan bila diatur secara tepat dapat menghasilkan sifat yang diinginkan. Pada tahun 1943 Warren McCulloch dan Walter Pitts memperkenalkan model matematis sederhana dari neuron, yang disebut model McCulloch-Pitts, terdiri dari banyak masukan dan satu keluaran. Model dari neuron pada Gambar 5 mempunyai persamaan N (18) y f wi x i i 1 Dengan xi = sinyal masukan, i = 1,2,3, ...,N (N = jumlah simpul masukan) wi = Bobot hubungan atau sinapsis = Treshold atau bias f() = Fungsi aktivasi y = Sinyal keluaran dari neuron x1 x2
… x
Masukan
Jaringan LVQ terdiri dari 2 lapis yaitu lapis kompetitif dan lapis linear. Lapis kompetitif disebut juga Self Organizing Map (SOM). Disebut lapis kompetitif karena neuron-neuron berkompetisi dengan algoritma kompetisi yang akan menghasilkan neuron pemenang (winning neuron).
w2
f( )
Lapis Linear
Gambar 6. Arsitektur jaringan LVQ
w1
wN
Lapis Kompetitif
y
III. PENERAPAN LINEAR PREDICTIVE CODING UNTUK PENGENALAN UCAPAN
N
Program simulasi untuk Tugas Akhir ini disusun melalui beberapa tahapan, yaitu perancangan, pembuatan, dan pengujian. Diagram alir rancangan program simulasi ditunjukkan pada Gambar 7.
Gambar 5. Model Mc-Culloch-Pitts untuk neuron
McCulloch dan Pitts tidak memberikan suatu metode agar neuron dapat mengatur sendiri atau mengadaptasi bobotnya dalam proses pembelajaran. Pada 1949, Hebb
4
program simulasi. Panjang data yang diambil sebanyak 512 titik sampel, yang mana mengasumsikan bahwa lama ucapan tiap vokal sekitar 0,064 detik (512/8000).
Mulai
Analisis LPC untuk Mendapatkan Koefisien LPC Hasil pembacaan file suara di atas selanjutnya dianalisis untuk memperoleh koefisien LPC. Metode yang digunakan dalam program simulasi ini untuk memperoleh nilai tersebut adalah metode autokorelasi.
Perekaman ucapan vokal /a/, /i/, /u/, /e/, /o/ dalam file.wav
Membaca data suara file.wav
Mulai Analisis LPC Memasukkan data hasil pembacaan file.wav Pelatihan Jaringan Saraf Tiruan
Pilih orde LPC = p Pilih panjang frame = t
Menghitung Statistik Pengenalan
Menghitung jumlah frame nf = s/(t x 8)
Pengujian jaringan dengan suara rekaman dan suara baru
Pembuatan Frame dengan jumlah frame (jf) = jf + 1
Penjendelaan dengan Hamming window
Selesai Gambar 7 Diagram alir utama program simulasi
Menghitung koefisien LPC dengan Metode Autokorelasi
Perekaman Ucapan Vokal Ucapan vokal yang akan diolah dalam program simulasi terdiri dari 2 jenis, yaitu data suara terekam dan suara masukan baru. Data suara terekam diperoleh dari data penelitian sejenis yang telah dilakukan sebelumnya yaitu Pengenalan Vokal Bahasa Indonesia dengan Jaringan Saraf Tiruan melalui Transformasi Wavelet Diskret (oleh Ignatius Leo May – L2F098630) dan Pengenalan Vokal Bahasa Indonesia dengan Jaringan Saraf Tiruan melalui Transformasi Fourier (oleh Doni Sitanggang – L2F098607. Perekaman dilakukan pada 20 orang responden, masing-masing responden memiliki 25 file suara (5 file suara untuk tiap vokal). Semua file suara disimpan dalam format wav. Data suara baru berarti file suara yang direkam saat program dijalankan karena pengguna ingin mengujikan suara yang sama sekali baru. Untuk keperluan perekaman ini, sebelumnya ada beberapa parameter yang nilainya harus ditentukan terlebih dahulu meliputi frekuensi sampling/pencuplikan, durasi waktu perekaman, jumlah bit, dan nama file suara. Perekaman ini dilakukan oleh program MATLAB dan disimpan dalam format wav.
jf = nf T Y Simpan koefisien LPC (ar)
Selesai Gambar 8. Diagram alir analisis LPC
Sinyal suara tidak bersifat stasioner, karena itu sinyal mula-mula harus di-frame dalam segmensegmen pendek. Panjang frame yang umumnya digunakan untuk memperoleh kondisi kuasi-stasioner adalah 5 – 20 ms. Setiap frame sinyal suara perlu dijendelakan untuk meminimalisai diskontinuitas pada awal dan akhir frame, yaitu dengan meratakan sinyal menuju nol pada awal dan akhir frame. Pembingkaian (windowing) dilakukan dengan menggunakan jendela hamming yang memiliki bentuk sebagai berikut : 2n w(n) 0,54 0, 46 cos 0 n N 1 N 1
Pembacaan File Suara Hasil rekaman suara untuk selanjutnya dibaca oleh program MATLAB agar dapat diolah dengan
5
Penghitungan koefisien LPC dilakukan dengan metode autokorelasi yang dapat dirumuskan dengan persamaan matriks: 1 Rn (0) 2 Rn (1) 3 Rn ( 2) ... ... ... ... p Rn ( p 1)
Rn (1)
Rn ( 2)
...
Rn (0)
Rn (1)
...
Rn (1)
Rn (0)
...
...
...
...
...
...
...
Rn ( p 1) Rn ( p 2) Rn ( p 3) ... ... Rn (0)
Rn ( p 2) Rn ( p 3) ...
1
dipilih jumlah neuron yang kecil kemudian diuji hasilnya, jika hasilnya tidak sesuai dengan yang diharapkan maka jumlah neuron ditambah lalu diuji lagi. Penambahan jumlah neuron dihentikan bila tidak lagi dihasilkan peningkatan hasil. Metode destruktif merupakan kebalikan dari metode kosntruktif. Laju pembelajaran juga ditentukan dengan cara eksperimen, dimulai dari 0,05 sampai 0,9.
Rn (1) Rn (2) Rn (3) ... ... Rn ( p )
Pengujian Jaringan Dalam program simulasi, umumnya setiap pembacaan ucapan vokal, diawali dengan proses membunyikan file suara tersebut dan menampilkan grafik. Data latihan yang akan diujikan di sini berupa 1 paket masukan yang terdiri dari 50 matriks koefisien LPC untuk masing-masing vokal. Matriks ini kemudian disimulasikan ke seluruh jaringan dari net1 sampai net10 untuk mendapatkan hasil pengenalan masing-masing vokal. Diagram alir untuk proses pengujian data latihan dan data baru ditunjukkan oleh Gambar 10.
dengan : N 1 k
R ( k ) s ( n) s ( n k ) n 0
Pelatihan Jaringan LVQ Data hasil penghitungan koefisien LPC menjadi masukan untuk pelatihan jaringan agar diperoleh perubahan bobot pada neuron. Pengklasifikasian vokal oleh JST menggunakan skema Pembagian Pasangan Biner (Binary Pair Partitioned scheme) sehingga 1 buah jaringan mengklasifikasikan 2 buah vokal. Dengan demikian digunakan 10 buah net atau jaringan yang masingmasing merupakan variasi dari 2 jenis vokal, yaitu /a//i/, /a/-/u/, /a/-/e/, /a/-/o/, /i/-/u/, /i/-/e/, /i/-/o/, /u/-/e/, /u/-/o/, dan /e/-/o/. Proses pelatihan jaringan ditunjukkan diagram alir pada Gambar 9.
Mulai
Membaca file.wav sn=wavread(‘nama_file’,512)
Mulai Analisis LPC x=lpcta(s,orde,frame)
Memasukkan data hasil penghitungan koefisien LPC
Simulasi Jaringan Syaraf LVQ Yn=sim(netn ,vokal)
Pilih jumlah iterasi = epoch Membuat jaringan LVQ net1 s.d. net 10
Menghitung persentase pengenalan
Melatih jaringan LVQ Selesai iterasi = epoch
Gambar 10. Diagram alir pengujian data latihan dan data baru
T
Masukan untuk pengujian data tunggal berupa matriks koefisien LPC dari suara baru yang baru direkam. Matriks koefisien kemudian disimulasikan pada semua net di jaringan yang memberikan persentase pengenalan terbaik. Gambar 11 menunjukkan diagram alir pengujian data tunggal yang akan memberikan hasil akhir berupa tampilan dalam bentuk teks vokal hasil pengenalan terhadap suara masukan.
Y
Simpan net1 s.d. net10
Selesai Gambar 9. Diagram alir pelatihan jaringan LVQ
Pembuatan dan pelatihan jaringan memerlukan nilai variabel-variabel elemen masukan, jumlah hidden neuron, laju pembelajaran, algoritma pembelajaran, dan epoch/iterasi. Penentuan jumlah neuron dilakukan dengan cara eksperimen. Ada 2 cara yang dapat dipilih yaitu metode konstruktif/evolutile dan destruktif/ substractive. Pada metode konstruktif pertama-tama
6
4.1
Hasil Pengujian Program Simulasi Variasi 24 kombinasi nilai parameter diuji satu persatu hingga menghasilkan 24 set jaringan yang memiliki persentase keberhasilan tertentu, baik untuk data latihan maupun data baru.
Mulai
Merekam/membaca file suara dalam bentuk wav
Yc1=1 Yc2=1 Yc3=1 Yc4=1
Y
Tabel 3. Hasil pengenalan data latihan untuk orde 8, panjang 10ms dan epoch 500 No Nama Klasifikasi Persentase Pengenalan net vokal net1 1 a dan i a_a = 100 a_i = i_a = 0 i_i = net2 2 a dan u a_a = 92 a_u = u_a = 18 u_u = net3 3 a dan e a_a = 100 a_e = e_a = 0 e_e = net4 4 a dan o a_a = 100 a_o = o_a = 20 o_o = net5 5 i dan u i_i = 100 i_u = u_i = 0 u_u = net6 6 i dan e i_i = 72 i_e = e_i = 18 e_e = net7 7 i dan o i_i = 0 i_o = o_i = 0 o_o = net8 8 u dan e u_u = 100 u_e = e_u = 0 e_e = net9 9 u dan o u_u = 66 u_o = o_u = 36 o_o = 10 net10 e dan o e_e = 100 e_o = o_e = 0 o_o =
hasil = /a/
T Yc5=1 Yc6=1 Yc7=1
Y
hasil = /i/
T Yc8=1 Yc9=1
Y
hasil = /u/
T Yc10=1
Y
hasil = /e/
T Yc10=2
Y
hasil = /o/
frame
0 100 8 94 0 100 0 80 0 100 28 82 100 100 0 100 34 64 0 100
T
Pada Tabel 3, variabel a_a berarti vokal masukan /a/ yang dikenali sebagai vokal /a/, a_i berarti vokal masukan /a/ yang dikenali sebagai vokal /i/,dan seterusnya. Selanjutnya pengenalan untuk vokal /a/ dihitung dengan rata-rata nilai variabel a_a dihitung dengan
Data tidak dapat dikenali
Selesai Gambar 11. Diagram alir pengujian data tunggal
IV.
100 92 100 100 99.5 4 Tabel 4. Statistik pengenalan untuk orde 8, panjang frame 10ms dan epoch 500 Rata - rata pengenalan vokal /a/ :
ANALISA DAN PENGUJIAN
Pada program ini terdapat beberapa parameter yang dapat divariasi, seperti yang ditunjukkan Tabel 2.
Vokal /a/ /i/ /u/ /e/ /o/
Tabel 2. Variasi nilai parameter
Parameter Orde LPC
Panjang Frame Iterasi / epoch
Variasi 8 10 14 16 10 ms 20 ms 500 1000 2000
/a/ 99.5 1 0.5 0 8.5
/i/ 0 72.5 0 2 0
/u/ 0 0 92.5 0 7.5
/e/ 0 1.5 0 98 0
/o/ 0.5 25 7 0 84
Total persentase pengenalan dihitung dengan : a_a i_i u_u e_e o_o 5 99.5 72.5 92.5 98 84 5 89.3% % pengenalan
Pengujian untuk setiap jaringan dilakukan 3 kali. Rata-rata hasil pengenalan dari ketiga pengujian ditunjukkan pada Tabel 5.
Dengan variasi dari ketiga jenis parameter di atas, maka akan diperoleh 24 kombinasi jaringan.
7
Tabel 5. Rata-rata persentase pengenalan untuk data latihan dan data baru Orde LPC 8 10 14 16
Epoch Panjang Frame
10ms 20ms 10ms 20ms 10ms 20ms 10ms 20ms
DATA LATIHAN
Tabel 7. Pengenalan untuk masing-masing vokal data baru
Vokal /a/ /i/ /u/ /e/ /o/
DATA BARU
500
1000
2000
500
1000
2000
90.1 89.5 90.8 91.5 90.4 90.6 90.8 90.9
89.6 88.8 91.6 91 90.4 90.6 91 90.8
89.5 89.4 90.5 90.7 90.4 90.4 89.4 90.3
86.9 84.7 85 85.4 84 85 84.9 85.1
85.5 86 85.1 84.4 84.9 84.6 84.9 82.9
85.3 85.9 84.7 84.7 84.8 84.5 83.7 84.3
Berdasarkan hasil analisa di atas, maka dirumuskan hal-hal yang perlu diperhatikan dalam pengenalan ucapan vokal dengan analisis LPC sebagai berikut : Orde LPC Analisis LPC akan menghasilkan suatu matriks koefisien LPC yang memiliki jumlah baris sesuai dengan sinyal suara dan jumlah kolom sesuai dengan orde LPC. Semakin besar orde LPC yang dipilih, maka semakin besar pula ukuran matriks koefisien yang dihasilkan. Orde LPC 10 memberikan hasil pengenalan yang tertinggi. Panjang Frame Panjang frame ditentukan untuk membagi-bagi sinyal dalam segmen pendek yang kuasi-stasioner. Semakin kecil panjang frame berarti semakin banyak jumlah frame untuk sinyal suara tersebut, dan akan memberikan hasil pengenalan yang lebih baik. Kualitas data latihan dan data baru Data latihan dan data baru yang diambil dalam kondisi ruang yang tidak ideal mengakibatkan banyak noise yang ikut terekam dalam file suara. Karakteristik suara manusia Setiap manusia memiliki warna suara dan cara pengucapan vokal yang berbeda-beda. Selain itu posisi dan bentuk dari artikulatornya pun tidak sama, karenanya pada analisis LPC yang didasarkan pada struktur formant, terjadi kesalahan pengenalan. Kesalahan yang umum terjadi adalah vokal /u/ dikenali sebagai /o/, vokal /e/ sebagai /i/, dan vokal /o/ sebagai /u/. Cara perekaman sinyal suara Perekaman sinyal suara yang tepat juga ikut mempengaruhi ketepatan pengenalan. Berdasarkan eksperimen, cara perekaman yang paling baik adalah : vokal diucapkan secara wajar dan tidak dibuat-buat, setelah menekan tombol untuk merekam, langsung memasukkan suara sebab jeda waktu vakum akan mengakibatkan kesalahan pengenalan, suara tidak terlalu keras dan tidak terlalu lemah.
Menurut hasil yang ditunjukkan Tabel 5, maka pengenalan terbaik untuk data latihan diperoleh untuk orde LPC 10, panjang frame 10ms, dan epoch 1000. Sedangkan untuk data baru pengenalan terbaik diperoleh pada orde LPC 8, panjang frame 10ms dan epoch 500. Perbedaan antara hasil pengenalan data latihan dan data baru disebabkan data baru memiliki karakteristik sinyal yang berbeda dengan data latihan sehingga akan memberikan koefisien LPC yang berbeda pula. Akibatnya jaringan tidak dapat mengklasifikasikan vokal masukan dengan tepat. Masalah ini dapat diatasi dengan menambah data yang dilatihkan pada jaringan sehingga referensi ciri vokal yang dimiliki jaringan bertambah banyak. Jaringan atau net dengan nilai parameter yang memberikan persentase pengenalan tertinggi, yaitu jaringan dengan orde LPC 10, panjang frame 10ms, dan epoch 1000, kemudian digunakan untuk simulasi pengenalan data tunggal. Masing-masing responden baik pada data latihan maupun data baru memiliki 5 buah file suara untuk tiap vokal, sehingga hasil pengenalan data tunggal terhadap responden untuk masing-masing vokal dapat dihitung dengan jumlah pengenalan terhadap vokal tertentu (/a/, /i/, /u/, /e/, /o/) x100% 5
Tingkat pengenalan total untuk masing-masing vokal pada data latihan dapat dihitung dengan persamaan berikut : hasil pengenalan untuk masing - masing vokal x100% jumlah responden
Dengan menggunakan persamaan di atas, maka hasil pengenalan total untuk masing-masing vokal pada data latihan ditunjukkan Tabel 6. Tabel 6. Pengenalan untuk masing-masing vokal data latihan
Vokal /a/ /i/ /u/ /e/ /o/
Pengenalan (%) 92 96 50 48 26
Pengenalan (%) 90 92 84 82 80
4.2
Perbandingan Metode Analisis LPC dengan Metode Transformasi Fourier Cepat dan Transformasi Wavelet Diskret Prinsip dasar dari analisis LPC adalah menghasilkan struktur formant (spectral envelope) dari sinyal suara, yang mengacu pada sumber dan vocal tract. Vocal tract terdiri dari faring dan rongga mulut. Bentuk spectral envelope digolongkan berdasarkan
Tabel 7 menunjukkan hasil pengenalan total untuk masing-masing vokal pada data baru.
8
Tabel 8. Perbandingan pengenalan suara dengan metode FFT, DWT dan LPC
Dasar perbandingan Parameter
Langkah pemrosesan
Jumlah variasi Pengenalan terbaik Pengenalan data tunggal
FFT (Fast Fourier Transform)
DWT (Discrete Wavelet Transform) Jumlah titik uji dan epoch Wavelet induk, level dekomposisi dan epoch Menentukan jumlah Memilih wavelet titik uji induk dan level dekomposisi Transformasikan dalam kawasan Menentukan struktur frekuensi wavelet Menghitung koefisien aproksimasi 9 27 Data latih : 95% Data latih : 75,4% Data baru : 87,8% Data baru : 51,9% Data latih Data latih /a/ : 98% /a/ : 44% /i/ : 74% /i/ : 18% /u/ : 80% /u/ : 56% /e/ : 66% /e/ : 68% /o/ : 20% /o/ : 64% Data baru Data baru /a/ : 92% /a/ : 24% /i/ : 74% /i/ : 0% /u/ : 38% /u/ : 4% /e/ : 52% /e/ : 44% /o/ : 20% /o/ : 38%
sejumlah puncak yang disebut formant, sementara formant sendiri merupakan model resonan dari vocal tract. Transformasi Fourier Cepat pada dasarnya mengubah sinyal dari domain waktu menjadi domain frekuensi sehingga diperoleh spektrum gelombang (distribusi frekuensi) dari sinyal. Sedangkan Transformasi Wavelet Diskret merupakan representasi sinyal dalam ruang vektor yang berenergi terbatas, merupakan fungsi band-pass dan merupakan hasil translasi dan dilasi. Pada transformasi wavelet diskret digunakan skala dan posisi berdasarkan pangkat dua. Dalam percobaan yang dilakukan sebelum Tugas Akhir ini dibuat, telah dicoba untuk melakukan pengenalan ucapan vokal dengan menggunakan Tranformasi Fourier Cepat dan Transformasi Wavelet Diskret, karena itu dipandang perlu untuk melakukan perbandingan terhadap ketiga eksperimen tersebut. Hasil perbandingan ditampilkan dalam Tabel 8. Berdasarkan Tabel 8 maka dapat disimpulkan bahwa pengenalan ucapan vokal dengan Transformasi Fourier memiliki persentase pengenalan yang paling tinggi untuk data dalam bentuk paket matriks, sedangkan analisis LPC memiliki persentase pengenalan yang paling baik dan merata untuk pengenalan data tunggal.
LPC (Linear Predictive Coding) Orde LPC, panjang frame dan epoch Menentukan orde LPC dan panjang frame Menghitung koefisien LPC
24 Data latih : 91,6% Data baru : 86,9% Data latih /a/ : 90% /i/ : 92% /u/ : 84% /e/ : 82% /o/ : 80% Data baru /a/ : 92% /i/ : 96% /u/ : 50% /e/ : 48% /o/ : 26% V. PENUTUP
5.1
Kesimpulan Kesimpulan yang dapat diambil dari pembuatan dan pengujian program simulasi pengenalan ucapan ini adalah sebagai berikut : 1. Analisis LPC dapat digunakan untuk proses pengenalan ucapan vokal yang berperan untuk memberikan struktur formant dari suatu sinyal suara. 2. Orde LPC yang digunakan dalam analisis LPC menentukan hasil pengenalan jaringan, dimana orde yang memberikan hasil terbaik adalah LPC10. 3. Panjang frame yang lebih kecil (10ms) yang digunakan dalam analisis LPC akan memberikan hasil yang lebih baik dibandingkan panjang frame yang lebih besar (20ms). 4. Tingkat pengenalan data latihan lebih tinggi dibandingkan data baru. 5. Perbandingan hasil pengenalan dengan analisis LPC terhadap metode Tranformasi Fourier Cepat dan Transformasi Wavelet Diskret menunjukkan bahwa Transformasi Fourier memiliki persentase pengenalan yang paling tinggi untuk data dalam bentuk paket matriks, sedangkan analisis LPC
9
memiliki persentase pengenalan yang paling baik dan merata untuk pengenalan data tunggal.
12. Sitanggang, Doni, Pengenalan Vokal Bahasa Indonesia dengan Jaringan Saraf Tiruan melalui Transformasi Fourier, Jurusan Teknik Elektro Universitas Diponegoro, Tugas Akhir, 2002. 13. Spanias, Andreas, Matlab-Based Project on The Linear Predictive Coding Algorithm Used in Cellular Phones, 2002. 14. The Connexions Project, Speech Processing : Theory of LPC Analysis and Synthesis, Creative Common Attribution, 2002.
5.2 Saran 1. Penelitian dapat dikembangkan hingga ke pengenalan suku kata, kata atau bahkan kalimat. 2. Analisis LPC dalam program ini hanya sampai pada tingkat koefisien LPC, untuk pengembangan lebih lanjut dapat dilakukan hingga penghitungan koefisien cepstral. 3. Penambahan data latihan dengan responden yang memiiki berbagai variasi warna suara untuk semakin melengkapi referensi jaringan. 4. Peningkatan arsitektur jaringan LVQ dengan penambahan jumlah hidden neuron, laju pembelajaran dan jumlah epoch.
Ivana – L 2F0 98 632, lahir di Medan, 3 September 1980. Saat ini sedang menjalani proses untuk menyelesaikan studi Strata 1 di Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro Semarang.
DAFTAR PUSTAKA 1.
Bradbury, Jeremy, Linear Predictive Coding, paper, 2002 2. C. De Stefano, C. Sansone and M. Vento, Comparing Generalization and Recognition Capability of Learning Vector Quantization and Multi-Layer Perceptron Architectures, University of Naples, Napoli. 3. Christman, Michael, Spoken Word Recognition Using Cepstral Analysis, Virginia Tech, 2001. 4. Gold, Ben, and Nelson Morgan, Speech and Audio Signal Processing : Processing and Perception of Speech and Music, John Wiley & Sons, Inc., New York, 1999. 5. Hanselman, Duane, and Bruce Littlefield, MATLAB : Bahasa Komputasi Teknis, Penerbit ANDI, Yogyakarta, 2000. 6. Himawan, Roziq, Teknologi Analisa Data : Aplikasinya pada Pengujian Tidak Merusak dengan Metode Ultrasonic, IECI Japan Refreshing Seminar, 2001. 7. Ikuta, Hisatoshi, Yoshihisa Ishida, Takashi Honda, and Yasuhiko Arai, Spoken Word Recognition Using LVQ Based on DP Matching, Meiji University, Yokohama. 8. Indrajaya, Yunes, Pemampatan Isyarat Tutur Menggunakan Penyandian Prediktif Linear, Jurusan Teknik Elektro Universitas Diponegoro, Tugas Akhir, 2002. 9. May, Ignatius Leo, Pengenalan Vokal Bahasa Indonesia dengan Jaringan Saraf Tiruan melalui Transformasi Wavelet Diskret, Jurusan Teknik Elektro Universitas Diponegoro, Tugas Akhir, 2002. 10. Proakis, John. G, and Dimitris G. Manolakis, Pemrosesan Sinyal Digital : Prinsip-prinsip, Algoritma, dan Aplikasi, PT Prenhallindo, Jakarta, 1995. 11. Rabiner, Lawrence and Biing-Hwang Juang, Fundamentals of Speech Recognition, PTR Prentince-Hall Inc., New Jersey, 1993.
Mengetahui/Mengesahkan,
10
Pembimbing I
Pembimbing II
Wahyudi, ST, MT NIP. 132 086 662
Achmad Hidayatno, ST, MT NIP. 132 137 933