Identifikasi suara manusia sebagai kata sandi atau password dengan menggunakan metode Hidden Markov Models.

(1)

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


(2)

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


(3)

(4)

(5)

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..


(6)

(7)

(8)

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%.


(9)

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.


(10)

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


(11)

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


(12)

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 LATAR BELAKANG MASALAH ... 1

1.2 RUMUSAN MASALAH ... 3

1.3 TUJUAN ... 3


(13)

1.6 SISTEMATIKA PENULISAN ... 7

BAB II LANDASAN TEORI ... 9

2.1 SPEECH PROCESSING ... 9

2.2 SPEECH RECOGNITION ... 11

2.3 SPEAKER RECOGNITION ... 13

2.3.1 Struktur Dasar dari Sistem Speaker Recognition ... 14

2.4 FEATURE EXTRACTION ... 16

2.5 MEL-FREQUENCY CEPSTRAL COEFFICIENTS (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 METODE HIDDEN MARKOV MODELS (HMM) ... 27

2.7 ALGORITMA PEMODELAN HIDDEN MARKOV MODELS ... 30

2.7.1 Algoritma Training dengan Baum-Welch ... 31

2.7.2 Algoritma Testing dengan Viterbi ... 34

2.8 METODE EVALUASI 5-FOLD CROSS VALIDATION ... 34

BAB III ANALISA DAN PERANCANGAN SISTEM ... 37

3.1 PERANCANGAN SISTEM SECARA UMUM ... 37

3.2 GAMBARAN SISTEM ... 38


(14)

3.5 PERANCANGAN ANTAR MUKA SISTEM ... 41

3.5.1 Halaman Depan ... 42

3.5.2 Halaman Pengujian ... 43

3.5.3 Halaman Bantuan ... 46

3.6 SPESIFIKASI HARDWARE DAN SOFTWARE ... 48

3.6.1 Hardware ... 48

3.6.2 Software ... 48

BAB IV ... 49

ANALISA HASIL DAN IMPLEMENTASI SISTEM... 49

4.1 ANALISA HASIL IDENTIFIKASI SUARA... 49

4.2 IMPLEMENTASI ANTARMUKA SISTEM ... 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


(15)

5.2 SARAN ... 78

DAFTAR PUSTAKA ... 79

LAMPIRAN I ... 82

LAMPIRAN II ... 84

SCRIPT DAN FILE PENDUKUNG ... 84

LAMPIRAN III ... 161


(16)

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


(17)

4.17 Halaman Pengujian Speaker Verification untuk speaker yang tidak terdaftar

74

4.18 Halaman Bantuan 75


(18)

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


(19)

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


(20)

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.


(21)

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.


(22)

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.


(23)

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.


(24)

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


(25)

(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.


(26)

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.


(27)

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.


(28)

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


(29)

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.


(30)

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


(31)

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.


(32)

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).


(33)

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.


(34)

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.


(35)

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.


(36)

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,


(37)

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.


(38)

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


(39)

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 :


(40)

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


(41)

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 N2 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 merupakan kelipatan dua (2M). 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 [Xn] 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.


(42)

Apabila dilihat dari rumusan diatas, dapat dilihat bahwa Xn

merupakan angka yang kompleks. Hasil dari Xn 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 < Fs/2).

3. Ketika N/2+1 ≤ n N-1 merupakan keadaaan saat frekuensi bernilai negatif (Fs/2 < f < 0).

Fs sendiri 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:


(43)

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)


(44)

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) :

� = log10 =0−1 � � (2-6)

Dengan i= 1,2,3….M dan Hi(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 :

= =1� cos −1 /2� (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).


(45)

= �� −1 2

−1 (2-8)

dimana n = 1,2,…. K

Komponen pertama, C0, 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


(46)

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 = { aij } , aij = P (qt+1 = Sj | qt = Si ) , 1 ≤ i , j N

Dengan syarat aij ≥ 0 dan


(47)

2. Probabilitas Observasi

B = { bj (k) } , bj(k) = P ( Vk pada t | qt = Sj )

1 ≤ j ≤ N , 1 ≤ k ≤ M Distribusi keadaan awal

π = { πi } , πi = P (qi = Sj )

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 = { S1, S2……SN }

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 = { V1, V2……VM }

Apabila diberi nilai yang tepat untuk variabel-variabel diatas maka Hidden Markov Models dapat digunakan untuk memberikan sekuens observasi.


(48)

Dimana untuk setiap observasi Ot adalah 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-state terhubung dari state-state manapun.


(49)

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.


(50)

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)


(51)

