• Tidak ada hasil yang ditemukan

Data suara yang digunakan berasal dari suara 10 orang pembicara (data suara model) yang direkam menggunakan fungsi wavrecord pada Matlab, dan disimpan menjadi file berekstensi WAV. Karena jenis pengenalan pembicara pada penelitian ini bersifat bergantung pada teks, maka setiap pembicara mengucapkan kata yang sama, yaitu “komputer” sebanyak 60 kali sehingga didapat 600 data suara. Setiap suara diambil tanpa pengarahan (unguided) dengan sampling rate

16000 Hz dan direkam selama 1 detik, yang kemudian masing-masing akan menghasilkan ukuran file 31,2 KB.

Untuk mendapatkan data yang diberi noise

secara manual, data hasil perekaman (sebanyak 600 file) disalin sebanyak dua kali, sehingga akan didapat 1200 file data hasil salinan. Kemudian, data suara hasil salinan tersebut,

yaitu salinan pertama dan salinan kedua, masing-masing akan ditambahkan noise

sesuai dengan besarnya SNR menggunakan fungsi awgn pada Matlab. Pada penelitian ini, besarnya SNR yang akan ditambahkan sebesar 20 dB dan 30 dB. Dengan demikian, total seluruh data suara yang didapat sebanyak 1800 file, yaitu 600 file data suara asli dan 600 file data suara yang dengan SNR sebesar 20 dB dan 600 file data suara yang dengan SNR sebesar 30 dB.

Selain itu, untuk menguji model yang dikembangkan terhadap identifikasi tertutup, maka dibutuhkan data tambahan yang berasal dari pembicara lainnya (data suara non-model) yang diperoleh dengan cara yang sama sebagaimana yang telah dijelaskan sebelumnya. Pada penelitian ini, data suara non-model diambil dari 6 pembicara, di mana suara masing-masing pembicara direkam sebanyak lima kali.

Praproses dengan MFCC

Implementasi MFCC ini, kecuali tahap

frame blocking, digunakan fungsi dari

Auditory Toolbox yang dikembangkan oleh Slanley pada tahun 1998. Setiap data suara akan dibagi menjadi frame berukuran masing-masing 30 ms dengan overlap 50%, dengan demikian akan dihasilkan 66 frame. Hasil dari analisis fitur suara MFCC ini adalah 13 koefisien mel cepstrum untuk masing-masing frame. Pemilihan nilai time frame, lap, dan cepstral coefficient berturut-turut sebesar 30 ms, 0.5, dan 13 didasarkan pada penelitian sebelumnya yang dilakukan Mandasari (2005) dan Purnamasari (2006).

Dari hasil praproses ini, maka setiap data berubah dari matriks yang berukuran 16000 x 1 menjadi matriks 13 x 66. Hasil ini merupakan masukan untuk PNN.

Probabilistic Neural Network Bertingkat Menggunakan Fuzzy C-Means (FCM)

Untuk meng-cluster-kan data yang telah diekstraksi dengan MFCC digunakan Fuzzy C-Means (FCM). Pada awalnya banyaknya

cluster untuk setiap data pembicara ditentukan sebanyak tiga cluster sesuai dengan batasan penelitian ini, tetapi apabila pada saat peng-cluster-an data suatu pembicara terdapat cluster dengan jumlah anggota cluster sebanyak 0, maka data pembicara tersebut akan di-cluster-kan dengan jumlah cluster sebanyak dua. Hasil peng-cluster-an baik untuk data asli, data yang ditambah noise dengan SNR 30 dB, maupun data yang ditambah noise dengan

Penggunaan Threshold

Nilai threshold ini digunakan untuk melakukan seleksi yang lebih akurat dari hasil identifikasi setiap suara. Nilai threshold dari tiap pembicara berfungsi sebagai ambang batas nilai keluaran yang diterima untuk dapat diidentifikasikan sebagai pembicara tersebut. Apabila suatu data uji memiliki nilai terbesar pada suatu kelas, maka data uji tersebut tidak langsung diidentifikasi sebagai pembicara yang memiliki kelas tersebut, tetapi akan dilakukan pembandingan, yaitu pembandingan antara nilai keluaran terbesar pada suatu kelas untuk suatu data uji dengan nilai threshold

