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

  

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.

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 laporan

tugas 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 sudah

  sering digunakan dalam aplikasi yang berkaitan dengan ucapan. Speech recognition dan speaker recognition merupakan cabang ilmu dari specch

processing yang paling sering diaplikasikan untuk pengenalan suara.

  Speech recognition sendiri merupakan proses identifikasi suara yang akan dikonversikan dalam bentuk teks. Sedangkan speaker recognition merupakan proses indentifikasi suara yang berdasarkan pada asal suara atau pembicara. Dilihat dari perbedaan antara speech recognition dan speaker recognition, kedua proses tersebut dapat digunakan untuk melakukan proses identifikasi password berdasarkan pada suara manusia adalah speaker recognition. Oleh karena itu, dalam pembuatan tugas akhir ini penulis akan menggunakan prinsip speech

recognition dan speaker recognition dalam proses identifikasi suara.

2.2 Speech Recognition

  Speech Recognition adalah suatu pengembangan dalam sebuah sistem yang memungkinkan sebuah komputer untuk mengolah masukan atau perintah yang berupa suara. Speech Recognition memungkinkan sebuah sistem untuk dapat mengenali dan memahami perintah suara.

Terdapat 4 tahap dalam Speech Recognition (Mellisa, 2008) yaitu :

  a. Penerimaan data input

  b. Ekstraksi, yaitu penyimpanan data masukan sekaligus pembuatan database untuk template

  c. Pembandingan / pencocokan, yaitu tahap pencocokan data baru dengan data suara pada template.

  d. Validasi identitas pengguna

Gambar 2.2 Skema Speech Recognition (Melissa, 2008)

  Speech Recognition juga dibagi menjadi beberapa jenis

berdasarkan kemampuannya dalam mengenali kata yang diucapkan.

  a. Kata-kata yang terisolasi Proses pengidentifikasian kata yang hanya dapat mengenal kata yang diucapkan apabila kata tersebut memiliki jeda waktu dalam pengucapannya.

  b. Kata-kata yang berhubungan Proses pengidentifikasian kata yang mirip dengan kata-kata terisolasi, tetapi hanya membutuhkan jeda waktu pengucapan yang lebih singkat c. Kata-kata yang berkelanjutan Proses pengidentifikasian ini lebih maju karena dapat mengenali kata- kata yang diucapkan secara berkesinambungan dengan jeda waktu yang sangat sedikit. Proses ini sangat sulit karena membutuhkan metode khusus untuk membedakan kata-kata yang diucapkan dalam jeda waktu yang sangat sebentar.

  d. Kata-kata spontan Proses pengidentifikasian kata yang dapat mengenal kata-kata yang diucapkan secara spontan tanpa jeda waktu antar kata.

  e. Verifikasi atau identifikasi suara Proses pengidentifikasian kata yang tidak hanya mampu mengenali

kata tapi juga mampu mengidentifikasi siapa yang berbicara.

2.3 Speaker Recognition

  Speaker recognition merupakan salah satu metode yang dapat digunakan secara otomatis untuk mengenali suara seseorang yang mengucapkan sesuatu (Joseph P. Campbell, 1997). Speaker recognition juga merupakan bagian dari Speech Proccesing yang mana terdiri dari berbagai cabang yang berbeda-beda.

  Apabila dilihat dari gambar 2.1 sebelumnya, Speaker Recognition mencakup Speaker Identification dan Speaker Verification. Speaker Verification merujuk kepada bagaimana sebuah suara dapat menguji seseorang apakah seseorang tersebut merupakan speaker atau bukan.

  Sedangkan Speaker Identification hanya menitikberatkan terhadap penentuan 1 (satu) speaker dari sekumpulan speaker yang ada.

  Metode dari Speaker Recognition juga dapat dibedakan menjadi text-dependent dan metode text-independent. Metode text-dependent membutuhkan speaker untuk mengucapkan kata untuk pemodelan dan pengujian sedangkan metode text-independent tidak bergantung terhadap kata yang diucapkan speaker untuk pemodelan. Pada pembuatan tugas akhir ini akan menggunakan metode Speaker Recognition yang bertipe text-dependent.

   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 Speaker

  Identification suara yang masuk akan melalui tahap ekstraksi. Kemudian akan dicari kemiripan yang paling dekat dengan suara yang telah dimodelkan sebelumnya untuk mengetahui identitas dari speaker.

Gambar 2.4 Struktur dari Speaker Verification (Furui,1996)

  Pada Speaker Verification suara yang masuk akan di ekstraksi kemudian akan dibandingkan dan dicari kemiripan dengan suara dari speaker yang telah dimodelkan sebelumnya dan dari speaker id.

  Perbandingan tersebut akan digunakan untuk menolak atau menerima suara yang masuk.

2.4 Feature Extraction

  Feature extraction merupakan metode untuk mengubah sinyal menjadi beberapa parameter. Data yang akan digunakan merupakan data dari suara manusia sehingga berupa data sinyal. Tetapi tidak semua data sinyal tersebut dapat digunakan. Hal ini disebabkan karena berbagai faktor seperti suara-suara yang berada di sekitar speaker pada saat pengambilan data suara. Dengan tahap feature extraction diharapkan menghasilkan feature yang memiliki kemampuan untuk membedakan kemiripan pengucapan setiap model sehingga tidak memerlukan data training yang banyak. Pada umumnya feature extraction memiliki tiga tahap (Reynold, 2002), yaitu:

  1. Penggunaan program deteksi suara untuk menghilangkan noise dari sinyal suara yang menjadi obyek.

  2. Feature diekstrak untuk memperoleh informasi 3. Penerapan normalisasi.

  Terdapat beberapa metode yang digunakan untuk mengekstrak feature yang berhubungan dengan sinyal. Metode tersebut antara lain LPC (Linear Prediction Coding) , Mel-Frequency Cepstral Coefficients (MFCC), Neural Predictive Coding (NPC), dan sebagainya.

  Perbandingan tingkat akurasi berbagai metode feature extraction dapat dilihat pada Tabel 2.1 (Chetouani, 2004)