(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


(52)

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) = maxq1,q2…q3 P[q1,q2,…qt = i, O1O2….Ot | λ ] (2.12) δt (i) merupakan nilai probabilitas terbaik pada waktu t, yang

dihitung pada observasi t pertama yang diakhiri pada state Si.

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 ,


(53)

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


(54)

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 )


(55)

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.


(56)

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 Pola Suara Sebagai Sistem Pengenalan Password

User memasukkan data suara dengan microphone

Sistem menampilkan hasil apakah masukan diterima atau tidak


(57)

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.


(58)

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.


(59)

Data suara manusia Feature extraction

M1 M2 .. Mn

Memilih kedekatan

yang paling maksimum Data dikenali

Menghitung kemiripan terhadap model

Gambar 3.5 Proses tahap testing

Untuk implementasi HMM dan identifikasi suara manusia maka pada pembuatan tugas akhir ini penulis menggunakan HMM Toolkit (HTK). HTK menyediakan tools termasuk algoritma Baum-Welch yang digunakan pada proses training dan algoritma Viterbi untuk proses testing.

3.5 Perancangan Antar Muka Sistem

Pada perancangan antar muka untuk sistem pengenalan suara manusia ini terdiri dari beberapa halaman yang mewakili proses perhitungan dari Hidden Markov Models serta cara kerja dari sistem, yaitu: 1. Halaman depan

2. Halaman pengujian sistem

3. Halaman pengujian HMM dan cara kerja sistem 4. Halaman bantuan


(60)

3.5.1 Halaman Depan

Halaman ini merupakan halaman pembuka yang berisi dua menu utama yaitu MENU dan BANTUAN serta penjelasan mengenai tentang nama sistem, logo Universitas Sanata Dharma, identitas pembuat program dan nama Dosen pembimbing. Rancangan dari halaman depan sistem ini dapat dilihat pada Gambar 3.6


(61)

3.5.2 Halaman Pengujian

Halaman pengujian terdiri dari dua bagian yaitu pengujian sistem dan pengujian dari Hidden Markov Models. Pada halaman pengujian sistem, akan terdapat perintah yang meminta user untuk memasukkan nama dan password. Password akan dimasukkan dengan menggunakan suara. Sedangkan pada halaman pengujian HMM akan berisi tentang cara kerja dari HMM dan cara kerja sistem. Rancangan halaman pengujian dapat dilihat pada beberapa gambar berikut ini.

Gambar 3.7 Rancangan Halaman Pengujian sistem tahap pertama Apabila dalam memasukkan password salah maka akan muncul peringatan seperti pada Gambar 3.8.


(62)

Gambar 3.8 Rancangan Jendela peringatan apabila password salah

Apabila password benar maka akan muncul peringatan seperti pada Gambar 3.9

Gambar 3.9 Rancangan Jendela peringatan apabila password benar.

Selanjutnya, untuk rancangan halaman pengujian HMM terdapat menu untuk mengambil contoh data suara dari direktori yang ada untuk diuji dengan HMM. Untuk mendengarkan suara yang diambil dapat menekan tombol DENGAR. Data suara yang telah diambil dapat divisualisasikan menjadi spectogram dan signal. Kemudian untuk memproses suara terdapat tombol PROSES yang akan melakukan proses pengenalan suara yang hasilnya dapat dilihat pada label HASIL. Rancangan dari pengujian HMM dapat dilihat pada Gambar 3.10.


(63)

Gambar 3.10 Rancangan halaman pengujian HMM tahap pertama

Rancangan halaman berikutnya berisi tentang keterangan data yang terdapat dalam sistem. Pengguna dapat memilih parameter yang digunakan, windows size dan jumlah state yang digunakan. Dengan menekan tombol PROSES maka data akan diproses dengan menggunakan HMM. Apabila proses telah selesai maka akan muncul confusion matrix dan hasil berupa tingkat akurasi.


(64)

Gambar 3.11 Rancangan halaman pengujian HMM tahap kedua

3.5.3 Halaman Bantuan

Halaman bantuan berisi tentang bagaimana cara menggunakan program serta sedikit keterangan mengenai program yang terdiri dari tujuan serta manfaat dari program. Rancangan dari halaman bantuan dapat dilihat pada Gambar 3.12 dan Gambar 3.13.


(65)

Gambar 3.12 Rancangan halaman Bantuan untuk cara kerja program


(66)

3.6 Spesifikasi Hardware dan Software

Berikut adalah spesifikasi hardware dan software yang digunakan pada pembuatan sistem ini.

3.6.1 Hardware