suatu kelas di mana data uji tersebut memiliki nilai keluaran paling besar di kelas tersebut dibandingkan kelas lainnya. Jika nilainya lebih besar dari nilai threshold, maka suara yang diujikan diidentifikasi sebagai pembicara dari kelas tersebut. Sebaliknya jika lebih kecil, maka suara tersebut diidentifikasikan sebagai pembicara 0 (tidak terdaftar).

Lingkungan Pengembangan

Perangkat keras yang digunakan adalah

microphone jenis headset dan komputer personal dengan prosesor AMD Duron 800 MHz, RAM sebesar 256 MB, serta kapasitas

harddisk sebesar 40 GB.

Sistem operasi yang digunakan adalah Windows XP Profesional. Perangkat lunak yang digunakan adalah Matlab 7.0.1 dan untuk MFCC digunakan beberapa fungsi dari

Auditory Toolbox.

HASIL DAN PEMBAHASAN Data Suara

Data suara yang digunakan berasal dari suara 10 orang pembicara (data suara model) yang direkam menggunakan fungsi wavrecord pada Matlab, dan disimpan menjadi file berekstensi WAV. Karena jenis pengenalan pembicara pada penelitian ini bersifat bergantung pada teks, maka setiap pembicara mengucapkan kata yang sama, yaitu “komputer” sebanyak 60 kali sehingga didapat 600 data suara. Setiap suara diambil tanpa pengarahan (unguided) dengan sampling rate

16000 Hz dan direkam selama 1 detik, yang kemudian masing-masing akan menghasilkan ukuran file 31,2 KB.

Untuk mendapatkan data yang diberi noise

secara manual, data hasil perekaman (sebanyak 600 file) disalin sebanyak dua kali, sehingga akan didapat 1200 file data hasil salinan. Kemudian, data suara hasil salinan tersebut,

yaitu salinan pertama dan salinan kedua, masing-masing akan ditambahkan noise

sesuai dengan besarnya SNR menggunakan fungsi awgn pada Matlab. Pada penelitian ini, besarnya SNR yang akan ditambahkan sebesar 20 dB dan 30 dB. Dengan demikian, total seluruh data suara yang didapat sebanyak 1800 file, yaitu 600 file data suara asli dan 600 file data suara yang dengan SNR sebesar 20 dB dan 600 file data suara yang dengan SNR sebesar 30 dB.

Selain itu, untuk menguji model yang dikembangkan terhadap identifikasi tertutup, maka dibutuhkan data tambahan yang berasal dari pembicara lainnya (data suara non-model) yang diperoleh dengan cara yang sama sebagaimana yang telah dijelaskan sebelumnya. Pada penelitian ini, data suara non-model diambil dari 6 pembicara, di mana suara masing-masing pembicara direkam sebanyak lima kali.

Praproses dengan MFCC

Implementasi MFCC ini, kecuali tahap

frame blocking, digunakan fungsi dari

Auditory Toolbox yang dikembangkan oleh Slanley pada tahun 1998. Setiap data suara akan dibagi menjadi frame berukuran masing-masing 30 ms dengan overlap 50%, dengan demikian akan dihasilkan 66 frame. Hasil dari analisis fitur suara MFCC ini adalah 13 koefisien mel cepstrum untuk masing-masing frame. Pemilihan nilai time frame, lap, dan cepstral coefficient berturut-turut sebesar 30 ms, 0.5, dan 13 didasarkan pada penelitian sebelumnya yang dilakukan Mandasari (2005) dan Purnamasari (2006).

Dari hasil praproses ini, maka setiap data berubah dari matriks yang berukuran 16000 x 1 menjadi matriks 13 x 66. Hasil ini merupakan masukan untuk PNN.

Probabilistic Neural Network Bertingkat Menggunakan Fuzzy C-Means (FCM)

Untuk meng-cluster-kan data yang telah diekstraksi dengan MFCC digunakan Fuzzy C-Means (FCM). Pada awalnya banyaknya

