TINJAUAN PUSTAKA Pengenalan Suara Menurut Peacock (1990), pengenalan suara merupakan kemampuan untuk mengidentifikasi kata-kata yang diucapkan. Terdapat 5 faktor yang dapat mengontrol dan menyederhanakan sistem pengenalan suara, yaitu: Isolated Word. Suara yang memiliki unsur isolated word (jeda yang pendek di antara kata) akan lebih mudah untuk dikenali daripada continous speech karena sulit untuk menemukan batasan dari sebuah kata pada continous speech. Single speaker. Suara dari satu pembicara akan lebih mudah dikenali daripada suara dari banyak pembicara karena akan lebih banyak parameter untuk merepresentasikan suara dari pembicara tertentu. Vocabulary size. Ukuran kosakata dari suara yang ingin dikenali memiliki pengaruh yang sangat kuat dalam menentukan akurasi dari suatu sistem. Grammar. Urutan dari kata-kata yang diperbolehkan sistem bergantung pada grammar dari wilayah pengenalan. Banyaknya pembatasan pada pemilihan kata dimaksud untuk mengurangi kekacauan dari grammar. Lingkungan. Latar belakang noise, perubahan dalam karakteristik mikrofon dan kekerasan suara bisa memengaruhi akurasi dari sebuah sistem. Representasi Gelombang Sinyal Sinyal suara dapat direpresentasikan sebagai bentuk gelombang. Pada Gambar 1 ditunjukkan bentuk gelombang yang ditandai dengan beberapa fitur, yaitu sampling frequency sebesar 11025 Hz, resolusi 8 bit (256 level kuantisasi), panjang (L) dari file adalah 7000 sample. Dari Gambar 1, bentuk gelombang yang pertama memiliki garis horizontal yang menunjukkan banyaknya sample sedangkan gelombang yang kedua menunjukkan garis horizontal sebagai variabel waktu.
Gambar 1 Bentuk gelombang dari kata ‘test’ (Al-Kaidi 2007). Pada Gambar 1 telah ditunjukkan bentuk gelombang dari kata ‘test’. Kata ‘test’ ini terdiri atas 4 suara, yaitu ‘t’, ‘e’, ‘s’, ‘t’. Untuk mengenali sela kecil sebelum huruf ‘t’ yang terakhir dimungkinkan karena kata tersebut diucapkan dengan berbeda dan pelan. Jika diperhatikan, bentuk gelombang tersebut dapat dilihat perbedaannya secara visual. Dengan demikian, didapat 4 suara independent dari gelombang ini yang ditunjukkan Gambar 2.
Gambar 2 Empat suara dari kata ‘test’ : ‘t’, ‘e’, ‘s’, ‘t’ (Al-Kaidi 2007). Berdasarkan Gambar 2, dapat disimpulkan bahwa dengan memeriksa bentuk gelombang dapat diketahui bentuk-bentuk suara, yaitu (AlKaidi 2007) : 1. Huruf konsonan biasanya memiliki struktur noisy, sedangkan huruf vokal memiliki bentuk periodik yang alami. 2. Bentuk gelombang suara ‘t’ di awal dan di akhir adalah sama dan keduanya memiliki karakter yang explosive. 3. Huruf ‘s’ terlihat seperti white noise. Fonem Menurut Kamus Besar Bahasa Indonesia (KBBI) fonem merupakan satuan bunyi terkecil yang mampu menunjukkan kontras makna. Misal /h/ adalah fonem karena membedakan makna kata harus dan arus, sedangkan /b/ dan /p/ adalah dua fonem yg berbeda karena bara dan para memiliki makna yang berbeda.
2
Pemrosesan Suara Sinyal suara merupakan gelombang longitudinal yang tercipta dari tekanan udara yang berasal dari paru-paru yang berjalan melewati lintasan suara menuju mulut dan rongga hidung dengan bentuk artikulator yang senantiasa berubah (Al-Kaidi 2007, diacu dalam Buono 2009). Secara umum sinyal dapat diklasifikasikan dalam beberapa jenis yaitu : sinyal waktu kontinu, sinyal waktu diskret, sinyal nilai kontinu, sinyal nilai diskret, sinyal random dan sinyal non-random. Sinyal waktu kontinu atau sinyal analog merupakan sinyal yang belum melalui proses apapun sedangkan sinyal nilai diskret merupakan sinyal analog yang telah melalui proses sampling, kuantisasi, dan coding (Proakis & Manolakis 1996). Pemrosesan suara merupakan teknik menransformasi gelombang longitudinal menjadi informasi berarti yang diinginkan (Buono 2009). Proses transformasi terdiri atas beberapa tahap yaitu digitalisasi sinyal analog, ekstrasi ciri dan pengenalan pola untuk klasifikasi seperti diilustrasikan pada Gambar 3.
waktu kontinu (sinyal analog) sehingga didapat sinyal waktu diskret. Jumlah titik- titik yang diambil setiap detik disebut sampling rate. Misalkan sinyal analog di-sampling dengan sampling rate sebesar 11000Hz, ini berarti setiap detik di-sampling sebanyak 11000 kali. Dalam proses sampling, untuk menghindari aliasing maka perlu diperhatikan kriteria Nyquist rate yang menyatakan bahwa sebuah sinyal harus memiliki sampling rate yang lebih besar dari 2Fmax . Komponen frekuensi untuk kelompok sinyal suara berada di bawah 3000 Hz, sedangkan untuk kelompok sinyal radio frekuensinya mencapai 5MHz (Proakis & Manolakis 1996). Kuantitasi adalah proses memetakan nilainilai dari nilai sinyal kontinu menjadi nilainilai yang diskret sehingga didapatkan sinyal nilai diskret. Kuantisasi dilakukan dengan cara membulatkan nilai hasil sampling ke nilai terdekat (rounding) sehingga menghasilkan sinyal suara digital. Ekstrasi ciri merupakan proses untuk menentukan penciri dari sebuah objek. Pengenalan pola untuk klasifikasi dapat dilakukan dengan beberapa metode pengklasifikasian yang ada. Konversi Sinyal Analog ke Sinyal Digital Langkah- langkah proses konversi dari sinyal analog ke sinyal digital, yaitu (Proakis & Manolakis 1996) : 1. Sampling Sampling merupakan konversi dari sinyal waktu kontinu ke sinyal waktu diskret yang didapat dengan mengambil samples dari sinyal waktu kontinu pada waktu diskret seketika itu juga. Dengan demikian, jika xa (t) adalah input untuk sampler, maka output–nya adalah xa(nT) = x (n)
-∞
dengan x(n) adalah sinyal waktu yang diperoleh dengan mengambil dari sinyal analog setiap T sekon adalah sampling interval. Ilustrasi konversi ditunjukkan oleh Gambar 4. xa (t) Gambar 3 Proses transformasi sinyal analog menjadi informasi (Buono 2009). Di dalam proses digitalisasi sinyal analog terdapat dua teknik yaitu sampling dan kuantisasi. Sampling merupakan proses mengambil nilai-nilai sinyal pada titik- titik diskret sepanjang variabel waktu dari sinyal
Sinyal analog
diskret sample dan T proses
x (n)= xa(nT) Fs = 1/T sampler
Sinyal waktu diskret
Gambar 4 Ilustrasi proses konversi sinyal analog menjadi sinyal waktu diskret.
3
2. Kuantisasi Dalam kuantisasi terjadi proses konversi dari waktu diskret (sinyal nilai kontinu) ke waktu diskret (sinyal nilai diskret). Sinyal waktu diskret yang memiliki nilai bersifat diskret disebut sebagai sinyal digital. Nilai dari setiap sample sinyal oleh nilai yang diperoleh dari finite set dari nilai yang mungkin. Perbedaan antara sample yang tak terkuantisasi x(n) dengan output yang terkuantisasi xq (n) disebut dengan error kuantisasi. 3. Coding Dalam proses coding, setiap nilai diskret xq (n) direpresentasikan oleh rangkaian b- bit biner. Ekstrasi Ciri Ekstrasi ciri merupakan proses untuk menentukan suatu nilai atau vektor yang dapat digunakan sebagai penciri objek atau individu. Di dalam pemrosesan suara, ciri yang biasa dipergunakan adalah nilai koefisien cepstral dari sebuah frame. Salah satu teknik ekstrasi ciri sinyal suara dengan kinerja yang baik adalah Mel-Frequency Cepstral Coefficient (MFCC). MFCC didasarkan pada variasi frekuensi batas pendengaran manusia yaitu 20Hz sampai 20000Hz. Diagram blok proses MFCC dalam mengekstrak sinyal suara dapat dilihat pada Gambar 5 continous speech
Frame blocking
frame
Windowing
FFT spectrum
mel spectrum
Cepstrum
mel spectrum
Mel-frequency wrapping
Gambar 5 Diagram blok proses MFCC (Do 1994). Berikut ini adalah proses MFCC (Do 1994) : Frame blocking Setelah sinyal analog didigitalkan dengan sampling dan kuantisasi, dilakukan proses frame blocking pada sinyal digital. Dalam proses ini sinyal suara dibagi ke dalam beberapa frame dengan lebar tertentu yang saling tumpang tindih (overlap). Keadaan overlap antar frame ini ditujukan agar tidak ada sedikitpun sinyal yang hilang.
Windowing Pada setiap frame dari hasil frame blocking dilakukan windowing. Proses windowing dilakukan dengan mengalikan sinyal digital dengan fungsi window tertentu yang berukuran sama dengan ukuran frame. Tujuan proses ini adalah untuk meminimalisasi distorsi (ketidakberlanjutan sinyal) antar frame. Salah satu fungsi window yang memiliki formula yang sederhana adalah window Hamming. Window Hamming didefinisikan dalam persamaan berikut: , 0 ≤ n ≤ N-1 ,
W(n) = 0,54-0,46cos
dengan N adalah panjang window. Fast Fourier Transform (FFT) FFT merupakan salah algoritme Discrete Fourier Transform (DFT) yang berguna untuk mengonversi sinyal dari domain waktu menjadi domain frekuensi. Fungsi FFT didefinisikan sebagai berikut: xn = ∑
.
.. .
,
dengan n = 0,1,2…, N-1 Hasil akhir dari proses ini seringkali ditujukan sebagai spectrum atau periodogram. Mel-Frequency Wrapping, Setiap orang memiliki persepsi yang berbeda terhadap penerimaan suara sehingga tidak dapat diukur dalam skala linear pada frekuensi di atas 1000Hz. Penerimaan untuk frekuensi rendah, filter yang digunakan menggunakan skala linear, sedangkan untuk frekuensi tinggi (>1000Hz), filter dibentuk dengan skala logaritma. Persamaan berikut menunjukkan hubungan antara skala mel dengan frekuensi dalam Hz.
Fmel
=
Proses wrapping terhadap sinyal dalam domain frekuensi dilakukan menggunakan persamaan berikut:
, dengan i = 1, 2, 3,… M (jumlah filter segitiga) dan Hi(k) adalah nilai filter segitiga ke I untuk frekuensi akustik sebesar k.
4
Cepstrum Langkah terakhir adalah mengonversi mel spectrum kembali ke domain waktu. Hasilnya disebut mel frequency cepstrum coefficients (MFCC). Karena koefisien mel cepstrum adalah nilai real maka dapat dikonversi ke dalam domain waktu dengan Discrete Cosine Transform (DCT). Nilai koefisien MFCC dapat diperoleh menggunakan transformasi kosinus dengan persamaan sebagai berikut :
, dengan j= 1, 2, 3,…, K. K merupakan jumlah koefisien MFCC yang diinginkan dan M adalah jumlah filter. Jaringan Syaraf Tiruan Menurut Fausset (1994), jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologis. Neural Network merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Pemodelan secara matematisnya didasarkan pada beberapa asumsi, yaitu (Fausset 1994) :
Sementara itu, jaringan kompetitif pada Gambar 5 merupakan contoh dari jaringan recurrent, dimana ada neuron output yang memberikan sinyal pada unit input. Berikut beberapa arsitektur jaringan yang sering digunakan dalam JST, antara lain : 1. Jaringan Single Layer Jaringan single layer terdiri atas satu lapisan input dan satu lapisan output dengan setiap neuron yang saling terhubung. Dalam jaringan ini, semua unit input dihubungkan dengan semua unit output dengan bobot yang berbedabeda. Tidak ada unit input yang dihubungkan dengan unit input lainnya. Demikian pula dengan unit output, tidak ada unit output yang terhubung dengan unit output yang lain (Fausett 1994). Selama proses pelatihan, bobot tersebut dimodifikasi untuk meningkatkan keakuratan hasil. Arsitektur jaringan single layer dapat dilihat pada Gambar 6. Nilai input X1
X2
X3
Lapisan input Matriks bobot
Y1
Y2
Lapisan output Nilai output
1. Pemrosesan informasi terjadi pada banyak elemen sederhana yang disebut neuron 2. Sinyal-sinyal dikirimkan di antara neuronneuron melalui penghubung.
Gambar 6 Arsitektur jaringan single layer (Kusumadewi 2003).
3. Setiap penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal.
2. Jaringan Multi Layer
4. Setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linear) ke jaringan input untuk menentukan sinyal output. JST ditentukan oleh 3 hal, yaitu pola hubungan antar neuron (disebut arsitektur jaringan), metode untuk menentukan bobot penghubung (disebut metode training/ learning) dan fungsi aktivasi (Siang 2005).
Jaringan multi layer merupakan perluasan dari jaringan single layer. Selain terdapat lapisan input dan output, pada jaringan ini juga terdapat hidden layer. Pada lapisan ini, dimungkinkan pula ada beberapa hidden layer (Siang 2005). Jaringan multi layer dapat menyelesaikan masalah yang lebih kompleks dibandingkan dengan jaringan single layer, tetapi proses pelatihan menjadi lebih sulit (Fausett 1994). Arsitektur jaringan multi layer dapat dilihat pada Gambar 7.
Arsitektur JST JST memiliki beberapa arsitektur jaringan yang sering digunakan dalam berbagai aplikasi. Jaringan single layer dan jaringan multi layer yang dapat dilihat pada Gambar 3 dan 4, merupakan contoh dari jaringan feedforward. Jaringan ini disebut sebagai jaringan feedforward karena sinyal mengalir dari unit input ke unit output dalam arah maju.
5
Metode Pelatihan Nilai input X1
X2
Lapisan input
X3
Matriks bobot
Z1
Z2
Lapisan tersembunyi Matriks bobot kedua
Y
Lapisan output Nilai output
Berdasarkan cara memodifikasi bobotnya, model jaringan dibagi menjadi 2, yaitu (Fausett 1994) : 1. Pelatihan dengan Supervisi Dalam pelatihan ini, terdapat sejumlah pasangan data yaitu input dan target output yang dipakai untuk melatih jaringan sampai diperoleh bobot yang diinginkan (Siang 2005). Contoh model yang masuk dalam kategori ini adalah model Hebbian, Perceptron, ADALINE, Boltzman, Hopfield, Backpropagation, dan lain- lain. 2. Pelatihan tanpa Supervisi
Gambar 7 Arsitektur jaringan multi layer (Kusumadewi 2003). 3. Jaringan Competitive Layer Jaringan ini merupakan salah satu model jaringan tanpa supervisi. Dalam model ini, neuron dipaksa untuk berkompetisi sehingga hanya satu di antaranya yang menjadi aktif (Siang 2005). Prinsip ini sering disebut winner takes all. Salah satu model yang menggunakan dasar kompetisi adalah MaxNet. Jaringan ini terdiri atasm titik yang semuanya saling berhubungan dengan bobot simetris. Bobot antar titik berbeda adalah -ɛ. Bobot suatu titik ke dirinya sendiri = 1 (Fausett 1994). Arsitektur jaringan competitive layer dapat dilihat pada Gambar 8.
Pada pelatihan ini, rangkaian dari vektor input disediakan, tetapi vektor target tidak ditentukan (Fausett 1994). Dengan kata lain, tidak ada guru yang mengarahkan dalam proses pelatihan. Jaringan memodifikasi bobot, sehingga vektor input yang paling serupa akan Dengan demikian, perubahan bobot jaringan dilakukan berdasarkan parameter tertentu dan jaringan dilakukan berdasarkan parameter tertentu. Contoh model yang masuk dalam kategori ini adalah model Competitive, Hebbian, Kohonen, LVQ, dan lain- lain. Fungsi Aktivasi Dalam Backpropagation, fungsi aktivasi yang digunakan harus memenuhi beberapa syarat yaitu : kontinu, terdeferensiasi dengan mudah dan merupakan fungsi yang tidak turun. Fungsi aktivasi yang sering digunakan adalah fungsi sigmoid biner dan fungsi sigmoid bipolar. Fungsi sigmoid biner memiliki range (0,1) sedangkan fungsi sigmoid bipolar memiliki range (-1,1). Fungsi Sigmoid Biner f (x) =
(
)
dengan turunannya f ’ (x) = f (x)[1 - f (x)] Fungsi Sigmoid Bipolar Gambar 8 Arsitektur jaringan competitive layer.
f (x) =
(
)
(
)
dengan turunannya f ’ (x) = [1 + f (x)][1 - f (x)]
6
Inisialisasi Bobot dan Bias Bobot awal akan memengaruhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya. Nilai bobot awal tidak boleh terlalu besar karena nilai turunan fungsi aktivasinya akan menjadi kecil. Nguyen dan Widrow mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi yang lebih cepat. Algoritme inisialisasi adalah sebagai berikut : -
Nguyen-Widrow
Hitung harga faktor penskalaan
= 0.7 p1/n dengan:
= faktor skala n = jumlah neuron lapisan input p = jumlah neuron lapisan tersembunyi -
Inisialisasi semua bobot (v ji (lama) dengan bilangan acak dalam interval [-0.5, 0.5] Bobot yang dipakai sebagai inisialisasi v ji ( lama ) v ji ( baru ) v j ( lama )
-
Bias yang dipakai sebagai inisialisasi vj0 = bilangan acak antara - dan .
mempercepat laju pembelajaran. RPROP dengan melakukan adaptasi langsung terhadap nilai bobot berdasarkan informasi dari gradien lokalnya (Riedmiller & Brown 1992, diacu dalam Engelbrecht 2007). Penentuan bobot diimplementasikan dalam bentuk reward atau punishment, sebagai berikut : jika turunan parsial (atau ) dari bobot (atau ) berubah tanda, nilai update bobot Δ (Δ ) berkurang dengan faktor . Alasan untuk penalty ini karena update nilai bobot terakhir terlalu besar, sehingga menyebabkan algoritme melompat ke minimum lokal. Dengan kata lain, jika turunan dapat mempertahankan tanda, nilai update akan bertambah atau meningkat dengan faktor untuk mempercepat konvergensi. (Riedmiller dan Brown 1993, diacu dalam Engelbrecht 2007). Untuk lebih jelasnya algoritme pelatihan RPROP dapat dilihat pada Lampiran 1. Nilai dari ∆ menunjukkan bobot awal untuk itu dipilih nilai yang kecil, misal ∆ = 0,1. Kinerja dari RPROP tidak sensitif terhadap nilai ∆ (Riedmiller dan Brown, 1993 diacu dalam Engelbrecht 2007). Parameter ∆ dan ∆ berturut- turut menentukan batas atas dan batas bawah pada saat peng-update-an. Riedmiller dan Braun menyarankan nilai untuk faktor turun = 0.5, dan = 1.2 (Engelbrecht 2007).
Resilient Backpropagation Metode standar Backpropagation seringkali terlalu lambat untuk keperluan praktis, sehingga dilakukan beberapa modifikasi terhadap standar Backpropagation dengan cara mengganti fungsi pelatihannya. Secara umum, terdapat 2 kategori dalam modifikasi. Kategori pertama adalah metode dengan menggunakan teknik heuristik yang dikembangkan dari metode penurunan tercepat yang dipakai dalam standar Backpropagation. Beberapa modifikasi yang termasuk dalam kategori pertama adalah Backpropagation dengan momentum, variabel laju pemahaman, dan resilient Backpropagation. Kategori kedua adalah menggunakan metode optimasi numerik selain penurunan tercepat. Beberapa metode untuk modifikasi kategori kedua ini adalah metode gradien conjugate, quasi Newton, dan lain- lain (Siang 2005). Resilient Backpropagation atau biasa disebut RPROP merupakan salah satu modifikasi dalam Backpropagation untuk
7