Processor : AMD E-450 APU with Radeon(tm) HD Graphics 1.65GHz

Memory (RAM) : 2.00 GB

System-type : 32-bit operating system

3.6.2 Software

Windows 7 Ultimate


(67)

49 BAB IV

ANALISA HASIL DAN IMPLEMENTASI SISTEM

Pada bab ini akan dijelaskan tentang implementasi antarmuka dari sistem beserta penjelasan tentang penggunaan tombol dan keterangan dari sistem. Hal yang utama dalam pembahasan bab ini adalah analisa hasil dari identifikasi suara manusia dari berbagai pengujian yang telah dilakukan yang meilbatkan jumlah feature, besarnya windows size serta jenis parameter yang dipilih.

4.1 Analisa Hasil Identifikasi Suara

Dalam proses identifikasi suara manusia ini dilakukan dengan menggunakan windows size, tipe feature dan dengan jumlah state yang berbeda dan diharapkan menghasilkan akurasi yang tinggi. Ukuran windows size yang digunakan pada sistem ini adalah 4ms sampai dengan 6ms, sedangkan tipe feature yang digunakan adalah MFCC, MFCC_D, dan MFCC_D_A. Sedangkan jumlah state yang dapat digunakan yaitu 10, 15, 20 dan 25.

Pada setiap pengujian akan dihasilkan confusion matrix serta akurasi data yang berupa persentase. Pada bagian ini akan ditampilkan confusion matrix yang memiliki akurasi paling tinggi dari semua proses


(68)

pengujian. Tabel 4.1 dan Tabel 4.2 di bawah ini menunjukkan hasil setiap pengujian dengan berbagai macam variasi feature, windows size dan jumlah state. Tabel 4.1 merupakan hasil pengujian untuk Speech Recognition dan Tabel 4.2 merupakan hasil pengujian untuk Speaker Recognition

Tabel 4.1 Hasil Akurasi Identifikasi Suara untuk Speech Recognititon

No Windows Size Feature Jumlah State Akurasi (%)

1 4 MFCC 10 81

2 4 MFCC 15 88

3 4 MFCC 20 89

4 4 MFCC 25 91

5 5 MFCC 10 82

6 5 MFCC 15 88

7 5 MFCC 20 88

8 5 MFCC 25 90

9 6 MFCC 10 83

10 6 MFCC 15 89

11 6 MFCC 20 90

12 6 MFCC 25 93

13 4 MFCC_D 10 80

14 4 MFCC_D 15 89

15 4 MFCC_D 20 88

16 4 MFCC_D 25 92


(69)

18 5 MFCC_D 15 88

19 5 MFCC_D 20 91

20 5 MFCC_D 25 93

21 6 MFCC_D 10 82

22 6 MFCC_D 15 90

23 6 MFCC_D 20 92

24 6 MFCC_D 25 95

25 4 MFCC_D_A 10 79

26 4 MFCC_D_A 15 85

27 4 MFCC_D_A 20 85

28 4 MFCC_D_A 25 87

29 5 MFCC_D_A 10 82

30 5 MFCC_D_A 15 88

31 5 MFCC_D_A 20 89

32 5 MFCC_D_A 25 93

33 6 MFCC_D_A 10 75

34 6 MFCC_D_A 15 87

35 6 MFCC_D_A 20 88


(70)

Tabel 4.2 Hasil Akurasi Identifikasi Suara untuk Speaker Recognition

No Windows Size Feature Jumlah State Akurasi (%)

1 4 MFCC 10 85

2 4 MFCC 15 91

3 4 MFCC 20 88

4 4 MFCC 25 90

5 5 MFCC 10 87

6 5 MFCC 15 91

7 5 MFCC 20 91

8 5 MFCC 25 92

9 6 MFCC 10 85

10 6 MFCC 15 90

11 6 MFCC 20 89

12 6 MFCC 25 91

13 4 MFCC_D 10 86

14 4 MFCC_D 15 85

15 4 MFCC_D 20 87

16 4 MFCC_D 25 90

17 5 MFCC_D 10 86

18 5 MFCC_D 15 87

19 5 MFCC_D 20 91

20 5 MFCC_D 25 88

21 6 MFCC_D 10 80


(71)

23 6 MFCC_D 20 93

24 6 MFCC_D 25 91

25 4 MFCC_D_A 10 80

26 4 MFCC_D_A 15 77

27 4 MFCC_D_A 20 82

28 4 MFCC_D_A 25 72

29 5 MFCC_D_A 10 82

30 5 MFCC_D_A 15 81

31 5 MFCC_D_A 20 88