cluster untuk setiap data pembicara ditentukan sebanyak tiga cluster sesuai dengan batasan penelitian ini, tetapi apabila pada saat peng-cluster-an data suatu pembicara terdapat cluster dengan jumlah anggota cluster sebanyak 0, maka data pembicara tersebut akan di-cluster-kan dengan jumlah cluster sebanyak dua. Hasil peng-cluster-an baik untuk data asli, data yang ditambah noise dengan SNR 30 dB, maupun data yang ditambah noise dengan

SNR 20 dB untuk 20 data pelatihan, 30 data pelatihan, dan 40 data pelatihan dapat dilihat pada Lampiran 1 s.d Lampiran 6.

Pada bagian lain, input bagi Probabilistic Neural Network merupakan data suara pelatihan dan data suara pengujian yang telah mengalami proses ekstraksi ciri sinyal suara dengan MFCC. Pada bagian pelatihan, data suara yang digunakan merupakan data dari setiap pembicara yang telah di-cluster-kan sebelumnya menggunakan Fuzzy C-Means.

Cluster- cluster yang terbentuk ini lah yang akan menjadi kelas pada PNN.

Pada penelitian ini, untuk menghitung nilai

smoothing parameter (h = simpangan baku ke-j×n1/5), akan dicobakan beberapa nilai a

untuk mendapatkan model yang paling optimal untuk setiap proporsi data pelatihan yang berbeda.

Pada bagian pattern layer akan dilakukan perhitungan antara data pelatihan dan data pengujian. Kemudian hasil dari pattern layer

ini akan dijumlahkan dengan hasil pattern layer lainnya yang satu kelas. Proses penjumlahan ini terjadi pada bagian

summation layer. Selanjutnya, dari summation layer ini lah diperoleh nilai terbesar untuk suatu kelas.

Pemilihan Nilai Smoothing Parameter Tingkat akurasi model yang dikembangkan dengan nilai smoothing parameter yang berbeda dapat dilihat pada Lampiran 7 s.d Lampiran 9.

Dari Lampiran 7 dapat dilihat untuk model yang menggunakan data asli dengan banyaknya data pelatihan sebesar 20 memiliki tingkat akurasi maksimum dengan memilih nilai a sebesar 8.3. Di sisi lain, model dengan banyaknya data pelatihan sebesar 30 memiliki tingkat akurasi maksimum dengan memilih nilai a yang berada pada selang [7.8,8.1] atau pada selang [10.5,11]. Model dengan banyaknya data pelatihan sebesar 40 memiliki tingkat akurasi maksimum dengan memilih nilai a yang berada pada selang [7.6,13.4].

Di sisi lain, untuk model yang menggunakan data dengan SNR sebesar 30 dB, tingkat akurasi maksimum untuk data pelatihan sebanyak 20 didapat dengan memilih nilai a yang berada pada selang [11.4,11.6]. Model dengan banyaknya data pelatihan sebesar 30 memiliki tingkat akurasi maksimum dengan memilih nilai a yang berada pada selang [2.1,4.5], dan model dengan banyaknya data pelatihan sebesar 40 memiliki tingkat akurasi maksimum dengan memilih nilai a

yang berada pada selang [2.1,5.2], sebagaimana yang terlihat pada Lampiran 8. Untuk model yang menggunakan data dengan SNR sebesar 20 dB, tingkat akurasi yang dihasilkan dengan nilai smoothing parameter yang berbeda dapat dilihat pada Lampiran 9. Dari lampiran tersebut dapat dilihat bahwa model dengan banyaknya data pelatihan sebesar 20 memiliki tingkat akurasi maksimum dengan memilih nilai a yang berada pada selang [12.7,12.9] atau pada selang [13.5,14.3]. Di sisi lain, model dengan banyaknya data pelatihan sebesar 30 memiliki tingkat akurasi maksimum dengan memilih nilai a sebesar 8.4, sedangkan banyaknya data pelatihan sebesar 40 memiliki tingkat akurasi maksimum dengan nilai a yang berada pada selang [6.1,6.9] atau pada selang [9.9,10.5].

