Identifikasi suara manusia sebagai kata sandi atau password dengan menggunakan metode Hidden Markov Models - USD Repository
IDENTIFIKASI SUARA MANUSIA SEBAGAI KATA SANDI ATAU
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
HUMAN VOICE IDENTIFICATION AS A PASSWORD 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
HALAMAN PERSEMBAHAN
’’ 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..
ABSTRAK
Suara manusia dapat dijadikan salah satu cara untuk mengidentifikasi apayang 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%.
ABSTRACT
Human voice can be one of many ways to identify what human said andwho 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.KATA PENGANTAR
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
6. Staff Sekretariat Fakultas Sains dan Teknologi, Bapak Tukija, Bu Rina dan 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 laporantugas akhir ini. Saran dan kritik sangat diharapkan untuk hasil yang lebih baik di
masa depan.Yogyakarta, 22 Mei 2013
DAFTAR ISI
DAFTAR GAMBAR
Gambar Keterangan Halaman
3.13 Rancangan halaman bantuan tentang program
4.3 Halaman Depan
55
4.2 Grafik Tingkat Akurasi Identifikasi Suara Manusia dengan Feature MFCC_D untuk Speaker Verification
54
4.1 Grafik Tingkat Akurasi Identifikasi Suara Manusia dengan Feature MFCC_D untuk Speech Recognition
47
47
4.4 Halaman pilihan pengujian
3.12 Rancangan halaman bantuan untuk cara kerja program
46
3.11 Rancangan halaman pengujian HMM tahap kedua
45
3.10 Rancangan halaman pengujian HMM tahap pertama
44
3.9 Rancangan jendela peringatan apabila password benar
60
61
3.8 Rancangan jendela peringatan apabila password salah
68
4.13 Halaman Pengujian Speech Recognition untuk speaker Yudhi
71
4.12 Halaman Pengujian Speaker Verification untuk speaker Angga
70
4.11 Halaman Pengujian Speech Recognition untuk speaker Angga
69
4.10 Halaman Pengujian Sistem Untuk Speaker Verification
4.9 Halaman Pengujian Speech Recognition
4.5 Halaman Pengujian Hidden Markov Model untuk Speech Recognition
66
4.8 Halaman Peringatan
66
4.7 Halaman Pengambilan Suara
65
4.6 Halaman Pengujian Hidden Markov Model untuk Speaker Verification
63
44
43
2.1 Cakupan speech processing (Joseph P. Campbell, 1997)
19
22
2.8 Sinyal tanpa proses windowing
22
2.7 Sinyal dengan proses windowing
20
2.6 Proses frame blocking
2.5 Diagram blok proses MFCC
25
15
2.4 Struktur dari Speaker Verification (Furui, 1996)
15
2.3 Struktur dari Speaker Identification (Furui, 1996)
12
2.2 Skema Speech Recognition (Melissa, 2008)
10
2.9 Grafik hubungan skala mel dan frekuensi (IPB)
2.10 Contoh mel-spaced Filter-bank (IPB)
3.7 Rancangan halaman Pengujian sistem tahap pertama
3.3 Tahap training dan testing
42
3.6 Rancangan halaman depan
41
3.5 Proses tahap testing
40
3.4 Proses tahap testing
39
38
25
3.2 Gambaran sistem secara umum
38
3.1 Skema sistem pengenalan suara manusia
33
2.12 Ilustrasi dari operasi Baum-Welch
31
2.11 Contoh tiga tipe rantai HMM
71
4.15 Halaman Pengujian Speech Recognition untuk speaker Deta
72
4.16 Halaman Pengujian Speaker Verification untuk speaker Deta
73
4.17 Halaman Pengujian Speaker Verification untuk speaker yang tidak terdaftar
74
4.18 Halaman Bantuan
75
4.19 Halaman Tentang Programmer
75
DAFTAR TABE L
Tabel Keterangan Halaman
2.1 Tingkat akurasi berbagai metode feature extraction
17 (Universite Pierre&MarrieCurrie, LA Science A Paris, 2004)
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
56 Speech Recognition
4.4 Confusion Matrix MFCC_D untuk Speech Recognition
57
4.5 Hasil identifikasi suara berdasarkan tipe feature pada proses
58 Speaker Recognition
4.6 Confusion Matrix MFCC_D untuk Speaker Recognition
59
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 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 Password Menggunakan
Suara Manusia Sebagai Kata Sandi atau 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
BAB III ANALISA DAN PERANCANGAN SIST EM 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.
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 sudahsering 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.
Struktur Dasar dari Sistem Speaker Recognition
2.3.1 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 SpeakerIdentification 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
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,
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
Continuous Frame Blocking Windowing FFT Speech Mel Cepstrum
Cepstrum Mel-Frequency Wrapping
Gambar 2.5 Diagram blok proses MFCC (Do, 1994) Apabila dilihat dari Gambar 2.5, terdapat beberapa proses featureextraction 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 nmerupakan 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.
Windowing
2.5.2 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 :
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) , (2-2) dimana 0 ≤ n ≤ ( N-1 ) 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 (2-3)
- – 0.46 cos [2 π n / (N – 1)], dimana 0 ≤ n ≤ ( N-1 ) Gambar berikut menunjukkan perbedaan antara sinyal yang melalui proses windowing dan sinyal yang tanpa melalui 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
2 membutuhkan N perkalian 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 M merupakan kelipatan dua (2 ). 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 :
−1 = −2 , dimana n = (2-4) 0,1,2,3,…..N-1
=0 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 n merupakan angka yang kompleks. Hasil dari X n dapat 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 s sendiri merupakan frekuensi sample. Hasil yang diperoleh berupa spektrum sinyal atau periodogram.
Mel-Frequency Wrapping
2.5.4 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)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) :
−1 = log
(2-6)
10 =0 (k)
Dengan i = 1,2,3….M dan H i 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 (2-7)= − 1 /2
=1 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).
1 =
2 dimana n = 1,2,…. K
(2-8) − −1
Komponen pertama, C , 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 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
2. Probabilitas Observasi B = { b j (k) } , b j (k) = P ( V k pada 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.