32 5 MFCC_D_A 25 87

33 6 MFCC_D_A 10 78

34 6 MFCC_D_A 15 83

35 6 MFCC_D_A 20 88


(72)

Pada Gambar 4.1 berikut merupakan grafik yang menunjukkan tingkat akurasi identifikasi suara manusia dengan menggunakan feature MFFC_D dan dengan kombinasi windows size dan jumlah state yang berbeda. Grafik di bawah ini merupakan pengujian pada Speech Recognition.

Gambar 4.1 Tingkat Akurasi Identifikasi Suara Manusia dengan Feature MFCC_D untuk Speech Recognition

70 75 80 85 90 95 100

4 5 6

A ku rasi Window Size

Hasil Pengujian

10 15 20 25 Jumlah state


(73)

Pada Gambar 4.2 berikut merupakan grafik yang menunjukkan tingkat akurasi identifikasi suara manusia dengan menggunakan feature MFFC_D dan dengan kombinasi windows size dan jumlah state yang berbeda. Grafik di bawah ini merupakan pengujian pada Speaker Recognition.

Gambar 4.2 Tingkat Akurasi Identifikasi Suara Manusia dengan Feature MFCC_D untuk Speaker Recognition

70 75 80 85 90 95

4 5 6

A ku rasi Windows Size

Hasil Pengujian

10 15 20 25 Jumlah state


(74)

Pada Tabel 4.3 dan Tabel 4.5 berikut ini menunjukkan tingkat akurasi dari berbagai jenis tipe feature yang berbeda. Pada Tabel 4.3 jumlah state yang digunakan adalah 25 dengan ukuran windows size adalah 6ms. Sedangkan pada Tabel 4.5 jumlah state yang digunakan adalah 20 dengan ukuran windows size adalah 6ms.

Tabel 4.3 Hasil identifikasi suara berdasarkan tipe feature pada proses Speech Recognition

Feature Akurasi (%)

MFCC 93

MFCC_D 95

MFCC_D_A 92

Hasil dari pengujian tersebut menunjukkan bahwa tingkat akurasi yang dihasilkan bervariasi mulai dari 92% sampai dengan 95%. Pengujian Hidden Markov Models yang menggunakan tipe feature MFCC_D dengan jumlah state 25 dan besar windows size 6ms memiliki akurasi yang paling tinggi.

Tabel berikut ini merupakan confusion matrix untuk pengujian yang memiliki tingkat akurasi yang paling tinggi. Confusion matrix di bawah ini untuk proses pengujian dengan speech recognition.


(75)

Tabel 4.4 Confusion Matrix MFCC_D untuk Speech Recognition no l sat u du a tig a emp at lim a ena m tuju h delapa n sembila n

nol 19 0 0 0 1 0 0 0 0 0

satu 0 20 0 0 0 0 0 0 0 0

dua 0 0 19 0 0 0 0 0 1 0

tiga 0 0 0 19 0 1 0 0 0 0

empat 0 0 0 0 19 0 0 0 1 0

lima 0 0 0 0 0 18 0 0 1 1

enam 0 0 0 0 0 0 18 0 0 2

tujuh 0 0 0 0 0 0 1 17 0 2

delapan 0 0 0 0 0 0 0 0 20 0

sembila n

0 0 0 0 0 0 0 0 0 20

Pada confusion matrix di atas dapat dilihat bahwa sistem dapat mengidentifikasi suara dengan baik. Pada pengucapan kata ‘satu’,

‘delapan’, dan ‘sembilan’ mampu dikenali dengan tepat dengan

menunjukkan hasil maksimal yaitu 20. Nilai terendah dari confusion matrix tersebut adalah 17 yaitu pada pengucapan kata ‘tujuh’.

Dalam proses identifikasi speech recognition, suara yang masuk tetapi bukan berasal dari speaker yang telah dimodelkan sebelumnya dapat diproses dan terkadang hasil pengujian tepat. Hal ini dikarenakan pola kata yang harus diucapkan telah tetap sehingga walaupun suara yang masuk


(76)

tidak berasal dari speaker yang telah dimodelkan masih dapat dikenali dengan mencari kedekatan yang maksimum.

Tabel 4.5 Hasil identifikasi suara berdasarkan tipe feature pada proses Speaker Recognition

Feature Akurasi (%)

MFCC 89

MFCC_D 93

MFCC_D_A 88

Hasil dari pengujian tersebut menunjukkan bahwa tingkat akurasi yang dihasilkan bervariasi mulai dari 88% sampai dengan 93%. Pengujian Hidden Markov Models yang menggunakan tipe feature MFCC_D dengan jumlah state 20 dan besar windows size 6ms memiliki akurasi yang paling tinggi.