Hasil Identifikasi Menggunakan Nilai

Smootihng Parameter yang Telah Dipilih

Hasil identifikasi terkait erat dengan

decision layer pada Probabilistic Neural Network. Dari decision layer akan diperoleh nilai maksimum untuk suatu kelas. Nilai terbesar ini mencerminkan bahwa suara yang diujikan diidentifikasi sebagai pembicara kelas tersebut.

Setelah melalui Probabilistic Neural Network dapat diketahui identitas pemilik suara yang diujikan. Identitas yang dimaksud adalah apakah sebagai pembicara 1, 2, 3, 4, 5, 6, 7, 8, 9, atau pembicara 10.

Hasil Identifikasi dengan nilai smoothing parameter yang telah dipilih untuk semua model dapat dilihat pada Lampiran 10 s.d Lampiran 18. Dari lampiran tersebut, dapat dihitung tingkat akurasi masing-masing model dengan cara yang telah dipaparkan sebelumnya. Pada Tabel 3 diberikan tingkat akurasi untuk setiap model dengan jumlah data yang sama, dan pada Tabel 4 diberikan tingkat akurasi untuk setiap model dengan data pengujian yang sama.

Tabel 3 Tingkat akurasi setiap model dengan jumlah data yang sama

Banyak Data Pelatihan Banyak Data Pengujian Tingkat Akurasi (%) Jenis Data 20 30 70 30 20 82 40 10 96 Data asli

0 10 20 30 40 50 60 70 80 90 100 T in g kat a ku rasi (%) 1 2 3 4 5 6 7 8 9 10 Pe m bicar a 20 Pelatihan 30 Pelatihan 40 Pelatihan

Gambar 5 Perbandingan tingkat akurasi setiap pembicara pada model yang menggunakan data asli Tabel 3 Lanjutan Banyak Data Pelatihan Banyak Data Pengujian Tingkat Akurasi (%) Jenis Data 20 30 76.67 30 20 80.5 40 10 89 Data dengan SNR 30 dB 20 30 58.33 30 20 60 40 10 59 Data dengan SNR 20 dB Tabel 4 Tingkat akurasi setiap model dengan data pengujian yang sama.

Banyak Data Pelatihan Banyak Data Pengujian Tingkat Akurasi (%) Jenis Data 20 20 67 30 20 82 40 20 96 Data asli 20 20 73 30 20 77 40 20 85.5 Data dengan SNR 30 dB 20 20 48.5 30 20 49.5 40 20 60 Data dengan SNR 20 dB Berdasarkan hasil identifikasi yang dapat dilihat pada Lampiran 10 s.d Lampiran 12, tingkat akurasi setiap pembicara untuk proporsi yang berbeda dengan menggunakan data asli dapat dilihat Gambar 5. Dari gambar tersebut dapat dilihat bahwa tingkat akurasi tiap pembicara mengalami perubahan pada jumlah pelatihan yang berbeda. Perubahan ini

disebabkan gaya berbicara yang tidak sama setiap pengambilan data.

Dilihat dari tingkat akurasi yang dihasilkan untuk jumlah data yang sama dengan menggunakan jenis data asli, model dengan banyaknya pelatihan sebesar 40 dan banyaknya pengujian sebesar 10 memiliki tingkat akurasi tertinggi apabila dibandingkan dengan proporsi lainnya pada jenis data asli. Untuk jenis data lainnya pun dapat dilihat proporsi terbaik berdasarkan tingkat akurasi yang dihasilkan, sebagaimana yang terlihat pada Gambar 6.

Selain itu untuk melihat pengaruh banyaknya data pelatihan, pada Gambar 7 diberikan hasil tingkat akurasi untuk masing-masing proporsi data pelatihan yang berbeda. Dari Gambar 7 terlihat bahwa semakin banyak data pelatihan maka tingkat akurasi juga akan semakin tinggi.

0 20 40 60 80 100 120 20 30 40

Banyak data pelatihan

Ti ngka t akura si (%) Data asli Dengan SNR 30 Dengan SNR 20

Gambar 6 Perbandingan tingkat akurasi untuk setiap model dengan jumlah data yang sama

