i
PASSWORD MENGGUNAKAN METODE HIDDEN MARKOV MODELS
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh :
PETRA VALENTIN WAHYUNINGTIAS NIM : 085314025
HALAMAN JUDUL BAHASA INDONESIA
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA YOGYAKARTA
2013
ii
USING HIDDEN MARKOV MODELS
A THESIS
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree In Departement of Informatics Engineering
By :
PETRA VALENTIN WAHYUNINGTIAS
STUDENT ID : 085314025
HALAMAN JUDUL BAHASA INGGRIS
INFORMATICS ENGINEERING STUDY PROGRAM INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
YOGYAKARTA
2013
v
’’ DO WHAT YOU LOVE
AND
LOVE WHAT YOU DO..”
This thesis belongs to…
Jesus Christ, my Saviour, my Life, my Eternal Love and my Power..
Thank You for stay with me and for gave me wonderful world..
My parent, my spring, my joy, my life..
Thank you for give me a chance to feel the world..
My friends and Audrey..
Thank you guys for stay with me..
viii
Suara manusia dapat dijadikan salah satu cara untuk mengidentifikasi apa yang diucapkan manusia dan siapa yang mengucapkannya. Pada tugas akhir ini dikembangkan sebuah sistem yang dapat mengidentifikasi secara otomatis suara manusia dengan menggunakan pendekatan Hidden Markov Models (HMM) dan ekstraksi ciri Mel-frequency Cepstral Coefficients (MFCC). Secara umum HMM digunakan untuk signal processing dan speech processing sedangkan MFCC merupakan salah satu metode ektraksi ciri yang digunakan untuk pengenalan suara manusia.
Penelitian ini menggunakan suara manusia yang terdiri dari 4 (empat) speaker(pembicara) yang terdiri dari 2 laki-laki dan 2 perempuan. Pembagian data untuk proses training dan testing menggunakan metode 5-fold cross validation.
Hasil pengujian yang didapatkan dari proses identifikasi dengan berbagai
kombinasi feature, windows state dan jumlah state diperoleh tingkat akurasi
paling tinggi untuk speech recognition 95% dan untuk speaker recognition 93%.
ix
Human voice can be one of many ways to identify what human said and who has the voice. This research built a system for identifying automatically human voice using Hidden Markov Models (HMM) and feature extraction with Mel-frequency Cepstral Coefficients (MFCC). Generally HMM is use for signal processing and speech processing and MFCC is use for feature extraction for human voice.
This research employed four human as the object for the study. Data including voices of two man and two woman. Data for testing and training were separeted unsing 5-fold cross validation.
The highest result of identification using any combination of feature,
windows size and number of states are 95% for speech recognition and 93% for
speaker recognition.
x
Puji dan syukur kepada Tuhan Yesus Kristus yang telah senantiasa memberikan berkat dan rahmat yang tak berkesudahan serta kesempatan yang sangat berharga sehingga penulis dapat menyelesaikan skripsi dengan judul
“Identifikasi Suara Manusia Sebagai Kata Sandi atau Password Menggunakan Metode Hidden Markov Models“.
Dalam kesempatan ini, penulis juga ingin mengucapkan terima kasih sebesar-besarnya terhadap semua pihak yang telah memberi dukungan dan semangat sehingga skripsi ini dapat selesai :
1. Romo Dr. C. Kuntoro Adi, S.J., M.A., M.Sc. selaku dosen pembimbing dan dosen pembimbing akademik Teknik Informatika kelas A angkatan 2008. Terima kasih atas semua bantuan , bimbingan, pengorbanan waktu, kesabaran, ilmu serta semangat yang telah diberikan.
2. Ibu Paulina Heruningsih Prima Rosa, S.si., M.Sc. selaku Dekan Fakultas Sains dan Teknologi. Terima kasih atas semua bantuan dan bimbingan serta kesabarannya dalam menghadapi mahasiswa.
3. Bapak Eko Hari Parmadi , S.si., M.Kom. dan bapak Alb. Agung Hadhiatma, S.T., M.T. selaku dosen penguji. Terima kasih atas saran dan kritik yang telah diberikan.
4. Seluruh Dosen Teknik Informatika yang selama masa kuliah telah membagikan ilmu dan pengetahuannya yang sangat berguna bagi penulis.
5. Laboran Laboratorium Komputer, Tinus dan Fidi. Terima kasih atas
bantuan dan dukungannya.
Bu Linda. Terima kasih atas bantuan dan kesabarannya menghadapi penulis sehingga berbagai prosedur dapat diselesaikan dengan baik dan lancar.
7. Kedua orang tua saya, Yohanes Sulistiono dan M.M Lusia. Terima kasih untuk semua kasih sayang dan perhatian yang tak terhingga.
8. Kedua adikku, Bernadeta Listiani dan Felicia Ratriana Putri. Terima kasih telah ada di dunia ini.
9. Tim Ceriwis. Pucha dan Itha. Teman suka dan duka. Terima kasih atas segala dukungan dan semangat serta kesabaran yang telah diberikan sehinggan skripsi kita selesai.
10. Untuk Angga, Endra, Surya, Devi, Ocha, Siska, Bebeth, Esy, Agnes dan seluruh teman-teman Teknik Informatika angkatan 2008. Terima kasih atas dukungannya.
11. Untuk Maleo, mbak Vero, mbak Lia dan Mbak Debby. Terima kasih atas bantuannya untuk ‘break’ ke negri sebrang sehingga skripsi ini dapat selesai dengan bahagia.
12. Semua pihak yang telah membantu penulis dalam menyelesaikan skripsi.
Penulis menyadari masih banyak kekurangan yang terdapat dalam laporan tugas akhir ini. Saran dan kritik sangat diharapkan untuk hasil yang lebih baik di masa depan.
Yogyakarta, 22 Mei 2013
Penulis
xii
HALAMAN JUDUL BAHASA INDONESIA ... I HALAMAN JUDUL BAHASA INGGRIS ... II HALAMAN PERSETUJUAN PEMBIMBING ... III HALAMAN PENGESAHAN ... IV HALAMAN PERSEMBAHAN ... V PERNYATAAN KEASLIAN KARY ... VI PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ... VII ABSTRAK ... VIII ABSTRACT ... IX KATA PENGANTAR ... X DAFTAR ISI ... XII DAFTAR GAMBAR ... XVI DAFTAR TABEL ... XVIII
BAB I PENDAHULUAN ... 1
1.1 L
ATARB
ELAKANGM
ASALAH... 1
1.2 R
UMUSANM
ASALAH... 3
1.3 T
UJUAN... 3
1.4 B
ATASANM
ASALAH... 4
1.6 S
ISTEMATIKAP
ENULISAN... 7
BAB II LANDASAN TEORI ... 9
2.1 S
PEECHP
ROCESSING... 9
2.2 S
PEECHR
ECOGNITION... 11
2.3 S
PEAKERR
ECOGNITION... 13
2.3.1 Struktur Dasar dari Sistem Speaker Recognition ... 14
2.4 F
EATUREE
XTRACTION... 16
2.5 M
EL-F
REQUENCYC
EPSTRALC
OEFFICIENTS(MFCC) ... 18
2.5.1 Frame Blocking ... 20
2.5.2 Windowing ... 21
2.5.3 Fast Fourier Transform (FFT) ... 23
2.5.4 Mel-Frequency Wrapping ... 24
2.5.5 Cepstrum ... 26
2.6 M
ETODEH
IDDENM
ARKOVM
ODELS( HMM ) ... 27
2.7 A
LGORITMAP
EMODELANH
IDDENM
ARKOVM
ODELS... 30
2.7.1 Algoritma Training dengan Baum-Welch ... 31
2.7.2 Algoritma Testing dengan Viterbi ... 34
2.8 M
ETODEE
VALUASI5-F
OLDC
ROSSV
ALIDATION... 34
BAB III ANALISA DAN PERANCANGAN SISTEM ... 37
3.1 P
ERANCANGANS
ISTEMS
ECARAU
MUM... 37
3.2 G
AMBARANS
ISTEM... 38
3.3 P
ROSEST
RAINING... 39
3.5 P
ERANCANGANA
NTARM
UKAS
ISTEM... 41
3.5.1 Halaman Depan ... 42
3.5.2 Halaman Pengujian ... 43
3.5.3 Halaman Bantuan ... 46
3.6 S
PESIFIKASIH
ARDWARE DANS
OFTWARE... 48
3.6.1 Hardware ... 48
3.6.2 Software ... 48
BAB IV ... 49
ANALISA HASIL DAN IMPLEMENTASI SISTEM... 49
4.1 A
NALISAH
ASILI
DENTIFIKASIS
UARA... 49
4.2 I
MPLEMENTASIA
NTARMUKAS
ISTEM... 60
4.2.1 Halaman Depan ... 60
4.2.2 Halaman Pilihan Menu Pengujian ... 61
4.2.3 Halaman Pengujian Hidden Markov Models untuk Speech Recognition ... 62
4.2.4 Halaman Pengujian Hidden Markov Models untuk Speaker Verification ... 64
4.2.5 Halaman Pengambilan Suara ... 65
4.2.6 Halaman Pengujian Sistem untuk Speech Recognition ... 67
4.2.7 Halaman Pengujian Sistem untuk Speaker Verification ... 68
4.2.8 Halaman Bantuan ... 74
4.2.9 Halaman Tentang Programmer ... 75
BAB V ... 76
KESIMPULAN DAN SARAN... 76
5.2 S
ARAN... 78
DAFTAR PUSTAKA ... 79
LAMPIRAN I ... 82
LAMPIRAN II ... 84
SCRIPT DAN FILE PENDUKUNG ... 84
LAMPIRAN III ... 161
HALAMAN BANTUAN... 161
xvi
Gambar Keterangan Halaman
2.1 Cakupan speech processing (Joseph P. Campbell, 1997) 10
2.2 Skema Speech Recognition (Melissa, 2008) 12
2.3 Struktur dari Speaker Identification (Furui, 1996) 15 2.4 Struktur dari Speaker Verification (Furui, 1996) 15
2.5 Diagram blok proses MFCC 19
2.6 Proses frame blocking 20
2.7 Sinyal dengan proses windowing 22
2.8 Sinyal tanpa proses windowing 22
2.9 Grafik hubungan skala mel dan frekuensi (IPB) 25
2.10 Contoh mel-spaced Filter-bank (IPB) 25
2.11 Contoh tiga tipe rantai HMM 31
2.12 Ilustrasi dari operasi Baum-Welch 33
3.1 Skema sistem pengenalan suara manusia 38
3.2 Gambaran sistem secara umum 38
3.3 Tahap training dan testing 39
3.4 Proses tahap testing 40
3.5 Proses tahap testing 41
3.6 Rancangan halaman depan 42
3.7 Rancangan halaman Pengujian sistem tahap pertama 43 3.8 Rancangan jendela peringatan apabila password salah 44 3.9 Rancangan jendela peringatan apabila password benar 44 3.10 Rancangan halaman pengujian HMM tahap pertama 45 3.11 Rancangan halaman pengujian HMM tahap kedua 46 3.12 Rancangan halaman bantuan untuk cara kerja program 47
3.13 Rancangan halaman bantuan tentang program 47
4.1 Grafik Tingkat Akurasi Identifikasi Suara Manusia dengan Feature MFCC_D untuk Speech Recognition
54 4.2 Grafik Tingkat Akurasi Identifikasi Suara Manusia dengan
Feature MFCC_D untuk Speaker Verification
55
4.3 Halaman Depan 60
4.4 Halaman pilihan pengujian 61
4.5 Halaman Pengujian Hidden Markov Model untuk Speech Recognition
63 4.6 Halaman Pengujian Hidden Markov Model untuk Speaker
Verification
65
4.7 Halaman Pengambilan Suara 66
4.8 Halaman Peringatan 66
4.9 Halaman Pengujian Speech Recognition 68
4.10 Halaman Pengujian Sistem Untuk Speaker Verification 69
4.11 Halaman Pengujian Speech Recognition untuk speaker Angga 70
4.12 Halaman Pengujian Speaker Verification untuk speaker Angga 71
4.13 Halaman Pengujian Speech Recognition untuk speaker Yudhi 71
4.14 Halaman Pengujian Speaker Verification untuk speaker Yudhi 72
4.17 Halaman Pengujian Speaker Verification untuk speaker yang tidak terdaftar
74
4.18 Halaman Bantuan 75
4.19 Halaman Tentang Programmer 75
xviii
Tabel Keterangan Halaman
2.1 Tingkat akurasi berbagai metode feature extraction (Universite Pierre&MarrieCurrie, LA Science A Paris, 2004)
17
2.2 Pembagian kelompok data menjadi 5 bagian 35
2.3 Gambaran metode 5-fold cross validation 35
2.4 Contoh confusion matrix 36
4.1 Hasil Akurasi Identifikasi Suara untuk Speech Recognition 50 4.2 Hasil Akurasi Identifikasi Suara untuk Speaker Verification 52 4.3 Hasil identifikasi suara berdasarkan tipe feature pada proses
Speech Recognition
56 4.4 Confusion Matrix MFCC_D untuk Speech Recognition 57 4.5 Hasil identifikasi suara berdasarkan tipe feature pada proses
Speaker Recognition
58
4.6 Confusion Matrix MFCC_D untuk Speaker Recognition 59
1 BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Meskipun teknologi sudah berkembang pesat tetapi keamanan pengguna teknologi masih perlu diperhatikan lagi. Gangguan keamanan yang diakibatkan perkembangan teknologi dapat menyebabkan privasi seseorang terganggu. Hal ini dapat dilihat dari berbagai contoh seperti password yang dicuri kemudian disalahgunakan, pembicaraan telepon yang disadap dan lain sebagainnya. Maka dari itu, keamanan menjadi hal yang patut diperhatikan seiring dengan perkembangan teknologi.
Saat ini teknologi juga menawarkan berbagai fasilitas untuk meningkatkan keamanan masyarakat. Salah satunya adalah dengan kata sandi atau password yang diaplikasikan dalam berbagai perangkat. Tentu saja kata sandi yang ditawarkan bukan sandi konvensional seperti memasukkan angka atau huruf melainkan dengan menggunakan suara, deteksi retina, sidik jari serta pengenalan tulisan tangan. Dari sekian banyak contoh tersebut pengenalan suara merupakan salah satu cara yang dapat digunakan sebagai kata sandi yang memiliki variasi yang cukup unik (Hidayanto dan Sumardi, 2006).
Suara adalah salah satu hal yang membedakan antara manusia satu
dengan yang lainnya. Tiap individu memiliki karakter vokal, timbre dan
aksen yang berbeda bahkan yang kembar identik sekalipun. Keunikan suara inilah yang dapat dijadikan sebagai kata sandi untuk meningkatkan keamanan pengguna dalam menggunakan suatu sistem (Setyabudi, Purwanto dan Warsono, 2007).
Sudah banyak penelitian tentang pengenalan pola suara dengan menggunakan berbagi metode serta implementasi yang berbeda-beda.
Salah satu metode yang cukup baik dan memiliki akurasi yang tinggi dalam menangani variasi data dan keberagaman suara adalah Hidden Markov Models (HMM) dan dengan menggunakan ekstraksi ciri Mel- frequency Cepstral Coefficients (MFCC). Pada penelitian Pengenalan Ucapan Kata Terisolasi dengan Metode Hidden Markov Models (HMM) melalui Ekstraksi Ciri Linear Predictive Coding ( LPC ) (Hidayanto dan Sumardi, 2006) dihasilkan akurasi yang berkisar pada angka 99,82% untuk pengenalan ucapan kata yang berkorelasi tinggi pada pengujian dengan data rekaman. Sedangkan pada pengujian online memberikan akurasi berkisar pada angkan 87,58%. LPC sendiri adalah salah satu metode yang digunakan untuk proses ekstrasi ciri.
Pada penelitian Identifikasi Pembicara Menggunakan Algoritme VF15 dengan MFCC sebagai Pengekstraksi Ciri (Zilvan &
Muttaqien,2011) menghasilkan akurasi identifikasi suara tertinggi
mencapai 97%. VF15 merupakan salah satu algoritma yang digunakan
dalam pengklasifikasian.
Dari hasil penelitian tersebut, metode Hidden Markov Models dan ekstraksi ciri Mel-frequency Cepstral Coefficients akan digunakan penulis untuk mengidentifikasi suara manusia yang akan digunakan sebagai kata sandi atau password. Judul dari tugas akhir ini adalah “ Identifikasi Suara Manusia Sebagai Kata Sandi atau Password Menggunakan Pendekatan Hidden Markov Model “. Perbedaan tugas akhir ini dengan penelitian sebelumnya adalah selain untuk mengetahui apa yang akan diucapkan sebagai kata sandi, sistem juga akan mengidentifikasi pemilik suara.
1.2 Rumusan Masalah
Dari latar belakang masalah diatas, rumusan masalah yang diambil adalah Seberapa besar akurasi metode Hidden Markov Model mampu mengenali suara manusia dan bagaimana mengimplementasinya ke dalam sistem.
1.3 Tujuan
Merancang, menganalisa, mengimplementasi dan mengetahui
kelebihan serta kekurangan metode Hidden Markov Models dalam
menangani pengenalan suara sebagai kata sandi.
1.4 Batasan Masalah
1. Pola suara yang diteliti adalah pola suara manusia yang mencakup suara laki-laki dan perempuan dengan mengucapkan kata tertentu.
Kata yang diucapkan adalah kata ‘satu’, ‘dua’, ‘tiga’, ‘empat’, ‘lima’,
‘enam’, ‘tujuh’, ‘delapan’, ‘sembilan’, dan ‘nol’. Setiap kata yang diucapkan akan diulang sebanyak lima kali dengan menggunakan aksen atau cara pengucapan yang berbeda.
2. Ekstraksi ciri atau feature extraction menggunakan Mel-frequency Cepstral Coefficients (MFCC)
3. Suara manusia yang diproses adalah suara berekstensi .wav dan diambil dengan menggunakan microphone yang terhubung ke komputer menggunakan program Sound Recorder yang merupakan program bawaan dari Sistem Operasi Windows . Suara direkam dengan menggunakan frekuensi sampling 44100Hz dengan karakteristik sound yang digunakan adalah stereo sound dengan bit data sebesar 16 bit.
4. Pemodelan suara manusia menggunakan algoritma Baum-Welch.
5. Identifikasi suara manusia menggunakan algoritma Viterbi.
6. Terdapat 200 data yang akan digunakan untuk penelitian ini dengan
rincian 100 data dari suara perempuan dan 100 data dari suara laki-
laki.
7. Speaker berjumlah 4 (empat) orang terdiri dari 2 (dua) orang perempuan dan 2 (dua) orang laki-laki.
8. Suara akan mengalami proses ekstraksi ciri dan pemodelan dengan menggunakan fungsi yang tersedia di MATLAB R2010a.
9. Kondisi speaker yang diambil data suaranya dalam keadaan sehat.
1.5 Metologi Penelitian
Metode yang akan digunakan dalam penelitian meliputi :
1. Studi Pustaka
Tahap ini dilakukan dengan mempelajari buku-buku referensi dan sumber-sumber dari internet yang berkaitan dengan Hidden Markov Models, Speech Processing, feature extraction, algoritma Baum- Welch, algoritma Viterbi dan tutorial pemrograman Matlab.
2. Tahap Pengambilan Data
Tahap ini dilakukan dengan cara mengambil data berupa ucapan dari 4 orang yang terdiri dari 2 laki-laki dan 2 perempuan. Tahap ini dilakukan dengan menggunakan microphone yang terhubung ke komputer.
3. Tahap Pembuatan Model
Model sendiri merupakan gambaran statistik dari ucapan yang telah dimasukkan. Dalam tahap ini model akan dibangun dengan menggunakan metode Hidden Markov Model.
4. Tahap Pembuatan Sistem Pengenal Ucapan
Pembuatan sistem akan dilakukan berdasarkan data yang telah
dimasukkan dan dengan mengintegrasikan aplikasi ke dalam GUI
(Graphical User Interface) dengan menggunakan bahasa pemrograman Matlab.
5. Tahap Pengujian
Tahap pengujian dilakukan dengan uji coba program oleh pengguna.
Pada tahap ini juga akan dilakukan evaluasi terhadap sistem yang dibangun. Apabila data yang dimasukkan adalah data yang belum dimodelkan maka proses pengujian juga akan dibandingkan dengan data yang telah dimodelkan terlebih dahulu tetapi dalam program akan muncul pesan bahwa password atau kata sandi salah.
1.6 Sistematika Penulisan
BAB I PENDAHULUAN
Berisi latar belakang masalah, rumusan masalah, tujuan, batasan masalah, metologi penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Berisi landasan teori mengenai Speech Processing, Speech
Recognition, Speaker Recognition, teori Hidden Markov
Model, Mel-frequency cepstral coefficients (MFCC),
algoritma Baum-Welch dan algoritma Viterbi yang
digunakan dalam pembuatan dan penyusunan tugas akhir.
BAB III ANALISA DAN PERANCANGAN SISTEM
Bab ini berisi analisa dan gambaran atau rancangan dari sistem yang akan dibangun yaitu sebuah sistem yang dapat mengenali suara manusia sebagai kata sandi atau password serta menjelaskan alur dari proses training dan testing.
BAB IV IMPLEMENTASI SISTEM
Bab ini berisi implementasi sistem dengan menggunakan pendekatan Hidden Markov Model
BAB V ANALISA HASIL DAN PEMBAHASAN
Bab ini berisi tentang hasil dari implementasi sistem yang kemudian dianalisa dan diuji.
BAB VI KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran yang didapatkan dari
proses pembuatan tugas akhir ini, serta saran agar
pengembangan dari tugas akhir ini dapat lebih bermanfaat.
9
BAB II
LANDASAN TEORI
Pada bab ini akan dijelaskan mengenai teori-teori yang menjadi landasan untuk mengembangkan penelitian beserta perangkatnya. Teori- teori yang akan dibahas antara lain Speech Processing, Speech Recognition, Speaker Recognition, Metode Hidden Markov Models , Feature Extraction, Mel-frequency Cepstral Coefficients (MFCC), algoritma Baum-Welch dan algoritma Viterbi.
2.1 Speech Processing
Ucapan merupakan sinyal yang sangat kaya akan informasi yang di dalamnya terkandung frekuensi, amplitudo dan waktu. Contohnya adalah gerakan resonansi, harmonisasi, intonasi, dan lain sebagainya. Hal tersebut digunakan untuk menyampaikan informasi tentang kata-kata dari identitas pembicara yang dipengaruhi oleh aksen, ekspresi, serta kondisi kesehatan dari si pembicara.
Sinyal ucapan yang digunakan oleh manusia sehari-hari dapat
dipelajari pada Speech Processing. Speech processing merupakan sebuah
studi yang mempelajari tentang sinyal dari sebuah ucapan dan juga metode
yang digunakan untuk memproses sinyal tersebut.
Speech Processing terbagi dalam beberapa cabang ilmu sesuai dengan tujuan dari pengolahan suaranya. Hal tersebut dapat dilihat pada Gambar 2.1
Gambar 2.1 Cakupan speech processing (Joseph P. Campbell, 1997)
Apabila dilihat dari Gambar 2.1 terdapat beberapa ilmu yang sudah sering digunakan dalam aplikasi yang berkaitan dengan ucapan. Speech recognition dan speaker recognition merupakan cabang ilmu dari specch processing yang paling sering diaplikasikan untuk pengenalan suara.
Speech recognition sendiri merupakan proses identifikasi suara
yang akan dikonversikan dalam bentuk teks. Sedangkan speaker
recognition merupakan proses indentifikasi suara yang berdasarkan pada
asal suara atau pembicara. Dilihat dari perbedaan antara speech recognition dan speaker recognition, kedua proses tersebut dapat digunakan untuk melakukan proses identifikasi password berdasarkan pada suara manusia adalah speaker recognition. Oleh karena itu, dalam pembuatan tugas akhir ini penulis akan menggunakan prinsip speech recognition dan speaker recognition dalam proses identifikasi suara.
2.2 Speech Recognition
Speech Recognition adalah suatu pengembangan dalam sebuah sistem yang memungkinkan sebuah komputer untuk mengolah masukan atau perintah yang berupa suara. Speech Recognition memungkinkan sebuah sistem untuk dapat mengenali dan memahami perintah suara.
Terdapat 4 tahap dalam Speech Recognition (Mellisa, 2008) yaitu :
a. Penerimaan data input
b. Ekstraksi, yaitu penyimpanan data masukan sekaligus pembuatan database untuk template
c. Pembandingan / pencocokan, yaitu tahap pencocokan data baru dengan data suara pada template.
d. Validasi identitas pengguna
Gambar 2.2 Skema Speech Recognition (Melissa, 2008)
Speech Recognition juga dibagi menjadi beberapa jenis berdasarkan kemampuannya dalam mengenali kata yang diucapkan.
a. Kata-kata yang terisolasi
Proses pengidentifikasian kata yang hanya dapat mengenal kata yang diucapkan apabila kata tersebut memiliki jeda waktu dalam pengucapannya.
b. Kata-kata yang berhubungan
Proses pengidentifikasian kata yang mirip dengan kata-kata terisolasi,
tetapi hanya membutuhkan jeda waktu pengucapan yang lebih singkat
c. Kata-kata yang berkelanjutan
Proses pengidentifikasian ini lebih maju karena dapat mengenali kata- kata yang diucapkan secara berkesinambungan dengan jeda waktu yang sangat sedikit. Proses ini sangat sulit karena membutuhkan metode khusus untuk membedakan kata-kata yang diucapkan dalam jeda waktu yang sangat sebentar.
d. Kata-kata spontan
Proses pengidentifikasian kata yang dapat mengenal kata-kata yang diucapkan secara spontan tanpa jeda waktu antar kata.
e. Verifikasi atau identifikasi suara
Proses pengidentifikasian kata yang tidak hanya mampu mengenali kata tapi juga mampu mengidentifikasi siapa yang berbicara.
2.3 Speaker Recognition
Speaker recognition merupakan salah satu metode yang dapat
digunakan secara otomatis untuk mengenali suara seseorang yang
mengucapkan sesuatu (Joseph P. Campbell, 1997). Speaker recognition
juga merupakan bagian dari Speech Proccesing yang mana terdiri dari
berbagai cabang yang berbeda-beda.
Apabila dilihat dari gambar 2.1 sebelumnya, Speaker Recognition mencakup Speaker Identification dan Speaker Verification. Speaker Verification merujuk kepada bagaimana sebuah suara dapat menguji seseorang apakah seseorang tersebut merupakan speaker atau bukan.
Sedangkan Speaker Identification hanya menitikberatkan terhadap penentuan 1 (satu) speaker dari sekumpulan speaker yang ada.
Metode dari Speaker Recognition juga dapat dibedakan menjadi text-dependent dan metode text-independent. Metode text-dependent membutuhkan speaker untuk mengucapkan kata untuk pemodelan dan pengujian sedangkan metode text-independent tidak bergantung terhadap kata yang diucapkan speaker untuk pemodelan. Pada pembuatan tugas akhir ini akan menggunakan metode Speaker Recognition yang bertipe text-dependent.
2.3.1 Struktur Dasar dari Sistem Speaker Recognition
Speaker Identification dan Speaker Verification memiliki struktur
yang berbeda. Berikut adalah struktur dari Speaker Verification dan
Speaker Identification menurut Furui (1996).
Gambar 2.3 Struktur dari Speaker Identification (Furui,1996)
Berdasarkan Gambar 2.3 dapat dilihat bahwa dalam proses Speaker Identification suara yang masuk akan melalui tahap ekstraksi. Kemudian akan dicari kemiripan yang paling dekat dengan suara yang telah dimodelkan sebelumnya untuk mengetahui identitas dari speaker.
Gambar 2.4 Struktur dari Speaker Verification (Furui,1996)
Pada Speaker Verification suara yang masuk akan di ekstraksi kemudian akan dibandingkan dan dicari kemiripan dengan suara dari speaker yang telah dimodelkan sebelumnya dan dari speaker id.
Perbandingan tersebut akan digunakan untuk menolak atau menerima suara yang masuk.
2.4 Feature Extraction
Feature extraction merupakan metode untuk mengubah sinyal menjadi beberapa parameter. Data yang akan digunakan merupakan data dari suara manusia sehingga berupa data sinyal. Tetapi tidak semua data sinyal tersebut dapat digunakan. Hal ini disebabkan karena berbagai faktor seperti suara-suara yang berada di sekitar speaker pada saat pengambilan data suara. Dengan tahap feature extraction diharapkan menghasilkan feature yang memiliki kemampuan untuk membedakan kemiripan pengucapan setiap model sehingga tidak memerlukan data training yang banyak. Pada umumnya feature extraction memiliki tiga tahap (Reynold, 2002), yaitu:
1. Penggunaan program deteksi suara untuk menghilangkan noise dari sinyal suara yang menjadi obyek.
2. Feature diekstrak untuk memperoleh informasi
3. Penerapan normalisasi.
Terdapat beberapa metode yang digunakan untuk mengekstrak feature yang berhubungan dengan sinyal. Metode tersebut antara lain LPC (Linear Prediction Coding) , Mel-Frequency Cepstral Coefficients (MFCC), Neural Predictive Coding (NPC), dan sebagainya.
Perbandingan tingkat akurasi berbagai metode feature extraction dapat dilihat pada Tabel 2.1 (Chetouani, 2004)
Tabel 2.1 Tingkat akurasi berbagai metode feature extraction
(Sumber : Universite Pierre&MarrieCurrie, LA Science A Paris, 2004)
Dari Tabel 2.1 di atas dapat dilihat bahwa metode NPC memiliki
tingkat identifikasi yang paling tinggi dan sempurna kemudian diikuti oleh
metode MFCC. NPC merupakan salah satu algoritma ekstraksi ciri yang
merupakan perluasan dari LPC. Dalam kasus ini metode MFCC dirasa
paling tepat karena cara kerja metode MFCC sama dengan telinga manusia
sehingga untuk mengidentifikasi suara manusia lebih baik menggunakan
metode MFCC.
2.5 Mel-Frequency Cepstral Coefficients (MFCC)
Mel-Frequency Cepstral Coefficients (MFCC) merupakan metode pengolahan suara yang memiliki tujuan untuk mengidentifikasi asal dari sumber suara. MFCC berdasarkan pada variasi bandwidth kritis terhadap frekuensi pada telinga manusia sehingga cara kerja yang diterapkan pada metode ini meniru karakteristik telinga manusia (Zilvan dan Muttaqien, 2011). Pada telinga manusia terdapat filter-filter yang berguna untuk membedakan suara yang memililki frekuensi rendah dan suara yang memiliki frekuensi tinggi. Pada metode MFCC, filter pada telinga manusia digambarkan dalam skala mel-frekuensi yang berfungsi untuk menangkap karakter penting pada suatu ucapan.
Beberapa keunggulan dari metode MFCC adalah ( Manunggal, 2005):
1. Mampu menangkap karakteristik suara yang sangat penting bagi pengenalan suara atau dengan kata lain dapat menangkap informasi- informasi penting yang terkandung dalam signal suara.
2. Menghasilkan data seminimal mungkin tanpa menghilangkan informasi-informasi penting yang terkandung di dalamnya.
3. Mereplikasi organ pendengaran manusia dalam melakukan persepsi terhadap signal suara.
Filter-filter yang terdapat dalam telinga manusia juga memiliki
jarak yang berbeda pada sumbu frekuensi. Berdasarkan cara kerja tersebut,
MFCC juga memiliki filter yang berbeda, yaitu linearly spaced filters dan logarithmically spaced filters (Hasan, Jamil, Rabbani, & Rahman, 2004).
Pada linearly spaced filters memiliki frekuensi yang berada di bawah 1000Hz sedangkan pada logarithmically spaced filters memiliki frekuensi di atas 1000Hz.
Gelombang suara yang dihasilkan oleh speaker dapat memiliki berbagai variasi tergantung dari kondisi fisik speaker tersebut. MFCC memiliki struktur berupa blok diagram yang dapat dilihat pada Gambar 2.4
Frame Blocking Continuous
Speech Windowing FFT
Mel-Frequency Wrapping Cepstrum
Mel Cepstrum
Gambar 2.5 Diagram blok proses MFCC (Do, 1994)
Apabila dilihat dari Gambar 2.5, terdapat beberapa proses feature
extraction dengan MFCC.
2.5.1 Frame Blocking
Sinyal suara terus mengalami perubahan karena adanya pergeseran artikulasi dari organ produksi vokal. Oleh karena itu, sinyal harus diproses secara short segments ( short frame). Panjang frame yang biasanya digunakan untuk pemrosesan sinyal adalah antara 10-30 ms. Panjang frame yang digunakan sangat mempengaruhi keberhasilan dalam analisa spektral. Di satu sisi, ukuran dari frame harus sepanjang mungkin untuk dapat menunjukkan resolusi frekuensi yang baik. Tetapi, di sisi lain frame juga harus cukur pendek untuk dapat menunjukkan waktu yang baik.
Proses frame blocking ditunjukkan pada Gambar 2.6.
Gambar 2.6 Proses frame blocking
Dengan Sn merupakan nilai sampel yang dihasilkan dan n merupakan urutan sampel yang akan diproses
Sinyal ucapan yang terdiri dari S sampel (X(S)) dibagi menjadi beberapa frame yang berisi N sampel, yang masing-masing sampel dipisahkan oleh M (M<N). Frame pertama berisi sampel N pertama.
Frame kedua dimulai dari M sampel setelah frame pertama berjalan
sehingga frame kedua ini overlap terhdap frame pertama sebanyak N-M sampel. Selanjutnya, frame ketiga dimulai M sampel setelah frame kedua ( juga overlap sebanyak N-M terhadap frame kedua ). Hasil dari proses ini adalah matriks dengan N baris dan beberapa kolom sinyal X[N].
Proses frame ini dilakukan terus sampai seluruh sinyal dapat diproses. Selain itu, proses ini umumnya dilakukan secara overlap yang umum digunakan adalah kurang lebih 30% sampai 50% dari panjang frame. Overlapping dilakukan untuk menghindari hilangnya ciri atau karakteristik suara pada perbatasan perpotongan setiap frame.
2.5.2 Windowing
Proses framing dapat menyebabkan kebocoran spektral atau aliasing. Aliasing merupakan sinyal baru yang memiliki frekuensi yang berbeda dengan sinyal aslinya. Hal ini dapat terjadi karena rendahnya jumlah sampling rate atau proses frame blocking yang menyebabkan sinyal menjadi discontinue. Maka dari itu, tahap windowing diperlukan agar menghidari kebocoran spektral.
Pada tahap windowing, sinyal suara yang telah mengalami frame blocking telah dibagi menjadi beberapa frame. Setiap frame yang diperoleh akan dijadikan window untuk memperkecil kemungkinan gangguan sinyal yang terputus pada awal dan akhir setiap frame. Window dapat didefinisikan sebagai berikut :
w(n) ; dimana 0 ≤ n ≤ ( N-1 ) (2-1)
N merupakan jumlah sample pada setiap frame. Hasil yang didapatkan dari proses windowing adalah sinyal (y(n)) yang dapat didefinisikan sebagai berikut :
y(n) = x(n) w(n) ,dimana 0 ≤ n ≤ ( N-1 ) (2-2)
Terdapat banyak fungsi window, namun yang paling sering digunakan untuk proses speaker recognition adalah hamming window.
Fungsi window ini menghasilkan sidelobe level yang tidak terlalu tinggi (kurang lebih -43dB) selain itu noise yang dihasilkan juga tidak terlalu besar. Fungsi hamming window adalah sebagai berikut :
w(n) = 0.54 – 0.46 cos [2 π n / (N – 1)], dimana 0 ≤ n ≤ ( N-1 ) (2-3) Gambar berikut menunjukkan perbedaan antara sinyal yang melalui proses windowing dan sinyal yang tanpa melalui proses windowing.
Gambar 2.7 Sinyal dengan proses windowing
Gambar 2.8 Sinyal tanpa proses windowing
2.5.3 Fast Fourier Transform (FFT)
FFT adalah suatu algoritma untuk mengimplemetasikan algoritma Discrete Fourier Transform (DFT) dengan lebih cepat. Komputasi dari algoritma DFT memiliki waktu yang sangat lama dikarenakan membutuhkan N
2perkalian bilangan kompleks sehingga dibutuhkan cara lain untuk menghitung DFT dengan cepat dengan menggunakan algoritma FFT dimana FFT menghilangkan proses perhitungan yang kembar dari DFT.
Jumlah sinyal yang akan dimasukkan dalam algoritma ini harus merupakan kelipatan dua (2
M). Algoritma FFT dimulai dengan membagi sinyal menjadi dua bagian. Bagian pertama merupakan sinyal yang memiliki nilai suara pada indeks waktu genap sedangkan bagian kedua merupakan sinyal yang memiliki nilai suara pada indeks waktu ganjil.
Fast Fourier Transform adalah himpunan dari N sample [X
n] yang didefinisikan sebagai berikut :
𝑋
𝑛= 𝑋
𝑘𝑒
−2𝜋𝑘𝑛 𝑁
𝑁−1𝑘=0
, dimana n = 0,1,2,3,…..N-1 (2-4)
FFT seringkali digunakan untuk mendapatkan besarnya reaksi
frekuensi dari setiap frame. Ketika FFT dijalankan pada sebuah frame,
dapat diasumsikan bahwa sinyal dalam sebuah frame adalah periodik dan
akan berkesinambungan ketika proses wrapping.
Apabila dilihat dari rumusan diatas, dapat dilihat bahwa X
nmerupakan angka yang kompleks. Hasil dari X
ndapat dijabarkan sebagai berikut:
1. Ketika n = 0 merupakan keadaaan frekuensi saat kosong.
2. Ketika 1 ≤ n ≤ (N/2 – 1) merupakan keadaan saat frekuensi bernilai positif (0 < f < F
s/2).
3. Ketika N/2+1 ≤ n ≤ N-1 merupakan keadaaan saat frekuensi bernilai negatif (F
s/2 < f < 0).
F
ssendiri merupakan frekuensi sample. Hasil yang diperoleh berupa spektrum sinyal atau periodogram.
2.5.4 Mel-Frequency Wrapping
Sinyal suara terdiri dari nada-nada yang memiliki frekuensi yang berbeda. Setiap nada dengan frekuensi yang sebenarnya, f, diukur dalam Hz. Nada yang subyektif diukur dengan menggunakan skala Mel. Sebagai acuan, nada dengan frekuensi 1kHz, 40dB diatas dari threshold pendengaran, didefinisikan sebagai 1000 mels. Rumus yang digunakan untuk menghitung mels dengan frekuensi dalam Hz adalah sebagai berikut:
mel(f)= 2595*log10(1 + f/700) (2-5)
Salah satu pendekatan untuk menggambarkan spektrum yang subyektif adalah dengan menggunakan filter. Setiap filter ditujukan untuk komponen mel-frequency yang diinginkan. Filter yang dibentuk memiliki jarak pusat filter adalah konstan pada ruang frekuensi mel. Skala mel dibentuk untuk mengikuti persepsi sistem pendengaran manusia yang bersifat linear untuk frekuensi rendah dan bersifat logaritmik untuk frekuensi tinggi, dengan batas pada nilai frekuensi akustik sebesar 1000Hz. Hubungan skala mel dan frekuensi dapat digambarkan pada Gambar 2.8.
Gambar 2.9 Grafik hubungan skala mel dengan frekuensi (IPB)
Gambar 2.10 Contoh mel-spaced Filter bank (IPB)
Dari M filter yang telah terbentuk, maka dilakukan wrapping terhadap sinyal domain frekuensi dan menghasilkan satu komponen untuk setiap filter dengan menggunakan rumus ( Buono, 2009) :
𝑋
𝑖= log
10𝑁−1𝑘=0
𝑋 𝑘 𝐻
𝑖𝑘 (2-6)
Dengan i= 1,2,3….M dan H
i(k) adalah nilai filter segitiga ke-i untuk frekuensi akustik sebesar k. Hasil dalam spektrum mel ini kemudian akan dipilih cepstrum coefficients, nilai koefisien diperoleh dengan menggunakan transformasi cosinus. Rumus yang digunakan adalah :
𝐶 𝑗 = 𝑋
𝑖cos 𝑗 𝑖 − 1 /2
𝜋𝑀
𝑀𝑖=1
(2-7)
Dengan j = 1,2,3…K yang merupakan jumlah cepstrum coefficients dan M merupakan jumlah filter.
2.5.5 Cepstrum
Pada langkah terakhir, logaritma dari spektrum mel harus dikonversikan kembali ke domain waktu. Hasil yang didapatkan bernama mel-frequency cepstrum coefficients (MFCCs) (Hasan, Jamil, Rabbani dan Rahman, 2004). Karena koefisien dari mel merupakan bilangan nyata, dapat juga dikonversikan ke dalam domain berbasis waktu menggunakan Discrete Cosine Transform (DCT).
MFCC sendiri dapat dihitung dengan rumus sebagai berikut :
𝐶
𝑛= 𝑙𝑜𝑔𝑆
𝑘𝑛 𝑘 −
12 𝜋 𝐾
𝐾𝑘−1
(2-8)
dimana n = 1,2,…. K
Komponen pertama, C
0, tidak termasuk DCT karena merepresentasikan nilai rata-rata sinyal yang membawa sedikit informasi speaker yang spesifik. Dengan menerapkan prosedur yang telah dijelaskan, untuk setiap frame sekitar 30 ms dengan overlap, koefisien- koefisien dari mel cepstrum dapat dihitung.
2.6 Metode Hidden Markov Models ( HMM )
Hidden Markov Models merupakan sebuah pemodelan statistik dari sebuah sistem yang diasumsikan sebagai ‘Rantai Markov‘ dengan parameter yang tidak diketahui, dan tantangannya adalah menemukan parameter yang tersembunyi (hidden) dari parameter yang diketahui (observer) (Przytycka, 2000). Parameter yang telah digunakan kemudian dapat digunakan untuk analisa yang lebih jauh, misalnya untuk Speaker Recognition. HMM disebut statistik karena mencari means, varians, dan probabilitas dari model yang digunakan.
Dalam jurnal yang berjudul “ Hidden Markov Models For Speech
Recognition “ yang ditulis oleh B. H. Juang dan L. R. Rabiner disebutkan
bahwa metode HMM sangat populer dikarenakan memiliki kerangka
statistik yang tidak dapat dipisahkan atau dapat dikatakan tepat secara
matematika. Hal ini karena kemudahan dan ketersediaan dari algoritma training yang dimiliki HMM untuk memperkirakan parameter dari sebuah model dengan data yang terbatas.
Dari Hidden Markov Models, suara dianggap sebagai sinyal yang kemudian dimodelkan. Kemudian suara yang datang akan dibandingkan dengan seluruh model yang ada dan akan melihat tingkat kecocokan yang paling mendekati.
Hidden Markov Models didefinisikan sebagai kumpulan 5 parameter yaitu N, M, A, B, π. Dengan menganggap λ = { A, B, π } maka Hidden Markov Models mempunyai parameter tertentu yaitu N dam M.
Maka dari itu, ciri-ciri dari HMM adalah :
1. Observasi diketahui tetapi urutan keadaan ( state ) tidak diketahui sehingga disebut hidden.
2. Observasi adalah fungsi probabilitas keadaan
3. Perpindahan keadaan adalah bentuk probabilitas
Hidden Markov sendiri memiliki parameter distribusi sebagai berikut:
1. Probabilitas Transisi
A = { a
ij} , a
ij= P (q
t+1= S
j| q
t= S
i) , 1 ≤ i , j ≤ N
Dengan syarat a
ij≥ 0 dan
𝑖𝑗 = 1
𝑁𝐽dan a
ij= 1
2. Probabilitas Observasi
B = { b
j(k) } , b
j(k) = P ( V
kpada t | q
t= S
j) 1 ≤ j ≤ N , 1 ≤ k ≤ M
Distribusi keadaan awal
π = { π
i} , π
i= P (q
i= S
j)
Sedangkan terdapat dua parameter tertentu pada Hidden Markov Models yaitu N dan M.
1. N merupakan jumlah keadaan model. Dinotasikan sebagai himpunan terbatas untuk keadaan yang mungkin adalah S = { S
1, S
2……S
N}
2. M adalah jumlah dari simbol observasi atau keadaan. Simbol observasi berhubungan dengan keluaran fisik dari sistem yang dimodelkan.
Dinotasikan sebagai himpunan terbatas untuk observasi yang mungkin adalah V = { V
1, V
2……V
M}
Apabila diberi nilai yang tepat untuk variabel-variabel diatas maka Hidden Markov Models dapat digunakan untuk memberikan sekuens observasi.
O = O
1O
2O
3O
4O
5………O
t(2.9)
Dimana untuk setiap observasi O
tadalah satu dari simbol yang ada pada V, dan T adalah banyaknya observasi yang ada pada sekuens tersebut.
Metode Hidden Markov Models memiliki beberapa algoritma pemodelan yang akan dijelaskan dalam subbab selanjutnya.
2.7 Algoritma Pemodelan Hidden Markov Models
Algoritma dalam Hidden Markov Models digunakan untuk pembuatan model yang mencakup proses training dan testing. Pemodelan dapat berbentuk kontinu untuk data yang berlanjut sesuai dengan waktu seperti data suara yang akan diterapkan pada penelitian ini dan pemodelan diskret yang digunakan pada data citra.
Bentuk dari model Hidden Markov Models adalah berupa state-
state yang saling berhubungan, yang mana setiap state terhubung dari state
manapun.
Gambar 2.11 Contoh tiga tipe rantai HMM
(a) Model 4-state (b) Model 4-state-kiri-kanan (c) Model parallel 6-state
2.7.1 Algoritma Training dengan Baum-Welch
Algortima Baum-Welch atau algoritma forward-backward merupakan salah satu algoritma yang dapat memberikan model terbaik berupa means dan varians karena dapat mengoptimalkan probabilitas observasi sekuens O parameter-parameter model λ = { A, B, π }.
Perhitungan pada algoritma ini digunakan untuk mencari nilai maximum
likehood atau angka kemiripan maksimum yang merupakan sebuah model
yang mewakili sekelompok sampel data.
Variabel forward didefinisikan sebagai observasi parsial dari probabilitas state sekuen yang dilambangkan dengan O1, O2, …. Ot ( hingga waktu t ) dan state Si pada waktu t , dengan model λ, dan α sebagai t(i) . Untuk variabel backward didefinisikan sebagai observasi parsial dari probabilitas state sekuen dari t+1 ke state sebelumnya yang mana terdapat state Si pada waktu t, dengan model λ dan α sebagai t(i). Observasi dari probabilitas state sekuen ini dihitung dengan rumus:
𝑃 𝑂 𝜆 =
𝑛𝑖=1𝛼
𝑡𝑖 𝛽
𝑡𝑖 =
𝑁𝑖=1𝛼
𝑡(𝑖) (2.10)
Probabilitas pada saat berada pada state Si pada waktu t , dan diberikan sekuens observasi O , dan model λ adalah :
𝛾
𝑡=
∝𝑡 𝑖 𝛽𝑡(𝑖)𝑃(𝑂|𝜆)
(2.11)
(a) variabel forward
(b) variabel backward
Gambar 2.12 Ilustrasi dari operasi Baum-Welch
Pada saat menghitung model yang akan akan digunakan maka akan membutuhkan banyak sampel data yang akan dimodelkan. Karakteristik dari setiap contoh akan diekstrak dan disimpan dalam sebuah parameter vektor sekuens xt. Parameter ini yang akan dipetakan sebagai ekuivalensi dari Ot.
Metode Baum-Welch memiliki cara kerja sebagai berikut :
1. Estimasikan sebuah model HMM sebagai λ = { A, B, π }
2. Dengan nilai λ dari sekuens observasi O, hitung sebuah model baru 𝜆 = 𝐴 , 𝐵 , 𝜋
Seperti
𝑃 𝑂 𝜆 > 𝑃(𝑂|𝜆)
3. Jika
𝑃 𝑂 𝜆 −𝑃 𝑂 𝜆𝑃 𝑂 𝜆
> threshold, maka hentikan langkah ini. Jika tidak, maka letakkan nilai 𝜆 untuk menggantikan λ dan ulangi langkah 1.
2.7.2 Algoritma Testing dengan Viterbi
Algoritma Viterbi digunakan untuk menghitung sekuens state Q yang paling dekat dengan kemungkinan atau probabilitasnya dari sekuens Observasi O. Algoritma Viterbi dapat didefinisikan sebagai:
δ
t(i) = max
q1,q2…q3P[q
1,q
2,…q
t= i, O
1O
2….O
t| λ ] (2.12)
δ
t(i) merupakan nilai probabilitas terbaik pada waktu t, yang dihitung pada observasi t pertama yang diakhiri pada state S
i.2.8 Metode Evaluasi 5-Fold Cross Validation
Metode 5-Fold Cross-Validation digunakan pada saat evaluasi untuk mengukur tingkat akurasi sebuah sistem. Metode 5-Fold Cross Validation membagi tiap kelompok data suara menjadi data yang kemudian akan menjadi data untuk proses training dan testing
Dalam penelitian ini, terdapat 4 (lima) kelompok data yang mana
masing-masing kelompok mewakili setiap orang yang akan diambil
suaranya. Setiap kelompok memiliki data sebanyak 50 yang kemudian
dibagi menjadi 5 (lima) kelompok. Pada metode 5-Fold Cross Validation ,
4 (empat) kelompok data akan digunakan sebagai data training dan satu kelompok data akan digunakan sebagai data testing.
Pembagian data untuk setiap kelompok data dapat dilihat di Tabel 2.2 Tabel 2.2 Pembagian kelompok data menjadi 5 bagian
Suara 1 Suara 2 Suara 3 Suara 4 Suara 5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
Pada metode evaluasi 5-fold cross validation, iterasi yang dilakukan akan melibatkan data yang berbeda setiap proses training maupun testing.
Tabel 2.3 Gambaran metode 5-fold cross validation
Testing
Pengujian ke 1 Pengujian ke 2 Pengujian ke 3 Pengujian ke 4 Pengujian ke 5
5 4 3 2 1
4 5 5 5 5
3 3 4 4 4
2 2 2 3 3
1 1 1 1 2 Training
Pengukuran tingkat akurasi dilakukan dengan menggunakan confusion matrix seperti pada tabel berikut.
Tabel 2.4 Contoh confusion matrix
Suara 1 Suara 2 Suara 3 Suara 4
Suara 1 Suara 2 Suara 3 Suara 4
Suara 5
Suara 5
Evaluasi dari ketepatan confusion matrix dilakukan dengan cara membandingkan output hasil dari identifikasi oleh sistem dengan label uji yang tersedia untuk data tersebut. Perhitungan untuk mengukur tingkat akurasinya adalah dengan rumus berikut:
Akurasi = S/T x 100% (2.13)
Keterangan :
S = jumlah sample yang dikenal secara benar oleh sistem ( jumlah diagonal dari confusion matrix )
T = jumlah total dari sample untuk pengujian.
37 BAB III
ANALISA DAN PERANCANGAN SISTEM
Bab ini akan menjelaskan tentang rancangan dan cara kerja sistem yang akan dibangun. Sistem ini berfungsi untuk menganalisa tingkat akurasi metode Hidden Markov Models dalam mengenali suara manusia.
3.1 Perancangan Sistem Secara Umum
Sistem ini digunakan untuk mengenali suara manusia yang
ditampilkan dalam bentuk password untuk disimulasikan sebagai kata
kunci untuk masuk ke dalam suatu sistem dengan menggunakan metode
Hidden Markov Models. Data suara terdiri dari 4 orang yang mana
merupakan 2 laki-laki dan 2 perempuan. Suara akan diambil dengan
menggunakan microphone dan akan diekstraksi terlebih dahulu sebelum
dimasukkan ke dalam sistem. Sistem akan melakukan proses training dan
testing dan akhirnya sistem akan menampilkan hasil apakah suara yang
masuk diterima sebagai password atau tidak.
Data suara berektensi
.wav
Feature Extraction
Training
Testing
Estimasi mode Model
Proses perhitungan probabilitas
Nilai
maksimum Evaluasi hasil
Gambar 3.1 Skema sistem pengenalan suara manusia
Gambar 3.1 menjelaskan tahapan dari proses pengenalan suara.
Dimulai dari data masuk yang berupa file berekstensi .wav kemudian akan memasuki proses feature extraction yang menggunakan MFCC. Hasil dari feature extraction sendiri merupakan file berekstensi .mfc. Data suara yang telah diproses kemudian menjadi input untuk proses training dan testing dengan menggunakan pendekatan HMM. Setelah itu akan dihasilkan suara yang dikenali sebagai hasil klasifikasi.
3.2 Gambaran Sistem
user Sistem Pengenalan
Pola Suara Sebagai Password User memasukkan data
suara dengan microphone
Sistem menampilkan hasil apakah masukan diterima atau tidak
Gambar 3.2 Gambaran Sistem secara umum
Sistem Pengenalan Pola Suara Sebagai
Password
training
testing
Gambar 3.3 Tahap training dan testing
3.3 Proses Training
Proses training akan menghasilkan model dari data yang telah diambil sebelumnya. Proses training ini akan menggunakan algoritma Baum-Welch yang telah dibahas dalam bab sebelumnya. Gambar 3.3 menunjukkan proses training data dan pembuatan model. Dalam proses training terdapat proses feature extraction yang akan menggunakan metode Mel-Frequency Cepstral Coefficients (MFCC). Untuk estimasi model akan menggunakan pendekatan Hidden Markov Models (HMM).
Sesuai dengan metode 5 Fold Cross-Validation yang telah dibahas pada
bab sebelumnya maka pada proses training dalam membentuk sebuah
model membutuhkan sebanyak 80% dari jumlah data keseluruhan.
Input suara
Feature extraction
Estimasi model
M1 M2 Mn
....
....
Gambar 3.4 Proses tahap training
3.4 Proses Testing
Pada tahap testing akan menggunakan algoritma Viterbi. Proses ini
menggunakan data yang baru. Untuk mengenali data baru yang masuk,
sistem akan menghitung probabilitas dari data baru dengan model yang
ada dilihat dari kemiripan atau kedekatannya. Data yang memiliki
probabilitas tertinggi akan menunjukkan bahwa data suara baru yang
masuk dapat diidentifikasi dan diterima oleh sistem. Gambar 3.4
menunjukkan proses dari testing.
Data suara manusia Feature extraction
M1 M2 .. Mn
Memilih kedekatan
yang paling maksimum Data dikenali Menghitung kemiripan
terhadap model