Tabel berikut ini merupakan confusion matrix untuk pengujian yang memiliki tingkat akurasi yang paling tinggi. Confusion matrix di bawah ini untuk proses pengujian dengan speaker recognition.


(77)

Tabel 4.6 Confusion Matrix MFCC_D untuk Speaker Verification

Angga Deta Petra Yudhi

Angga 45 0 0 5

Deta 0 44 6 0

Petra 0 3 47 0

Yudhi 1 0 0 49

Pada confusion matrix diatas hasil paling tinggi adalah 49 yaitu pada speaker yang bernama Yudhi. Sedangkan jumlah paling kecil yaitu 44 yang merupakan speaker yang bernama Deta.

Pada proses speaker verification terdapat beberapa faktor yang mempengaruhi tingkat akurasi proses identifikasi. Salah satu faktor tersebut adalah speaker yang memiliki hubungan darah dapat membuat sistem sedikit sulit untuk membedakan speaker tersebut. Dalam kasus ini Petra dan Deta adalah speaker yang memiliki hubungan darah sehingga terkadang suara Petra yang masuk tetapi teridentifikasi sebagai Deta.


(78)

4.2 Implementasi Antarmuka Sistem

4.2.1 Halaman Depan

Halaman Depan merupakan halaman yang pertama kali dilihat oleh user ketika menjalankan sistem ini. Halaman depan berisi judul dari sistem beserta nama dari mahasiswa beserta nama dari dosen pembimbing. Pada halaman depan terdapat dua menu utama yang terdapat di kiri atas. Setiap menu utama memiliki sub-menu yang lain. Tampilan dari Halaman Depan dapat dilihat pada Gambar 4.1 berikut.


(79)

4.2.2 Halaman Pilihan Menu Pengujian

Halaman Pilihan Menu Pengujian merupakan halaman yang akan digunakan user untuk memilih pengujian yang akan dilakukan, yaitu pengujian untuk Speech Recognition atau Speaker Recognition. Halaman ini dapa dilihat pada Gambar 4.2.

Gambar 4.4 Halaman Pilihan Pengujian


(80)

4.2.3 Halaman Pengujian Hidden Markov Models untuk Speech Recognition

Halaman Pengujian Hidden Markov Models Speech Recognition untuk adalah halaman yang berfungsi untuk menguji metode Hidden Markov Models dengan jenis feature, windows size dan jumlah state yang berbeda-beda. Pengujian ini dilakukan untuk mengetahui tingkat akurasi dari hasil identifikasi suara. Dalam pengujian ini akan dihasilkan confusion matrix, tingkat akurasi, lama jalannya program serta banyaknya data yang cocok dan tidak cocok. Tampilan dari halaman ini dapat dilihat pada Gambar 4.3.

Pada halaman ini terdapat beberapa kolom yang berisi tentang berbagai keterangan. Pada kolom Keterangan Data berisi tentang keterangan mengenai jumlah data yang akan diproses, jumlah data yang akan melalui proses training dan jumlah data untuk testing. Pada kolom Feature Extraction terdapat tiga jenis feature extraction yang harus dipilih untuk melakukan proses pengujian. Pada pilihan Windows Size terdapat tiga pilihan dan pada Jumlah State terdapat empat pilihan yang dapat disesuaikan dengan kebutuhan pengguna.

Pada kolom Proses Hidden Markov Models berisi tentang langkah-langkah dari proses Hidden Markov sendiri. Kolom Confusion Matrix berisikan confusion matrix yang merupakan hasil dari proses pengujian Hidden Markov Models. Kolom Hasil Pengujian berisi tentang keterangan dari hasil pengujian yang di dalamnya terdapat jumlah data yang sesuai,


(81)

jumlah data yang tidak sesuai, waktu keseluruhan dan tingkat akurasi yang berupa persentase.

Gambar 4.5 Halaman Pengujian Hidden Markov Models untuk Speech Recognition


(82)

4.2.4 Halaman Pengujian Hidden Markov Models untuk Speaker Verification

Halaman Pengujian Hidden Markov Models untuk Speaker Recognition adalah halaman yang berfungsi untuk menguji metode Hidden Markov Models dengan jenis feature, windows size dan jumlah state yang berbeda-beda. Pengujian ini dilakukan untuk mengetahui tingkat akurasi dari hasil identifikasi suara. Dalam pengujian ini akan dihasilkan confusion matrix, tingkat akurasi, lama jalannya program serta banyaknya data yang cocok dan tidak cocok. Tampilan dari halaman ini dapat dilihat pada Gambar 4.4.