0 20 40 60 80 100 120 20 30 40

Banyak data pelatihan

Ti ng ka t ak u ras i ( % ) Data asli Dengan SNR 30 Dengan SNR 20

Gambar 7 Perbandingan tingkat akurasi antara data yang ditambahkan SNR dengan data asli.

Pengaruh penambahan SNR dapat dilihat pada Gambar 6 dan Gambar 7. Dari kedua gambar tersebut terlihat bahwa semakin kecil nilai SNR yang diberikan mengakibatkan tingkat akurasi semakin mengecil. Hal ini terjadi karena dengan semakin mengecilnya nilai SNR, maka kekuatan noise dalam merusak sinyal semakin besar.

Pengaruh Penggunaan Threshold

Untuk melihat pengaruh threshold pada model yang telah dikembangkan, penggunaan

threshold hanya akan dicobakan pada model PNN yang optimal atau memiliki tingkat akurasi tertinggi, yaitu model yang menggunakan data asli dengan data pelatihan sebanyak 40.

Nilai threshold untuk tiap pembicara akan diambil dari 40 data pelatihan (data ke-1 s.d data ke-40 dari 60 data untuk setiap pembicara). Data keluaran yang diidentifikasi dari setiap kelas dari masing-masing

pembicara dikumpulkan, lalu disimpan dalam suatu matriks. Dari matriks tersebut kemudian diambil nilai minimum untuk setiap pembicara yang diwakili oleh beberapa kelas. Nilai keluaran minimum tersebut adalah nilai yang digunakan sebagai

threshold untuk setiap pembicara.

Pada Lampiran 19 diberikan nilai

threshold untuk masing-masing pembicara. Pada Tabel 5 dapat dilihat pengaruh

threshold pada hasil identifikasi 40 data pelatihan untuk 10 data pengujian pada data asli. Di sisi lain, dari Tabel 6 dapat dilihat pengaruh penggunaan threshold apabila data pengujian yang digunakan berasal dari pembicara non-model.

Perbandingan tingkat akurasi antara model yang menggunakan threshold dan dengan model yang tidak menggunakan

threshold untuk 40 data pelatihan pada data asli dapat dilihat pada Gambar 8.

88 89 90 91 92 93 94 95 96 40 Dengan threshold Tanpa threshold

Gambar 8 Perbandingan tingkat akurasi model dengan menggunakan threshold dan dengan model yang tidak menggunakan

threshold

Tabel 5 Hasil identifikasi 40 data pelatihan untuk 10 data pengujian pada data asli dengan menggunakan threshold

Diidentifikasi Sebagai Pembicara Pembicara 0 1 2 3 4 5 6 7 8 9 10 Tingkat akurasi (%) 1 1 9 0 0 0 0 0 0 0 0 0 90 2 1 0 9 0 0 0 0 0 0 0 0 90 3 0 0 0 8 1 0 1 0 0 0 0 80 4 0 2 0 0 8 0 0 0 0 0 0 80 5 0 0 0 0 0 10 0 0 0 0 0 100 6 1 0 0 0 0 0 9 0 0 0 0 90 7 1 1 0 0 0 0 0 8 0 0 0 80 8 0 0 0 0 0 0 0 0 10 0 0 100 9 0 0 0 0 0 0 0 0 0 10 0 100 10 0 0 0 0 0 0 0 0 0 0 10 100

Tabel 6 Hasil identifikasi 40 data pelatihan untuk 30 data pengujian non-model pada data asli dengan menggunakan threshold

Diidentifikasi Sebagai Pembicara Pembicara NonModel 0 1 2 3 4 5 6 7 8 9 10 Tingkat akurasi (%) 1 4 0 0 0 0 1 0 0 0 0 0 80 2 4 0 0 0 0 1 0 0 0 0 0 80 3 4 0 0 0 0 1 0 0 0 0 0 80 4 4 0 0 0 1 0 0 0 0 0 0 80 5 5 0 0 0 0 0 0 0 0 0 0 100 6 3 0 0 0 0 0 0 2 0 0 0 60

Dokumen terkait