Tabel 2.1 Tingkat akurasi berbagai metode feature extraction (Sumber : Universite Pierre&MarrieCurrie, LA Science A Paris,

  2004) Dari Tabel 2.1 di atas dapat dilihat bahwa metode NPC memiliki tingkat identifikasi yang paling tinggi dan sempurna kemudian diikuti oleh metode MFCC. NPC merupakan salah satu algoritma ekstraksi ciri yang merupakan perluasan dari LPC. Dalam kasus ini metode MFCC dirasa paling tepat karena cara kerja metode MFCC sama dengan telinga manusia sehingga untuk mengidentifikasi suara manusia lebih baik menggunakan

2.5 Mel-Frequency Cepstral Coefficients (MFCC)

  Mel-Frequency Cepstral Coefficients (MFCC) merupakan metode pengolahan suara yang memiliki tujuan untuk mengidentifikasi asal dari sumber suara. MFCC berdasarkan pada variasi bandwidth kritis terhadap frekuensi pada telinga manusia sehingga cara kerja yang diterapkan pada metode ini meniru karakteristik telinga manusia (Zilvan dan Muttaqien, 2011). Pada telinga manusia terdapat filter-filter yang berguna untuk membedakan suara yang memililki frekuensi rendah dan suara yang memiliki frekuensi tinggi. Pada metode MFCC, filter pada telinga manusia digambarkan dalam skala mel-frekuensi yang berfungsi untuk menangkap karakter penting pada suatu ucapan.

  Beberapa keunggulan dari metode MFCC adalah ( Manunggal, 2005):

  1. Mampu menangkap karakteristik suara yang sangat penting bagi pengenalan suara atau dengan kata lain dapat menangkap informasi- informasi penting yang terkandung dalam signal suara.

  2. Menghasilkan data seminimal mungkin tanpa menghilangkan

informasi-informasi penting yang terkandung di dalamnya.

  3. Mereplikasi organ pendengaran manusia dalam melakukan persepsi terhadap signal suara.

  Filter

  • filter yang terdapat dalam telinga manusia juga memiliki jarak yang berbeda pada sumbu frekuensi. Berdasarkan cara kerja tersebut,
MFCC juga memiliki filter yang berbeda, yaitu linearly spaced filters dan logarithmically spaced filters (Hasan, Jamil, Rabbani, & Rahman, 2004).

  Pada linearly spaced filters memiliki frekuensi yang berada di bawah 1000Hz sedangkan pada logarithmically spaced filters memiliki frekuensi di atas 1000Hz.

  Gelombang suara yang dihasilkan oleh speaker dapat memiliki berbagai variasi tergantung dari kondisi fisik speaker tersebut. MFCC memiliki struktur berupa blok diagram yang dapat dilihat pada Gambar 2.4

  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 feature

  extraction dengan MFCC.

2.5.1 Frame Blocking

  Sinyal suara terus mengalami perubahan karena adanya pergeseran artikulasi dari organ produksi vokal. Oleh karena itu, sinyal harus diproses secara short segments ( short frame). Panjang frame yang biasanya digunakan untuk pemrosesan sinyal adalah antara 10-30 ms. Panjang frame yang digunakan sangat mempengaruhi keberhasilan dalam analisa spektral. Di satu sisi, ukuran dari frame harus sepanjang mungkin untuk dapat menunjukkan resolusi frekuensi yang baik. Tetapi, di sisi lain frame juga harus cukur pendek untuk dapat menunjukkan waktu yang baik. Proses frame blocking ditunjukkan pada Gambar 2.6.

Gambar 2.6 Proses frame blocking Dengan Sn merupakan nilai sampel yang dihasilkan dan n

  merupakan urutan sampel yang akan diproses Sinyal ucapan yang terdiri dari S sampel (X(S)) dibagi menjadi beberapa frame yang berisi N sampel, yang masing-masing sampel dipisahkan oleh M (M<N). Frame pertama berisi sampel N pertama.

  Frame kedua dimulai dari M sampel setelah frame pertama berjalan sehingga frame kedua ini overlap terhdap frame pertama sebanyak N-M sampel. Selanjutnya, frame ketiga dimulai M sampel setelah frame kedua ( juga overlap sebanyak N-M terhadap frame kedua ). Hasil dari proses ini adalah matriks dengan N baris dan beberapa kolom sinyal X[N].

  Proses frame ini dilakukan terus sampai seluruh sinyal dapat diproses. Selain itu, proses ini umumnya dilakukan secara overlap yang umum digunakan adalah kurang lebih 30% sampai 50% dari panjang frame. Overlapping dilakukan untuk menghindari hilangnya ciri atau karakteristik suara pada perbatasan perpotongan setiap frame.

   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.

Gambar 2.7 Sinyal dengan 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 &lt; f &lt; 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 , jN 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.