Pada halaman ini terdapat beberapa kolom yang berisi tentang berbagai keterangan. Pada kolom Keterangan Data berisi tentang keterangan mengenai jumlah data yang akan diproses, jumlah data yang akan melalui proses training dan jumlah data untuk testing. Pada kolom Feature Extraction terdapat tiga jenis feature extraction yang harus dipilih untuk melakukan proses pengujian. Pada pilihan Windows Size terdapat tiga pilihan dan pada Jumlah State terdapat empat pilihan yang dapat disesuaikan dengan kebutuhan pengguna.

Pada kolom Proses Hidden Markov Models berisi tentang langkah-langkah dari proses Hidden Markov sendiri. Kolom Confusion Matrix berisikan confusion matrix yang merupakan hasil dari proses pengujian Hidden Markov Models. Kolom Hasil Pengujian berisi tentang keterangan dari hasil pengujian yang di dalamnya terdapat jumlah data yang sesuai,


(83)

jumlah data yang tidak sesuai, waktu keseluruhan dan tingkat akurasi yang berupa persentase.

Gambar 4.6 Halaman Pengujian Hidden Markov Models untuk Speaker Verification

4.2.5 Halaman Pengambilan Suara

Halaman Pengambilan Suara merupakan halaman dimana user akan memasukkan data untuk pengujian dengan merekam suara dari user. Pada halaman ini terdapat empat tombol rekam dimana masing-masing tombol digunakan untuk merekam satu ucapan dari user. User memiliki waktu sebanyak tiga detik pada setiap tombol untuk mengucapkan suara. User akan mengucapkan angka seperti ‘satu’, ‘sembilan’ dan sebagainya pada sistem ini. Tampilan pada halaman ini dapat dilihat pada Gambar 4.5


(84)

Setelah user telah selesai merekam suara pada satu tombol, maka akan mucul pernyataan bahwa user telah selesai melakukan proses rekaman dan dapat beralih ke tombol selanjutnya. Pada halaman ini juga terdapat tombol Tahap Selanjutnya yang digunakan untuk melanjutkan ke proses selanjutnya.

Gambar 4.7 Halaman Pengambilan Suara

Apabila speaker belum merekam data untuk password tetapi sudah menekan tombol untuk proses selanjutnya maka akan muncul tampilan seperti pada Gambar 4.6


(85)

4.2.6 Halaman Pengujian Sistem untuk Speech Recognition

Halaman Pengujian Sistem untuk Speech Recognition ini merupakan halaman pengujian sistem untuk mengidentifikasi suara hasil dari proses rekam sebelumnya. Proses ini merupakan proses dimana suara yang telah direkam akan diidentifikasi dan memberikan hasil berupa teks. Tampilan pada halaman ini terdapat pada Gambar 4.6.

Pada halaman pengujian sistem ini terdapat beberapa kolom dan tombol yang berisi tentang perintah dan keterangan serta proses yang berjalan untuk melakukan identifikasi suara. Pada kolom Pilihan terdapat empat tombol yang digunakan untuk mendengarkan hasil rekaman suara yang telah dilakukan pada proses sebelumnya.

Apabila hasil rekaman tidak sesuai dengan keinginan user maka proses rekaman dapat diulang lagi dengan menekan tombol Ulangi Hasil Rekaman. Pada kolom Proses berisi tentang langkah-langkah dari bagaimana sistem mengidentifikasi suara yang masuk. Pada kolom Hasil Pengenalan meruapakan kolom yang akan menampilkan hasil dari identifiksi suara yang berupa teks.


(86)

Gambar 4.9 Halaman Pengujian Speech Recognition

4.2.7 Halaman Pengujian Sistem untuk Speaker Verification

Halaman Pengujian Sistem untuk Speaker Recognition ini merupakan halaman pengujian sistem untuk mengidentifikasi suara hasil dari proses rekam sebelumnya. Proses ini merupakan proses dimana suara yang telah direkam akan diidentifikasi dan memberikan hasil berupa teks yang berupa nama dari pemilik suara. Tampilan pada halaman ini terdapat pada Gambar 4.7.

Pada halaman pengujian sistem ini terdapat beberapa kolom dan tombol yang berisi tentang perintah dan keterangan serta proses yang berjalan untuk melakukan identifikasi suara. Pada kolom Pilihan terdapat


(87)

empat tombol yang digunakan untuk mendengarkan hasil rekaman suara yang telah dilakukan pada proses sebelumnya.

Apabila hasil rekaman tidak sesuai dengan keinginan user maka proses rekaman dapat diulang lagi dengan menekan tombol Ulangi Hasil Rekaman. Pada kolom Proses berisi tentang langkah-langkah dari bagaimana sistem mengidentifikasi suara yang masuk. Pada kolom Hasil Pengenalan merupakan kolom yang akan menampilkan hasil dari identifiksi suara yang berupa teks yang berupa nama dari user.

Gambar 4.10 Halaman Pengujian Sistem Untuk Speaker Verification Berikut adalah hasil pengujian untuk semua speaker yang suaranya telah dimodelkan ke dalam sistem identifikasi ini. Gambar 4.8 dan Gambar 4.9 merupakan hasil pengujian untuk speaker Angga, Gambar 4.10 dan


(88)

Gambar 4.11 merupakan hasil pengujian untuk speaker Yudhi, dan Gambar 4.12 dan Gambar 4.13 merupakan hasil pengujian untuk speaker Detha.


(89)

Gambar 4.12 Halaman Pengujian Speaker Verification untuk speaker Angga


(90)

Gambar 4.14 Halaman Pengujian Speaker Verification untuk speaker Yudhi


(91)

Gambar 4.16 Halaman Pengujian Speaker Verification untuk speaker Detha

Untuk speaker yang tidak terdaftar pada pemodelan sistem, sistem masih dapat memproses data yang masuk. Pada proses speaker recognition suara yang masuk akan dicocokkan dengan pemodelan suara yang ada dan dicari data yang memiliki kedekatan yang paling tinggi. Untuk proses speaker verification akan ditampilkan peringatan bahwa suara yang masuk tidak terdaftar.


(92)

Gambar 4.17 Halaman Pengujian Speaker Verification untuk speaker yang tidak terdaftar

4.2.8 Halaman Bantuan

Halaman Bantuan ini digunakan untuk membantu user menggunakan sistem. Halaman ini membantu user untuk mendapatkan penjelasan langkah-langkah bagaimana sistem berjalan. Halaman ini dapat dilihat setelah user memilih sub-menu pada halaman depan. Tampilan pada halaman ini dapat dilihat pada Gambar 4.15


(93)

Gambar 4.18 Halaman Bantuan 4.2.9 Halaman Tentang Programmer

Halaman Tentang Programmer ini berisi tentang penulis serta kontak yang dapat dihubungi apabila terdapat kritik, saran atau pertanyaan.


(94)

76

BAB V

KESIMPULAN DAN SARAN

Pada bab ini akan dijelaskan mengenai kesimpulan dari pengujian Hidden Markov Models serta hal-hal yang berkaitan dengan proses identifikasi suara manusia. Pada bab ini juga akan diberikan beberapa saran untuk perbaikan program kedepannya.

5.1 Kesimpulan

1. Pada proses pengujian dan identifikasi dapat disimpulkan bahwa metode Hidden Markov Models merupakan metode yang baik untuk pengenalan suara manusia. Hal ini dapat dilihat dari tingkat akurasi yang dihasilkan dari proses identifikasi dan pengujian yang telah dibahas sebelumnya di bab 4.

2. Dari proses pengujian, diperoleh tingkat akurasi terbaik untuk proses Speech Recognition yaitu 95% dengan windows size 6ms, jumlah state 25 dan jenis feature extraction MFCC_D. Sedangkan untuk proses Speaker Verification diperoleh tingkat akurasi terbaik 93% dengan windows size 6ms, jumlah state 20 dan jenis feature extraction MFCC_D.


(95)

3. Tingkat akurasi terbaik untuk masing-masing feature antara lain : a. Speech Recognition

 MFCC = 93%

 MFCC_D = 95%

 MFCC_D_A = 92% b. Speaker Verification

 MFCC = 89%

 MFCC_D = 93%

 MFCC_D_A = 88%

4. Metode Hidden Markov Models memerlukan jumlah data yang banyak agar proses training dapat menghasilkan bentuk model yang baik.

5. Dalam pemilihan windows size, tipe feature extraction dan jumlah state mempunyai pengaruh yang besar terhadap tingkat akurasi proses pengujian.

6. Waktu yang diperlukan untuk melakukan proses training dengan menggunakan Hidden Markov Models termasuk lama. Setiap proses training memakan waktu antara 100 detik hingga paling lama memakan waktu 700 detik. Hal ini juga dipengaruhi oleh berbagai faktor. Faktor yang paling utama adalah banyaknya jumlah state dan besarnya windows size. Semakin besar jumlah state dan windows size maka


(96)

waktu yang diperlukan semakin lama. Faktor yang lain yang juga dapat mempengaruhi lamanya proses training adalah ada atau tidaknya aplikasi lain yang berjalan selain Matlab. Contohnya adalah Windows Media Player, aplikasi games dan lain sebagainya.

5.2 Saran

1. Proses pengujian dan identifikasi suara manusia yang dilakukan oleh penulis hanya meneliti ucapan ‘nol’, ‘satu’, ‘dua’, ‘tiga’, ‘empat’, ‘lima’, ‘enam’, ‘tujuh’, ‘delapan’ dan ‘sembilan’. Pengucapan lain yang sering digunakan oleh manusia dalam kehidupan sehari-hari juga dapat digunakan untuk proses identifikasi suara manusia.

2. Penggunaan feature selain MFCC juga dapat digunakan untuk menunjang tingkat akurasi

3. Untuk future work dapat ditambahkan fasilitas untuk menambah speaker baru dan juga ucapan yang direkam tidak satu per satu melainkan dalam satu kali proses rekam langsung mengucapkan beberapa angka.


(97)

DAFTAR PUSTAKA

Adi, C. Kuntoro, S.J., M.A., M.S. (2008), Hidden Markov Models Based Animal Acoustic Cencusing; A Learning From Speech Technolgy.

Agustini, Ketut. (2007), Biometrik Suara dengan Transformasi Wavelet Berbasis Orthogonal Daubenchies, 50 Gematek Jurnal Teknik Komputer, Volume 9 Nomor 2.

Furui, S. , (1981), Cepstral Anaysis Technique For Automatic Speaker Verification, IEEE Trans. Acoust. Speech Signal Process.

Hasan, M. R., Jamil, M., Rabbani, M. G., & Rahman, M. S. (2004). SPEAKER IDENTIFICATION USING MEL FREQUENCY CEPSTRAL COEFFICIENTS. 3rd International Conference on Electrical & Computer Engineering. Dhaka, Bangladesh.

Hidayanto, A., & Sumardi. (2006). Pengenalan Pengucapan Kata Terisolasi dengan Metode Hidden Markov Models (HMM) melalui Ekstraksi Ciri Linear Predictive Coding (LPC).


(1)

2. Halaman Pengujian HMM

Halaman Pengujian HMM terdiri dari 2 (dua) halaman utama. a. Halaman Pengujian HMM untuk Speech Recognition

b. Halaman Pengujian HMM untuk Speaker Recognition

a b

c d e

f

g

h

i

a b

c d

e f j

h


(2)

Deskripsi Halaman Pengujian HMM

a = teks yang berisikan tentang keterangan data yang diproses b = kolom yang berisi tipe feature extraction yang dapat dipilih user c = pilihan untuk memilih besar window size

d = pilihan untuk memilih ukuran jumlah state

e = tombol untuk memulai proses pengujian Hidden Markov Models

f = teks yang menampilkan proses-proses untuk melakukan Pengujian HMM g = confusion matrix untuk Pengujian HMM pada Speech Recognition

h = teks yang menampilkan hasil pengujian yang di dalamnya terdapat keterangan jumlah data yang benar, jumlah data yang salah, waktu yang diperlukan untuk pengujian, dan tingkat akurasi yang berupa persentase.

i = tombol-tombol yang digunakan untuk meneruskan ke pengujian atau kembali ke halaman utama


(3)

Langkah-langkah untuk Pengujian HMM

Catatan : Karena antarmuka untuk pengujian HMM Speech Recognition dan Speaker Verification hampir sama maka langkah-langkah dibawah ini dapat digunakan untuk proses keduanya.

1. Pilih jenis feature extraction, besar window size, dan jumlah state sesuai dengan kebutuhan pada kolom seperti pada gambar di bawah ini.

2. Apabila sudah memilih feature extraction, window size, dan jumlah state maka tekan tombol proses

3. Setelah data selesai diproses maka akan muncul hasil data yang benar, hasil data yang salah, lamanya waktu yang diperlukan untuk proses data serta persentase akurasi data yang diproses,

4. Apabila proses telah selesai maka Anda dapat memilih langkah selanjutnya pada tombol seperti pada gambar di bawah ini


(4)

Kontak Penulis

Apabila ada pertanyaan atau saran demi kemajuan program ini, Anda dapat mengirimkan pesan Anda ke kontak di bawah ini :

= @petrav69


(5)

viii

ABSTRAK

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%.


(6)

ix

ABSTRACT

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.