• Tidak ada hasil yang ditemukan

Analisis Pengaruh Parameter Mixture dan States Untuk Masukan Sinyal Suara Menggunakan Metode Hidden Markov Model (HMM).

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Pengaruh Parameter Mixture dan States Untuk Masukan Sinyal Suara Menggunakan Metode Hidden Markov Model (HMM)."

Copied!
20
0
0

Teks penuh

(1)

i  

ANALISIS PENGARUH PARAMETER MIXTURE DAN STATE UNTUK MASUKAN SINYAL SUARA

MENGGUNAKAN METODE HIDDEN MARKOV MODEL (HMM) Herbet Yansen P. H. / 9822046

Jurusan Teknik Elektro, Fakultas Teknik Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia

Email : herbet_yansen@yahoo.com.sg

ABSTRAK

Manusia menggunakan suara sebagai salah satu sumber informasi untuk mengkomunikasikan ide, keinginan dan perasaannya kepada orang lain atau sebagai alat identifikasi. Dewasa ini aplikasi identifikasi yang menggunakan suara telah banyak digunakan, seperti voice dialing, voice mailing atau sistem pengenalan suara yang digunakan dalam perbankan.

Identifikasi adalah sebuah proses untuk menentukan apakah sinyal suara yang diucapkan merupakan milik seseorang yang berada dalam database. Verifikasi adalah merupakan suatu proses untuk menolak atau menerima sinyal suara tersebut sebagai identitas orang yang mengucapkan sinyal suara tersebut.

Cara kerjanya adalah dengan mengambil sinyal suara pada proses verifikasi yang selanjutnya diproses dengan menggunakan metode Hidden Markov Model (HMM) untuk menentukan simbol apa yang dapat mewakili sebuah parameter sebuah kata. Contoh-contoh suara yang telah diproses tersebut akan mengisi database. Pada saat ada suara lain yang masuk, akan dicocokkan dengan contoh-contoh suara yang telah ada pada database dan akan dicari nilai kesalahan terkecilnya.

Dari percobaan yang telah dilakukan didapat nilai curam (slope) untuk menyatakan nilai kesalahan (error) terkecil dari pengucapan kata pada mixture terhadap state di 1m8s (1 mixture 8 states dan 2m6s (2 mixture 6 states).

(2)

ii  

ANALYSIS OF MIXTURE AND STATE PARAMETERS EFFECT FOR SPEECH SIGNAL AS INPUT

USING HIDDEN MARKOV MODEL METHOD (HMM) Herbet Yansen P.H. / 9822046

Department of Electrical Engineering Maranatha Christian University Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia

Email : herbet_yansen@yahoo.com.sg

ABSTRACT

Human used speech as information basis to communicate an idea, will and his emotion to others as an identity. Recently Identification applications many that been used voice such as voice dialing, voice mailing, or speech identification that been used in banking.

Identification is a process to determine that the speech signal that been spoke as part of a person who in the database. Verification is a process to reject or accept speech signal as person identity that who is speak.

How it work, by taking the speech signal verification process and next to be processes using Hidden Markov Model to decide which symbol use to represent a parameter of word. The speech samples that have been process will fill the database. When other speech enter, it will try to match with the speech sample that were in the database. When there is another speech signal enter, it will be match with speech samples that fill the database and will seek the minimize error.

From training that been practice the minimized value of pronunciation error is showed in the lowest slope which is 1m8s (1 mixture 8 states) and 2m6s (2 mixture 6 states).

(3)

v

DAFTAR ISI

Halaman

LEMBAR PENGESAHAN

SURAT PERNYATAAN

ABSTRAK i

ABSTRACT ii

KATA PENGANTAR iii

DAFTAR ISI v

DAFTAR GAMBAR vii

DAFTAR TABEL ix

BAB I PENDAHULUAN I.1 Latar Belakang 1

I.2 Identifikasi Masalah 1

I.3 Tujuan 2

I.4 Pembatasan Masalah 2

I.5 Sistematika Penulisan 2

BAB II DASAR TEORI II.1 Suara 4

II.1.1 Representasi Sinyal Ucapan 5

II.1.2 Karakteristik Sinyal Ucapan 6

II.1.3 Vokal 7

II.1.4 Diftong 7

II.1.5 Konsonan Frikatif 7

II.1.6 Konsonan Stop 8

II.2 Proses Sampling 8

II.3 Framing 10

(4)

vi

II.5 FFT (Fast Fourier Transform) 12 II.6 Cepstrum 13 II.7 VQ Source Modelling 15

II.8 Dinamic Time Wrap (DTW) 15 II.9 Hidden Markov Model (HMM) 16

II.9.1 Arsitektur Hidden Markov Model 19 BAB III CARA KERJA III.1 Proses Identifikasi dan Verifikasi 20 BAB IV SIMULASI DAN PENGAMATAN DATA IV.1 Pengujian Sistem 23 IV.2 Hasil data pengamatan 24 IV.3 Percobaan Sinyal Suara 27 BAB V KESIMPULAN DAN SARAN V.1 Kesimpulan 37

V.2 Saran 37

DAFTAR PUSTAKA

(5)

vii

DAFTAR GAMBAR

Gambar II.1 Skema diagram organ penghasil suara 4 Gambar II.2 Sinyal suara voiced 5 Gambar II.3 Sinyal suara unvoiced 6 Gambar II.4 Frikatif /s/ 7 Gambar II.5 Suara Konsonan stop /g/ 8 Gambar II.6 Bentuk sinyal sinus sebelum disampling 9 Gambar II.7 Sinyal sinus setelah proses sampling 9 Gambar II.8 Bentuk sinyal setelah proses framing 10 Gambar II.9 Sinyal sinus murni 11 Gambar II.10 Sinyal sinus setelah window 11 Gambar II.11 Sinyal sinus dalam domain waktu 12 Gambar II.12 Sinyal sinus dalam domain frekuensi 13 Gambar II.13 Contoh sinyal ter-cepstrum antara laki-laki dan perempuan 14 Gambar II.14 State transisi pada Hidden Markov Model 18 Gambar II.15 Diagram HMM 19 Gambar III.1 Blok diagram Speaker Identification 20 Gambar III.2 Blok diagram Speaker Verification 21 Gambar IV.1 Diagram plot Text – Dependent untuk 1mixture 8states Hidden Markov Model 24 Gambar IV.2 Diagram plot 2,4,8,16,dan 32 codewords 25 Gambar IV.3 Perbandingan persentase kesalahan untuk 8 VQ, DTW,

1m8s HMM 26

(6)

viii

(7)

ix

DAFTAR TABEL

Tabel II.1. Fonem-fonem Bahasa Inggris – Amerika dalam standar

IPA dan ARPABET 6

Tabel IV.1. Tabel Persentase Kesalahan 2,4,8,16,32 codewords 25 Tabel IV.2. Tabel kesalahan perbandingan antara 8VQ, DTW, dan 1m8s

(8)
(9)

A-1  

########################### % Tampil sinyal suara

[y fs]=wavread(' '); wavplay(y,fs);

% Menggambar sinyal suara figure(1);

panjang_y=length(y); t_y=1/fs:1/fs:panjang_y/fs;

% subplot(211);plot(211);plot(t_y,y);title('Gambar Sinyal');ylabel('Amplituda (volt)');xlabel('Waktu (detik)');

% subplot(212);plot(y);

plot(211);plot(t_y,y);title('Gambar Sinyal');ylabel('Amplituda (volt)');xlabel('Waktu (detik)');

% Stem sinyal figure(2);

Y_potong_gbr=(y(10000:10100)); panjang_Y=length(Y_potong_gbr);

t_Y_potong_gbr=1/fs:1/fs:Y_potong_gbr/fs;

subplot(311);plot(Y_potong_gbr);title('Potong Gambar');ylabel('Amplituda (volt)');xlabel('Sampel');

(10)

A-2  

% Windowing

w=hamming(panjang_Y); wh=Y_potong_gbr.*w;

subplot(313);plot(wh);title('sinyal di-Hamming');ylabel('Amplituda (volt)');xlabel('Sampel');

% FFT

Y_FFT=abs(fft(Y_potong_gbr,512)); Y_dB=20*log(Y_FFT)

figure(3);

plot(Y_dB);title('FFT sinyal');ylabel('Magnituda (dB)');xlabel('Frekuensi (Hertz)');

pause; close all;

############################################################# Main.m

######

function main(mysterySignal, speakerDatabase)

% Ini Adalah main function yang merekam sinyal suara misteri % ... dari seseorang yang berusaha "meng-akses sistem".

% ... speaker Database terdiri dari contoh suara dari orang yang "diterima".

% ini men-set threshhold untuk envelope detection envThreshhold = .2;

error = '';

% penggal 300 sample (untuk menghilangkan microphone "turn-on" spike)... % ... dan zero-kan signal

mysterySignal = zerovect(mysterySignal);

% Normalize mysterySignal

(11)

A-3  

% jalankan envelope detector untuk mencari awal dan akhir untuk setiap pengucapan

[vowelStart, vowelEnd] = newenvdetect(mysterySignal, envThreshhold);

numberOfVowels = length(vowelStart);

% Untuk setiap ucapan pada sinyal misteri for k = 1 : numberOfVowels

% Isolate kth vowel of mysterySignal

mysVowelSig = mysterySignal( vowelStart(k) : vowelEnd(k) );

% Create vocal model of kth vowel

[freqkHz, mysVowelModelMag] = vocalModel(mysVowelSig); figure (k)

subplot(511)

semilogy(freqkHz, mysVowelModelMag); title('mysterySig')

% Figure out which vowel (a, e, i, o...) the kth vowel is % Find formant frequencies of kth vowel

[formantFreq, magForm] = formantfind(freqkHz, mysVowelModelMag); formantFreq

% Database of known first and second formant values for vowel sounds % Note: we are using only select vowels appearing in the groups'... % ... names to emulate a security database

% format: vowel = [minFormant1 maxFormant1 minFormant2 maxFormant2]

a = [ .670 .810 1.500 1.900 ]; % seperti cat

% membandingkan hasil kalkulasi dari suara misteri dengan nilai di database if ( formantFreq(1) > a(1) && formantFreq(1) < a(2)...

&& formantFreq(2) > a(3) && formantFreq(2) < a(4) )

mysVowel(k) = 1; % 'a'

elseif ( formantFreq(1) > ah(1) && formantFreq(1) < ah(2)... && formantFreq(2) > ah(3) && formantFreq(2) < ah(4) )

(12)

A-4  

elseif ( formantFreq(1) > ay(1) && formantFreq(1) < ay(2)... && formantFreq(2) > ay(3) && formantFreq(2) < ay(4) )

mysVowel(k) = 3; % 'ay'

elseif ( formantFreq(1) > ee(1) && formantFreq(1) < ee(2)... && formantFreq(2) > ee(3) && formantFreq(2) < ee(4) )

mysVowel(k) = 4; % 'ee'

elseif ( formantFreq(1) > eh(1) && formantFreq(1) < eh(2)... && formantFreq(2) > eh(3) && formantFreq(2) < eh(4) )

mysVowel(k) = 5; % 'eh'

elseif ( formantFreq(1) > ih(1) && formantFreq(1) < ih(2)... && formantFreq(2) > ih(3) && formantFreq(2) < ih(4) )

mysVowel(k) = 6; % 'ih'

elseif ( formantFreq(1) > oh(1) && formantFreq(1) < oh(2)... && formantFreq(2) > oh(3) && formantFreq(2) < oh(4) )

% Output untuk ditampilkan ucapan mana yang ditemukan disp(sprintf(' Found %d', mysVowel(k)));

numberOfPeople = length(speakerDatabase);

% untuk setiap orang dalam database atau jumlah pengucap kata yang dikenali for l = 1 : numberOfPeople

% Give each person a score for the current vowel and put it... % ... into a matrix with a row for each person and a column... % ... for each vowel

matchMatrix(l, k) = speakerDatabase(l).vowel(mysVowel(k)).model'* mysVowelModelMag;

figure(k)

(13)

A-5  

semilogy(freqkHz , speakerDatabase(l).vowel(mysVowel(k)).model) title(sprintf('speaker number %d',l))

end end

% Add up the elements of each row in matchMatrix to get a total "score"... % ... for each person

for m = 1 : size(matchMatrix, 1)

scoreVector(m) = sum( matchMatrix(m, :)); end

% Cari nilai tertinggi

[highestScore, highestScoreIndex] = max(scoreVector);

matchMatrix scoreVector

% Set threshhold score yang harus diberikan untuk memberikan hasil yang positif thresholdMultiplier = length(nonzeros(matchMatrix(1,:)));

threshholdScore = .85 * thresholdMultiplier;

if (highestScore > threshholdScore)

disp(['Hello ' speakerDatabase(highestScoreIndex).name]); soundsc(speakerDatabase(highestScoreIndex).welcome,8000);

else

% We ran this after recording everybodies' vowel sounds to get the... % ... models we needed for the speaker recognition. Each vowel sound... % ... is a field in a structure.

% dhamodel = Damen Hattori's "a" model sound knownSpeaker(1).name = 'Damen Hattori'; knownSpeaker(1).welcome = HelloDamen;

(14)

A-6  

knownSpeaker(1).vowel(6).model = dhihmodel; % vowel 6 = ih knownSpeaker(1).vowel(7).model = dhohmodel; % vowel 7 = oh knownSpeaker(1).vowel(8).model = dhohmodel; % vowel 8 = ue

knownSpeaker(2).name = 'Josh Long'; knownSpeaker(2).welcome = HelloJosh; knownSpeaker(2).vowel(1).model = jlamodel; knownSpeaker(2).vowel(2).model = jlahmodel; knownSpeaker(2).vowel(3).model = jlaymodel; knownSpeaker(2).vowel(4).model = jleemodel; knownSpeaker(2).vowel(5).model = jlehmodel; knownSpeaker(2).vowel(6).model = jlihmodel; knownSpeaker(2).vowel(7).model = jlohmodel; knownSpeaker(2).vowel(8).model = jluemodel;

knownSpeaker(3).name = 'Matt McDonell'; knownSpeaker(3).welcome = HelloMatt;

knownSpeaker(3).vowel(1).model = mmamodel; knownSpeaker(3).vowel(2).model = mmahmodel; knownSpeaker(3).vowel(3).model = mmaymodel; knownSpeaker(3).vowel(4).model = mmeemodel; knownSpeaker(3).vowel(5).model = mmehmodel; knownSpeaker(3).vowel(6).model = mmihmodel; knownSpeaker(3).vowel(7).model = mmohmodel; knownSpeaker(3).vowel(8).model = mmuemodel;

knownSpeaker(4).name = 'Chris Pasich'; knownSpeaker(4).welcome = HelloChris; knownSpeaker(4).vowel(1).model = cpamodel; knownSpeaker(4).vowel(2).model = cpahmodel; knownSpeaker(4).vowel(3).model = cpaymodel; knownSpeaker(4).vowel(4).model = cpeemodel; knownSpeaker(4).vowel(5).model = cpehmodel; knownSpeaker(4).vowel(6).model = cpihmodel; knownSpeaker(4).vowel(7).model = cpohmodel; knownSpeaker(4).vowel(8).model = cpuemodel;

% Give the models names in the structure for k = 1:4;

(15)

A-7  

end

% Create final database to use

(16)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

Bab ini membahas mengenai latar belakang, identifikasi masalah, tujuan, pembatasan masalah, dan sistematika penulisan.

I.1 Latar Belakang

Manusia menggunakan suara sebagai salah satu sumber informasi untuk mengkomunikasikan ide, keinginan dan perasaannya kepada orang lain atau sebagai alat identifikasi. Dewasa ini aplikasi identifikasi yang menggunakan suara telah banyak digunakan, seperti voice dialing, voice mailing atau sistem pengenalan suara yang digunakan pada perbankan.

Dalam keperluan pemrosesan sinyal, suara dirubah menjadi sinyal diskrit agar dapat diproses secara digital. Ketika suara digunakan sebagai alat identifikasi yang menentukan apakah sinyal suara yang diucapkan merupakan milik seseorang yang berada dalam database, dan verifikasi untuk menolak atau menerima sinyal suara tersebut sebagai identitas orang yang mengucapkan sinyal suara tersebut, maka perlu ditentukan jumlah mixture dan states dari sinyal suara tersebut, karena suara dapat dicirikan melalui jumlah mixture dan state-nya.

Dalam Tugas Akhir ini akan direalisasikan suatu cara untuk menganalisa pengaruh parameter mixture dan states dengan masukan sinyal suara menggunakan metode Hidden Markov Model (HMM).

I.2 Identifikasi Masalah

(17)

2

Universitas Kristen Maranatha I.3 Tujuan

Tujuan dari Tugas Akhir ini adalah menganalisa pengaruh parameter mixture dan states dengan untuk masukan sinyal suara untuk menghasilkan

kesalahan (error) yang minimal menggunakan metoda Hidden Markov Model (HMM).

I.4 Pembatasan Masalah

Pembatasan masalah dari Tugas Akhir ini adalah sebagai berikut: 1. Sinyal masukan adalah sinyal suara (ucapan).

2. Menggunakan metoda Hidden Markov Model (HMM). 3. Simulasi menggunakan Matlab 6.5.

4. Parameter yang akan ditentukan adalah jumlah mixture dan states.

I.5 Sistematika Penulisan

Laporan Tugas Akhir ini terbagi menjadi lima bab utama. Untuk memperjelas penulisan laporan ini, akan diterangkan secara singkat sistematika beserta uraian dari masing-masing bab, yaitu :

1. BAB I PENDAHULUAN

Bab ini berisi tentang pendahuluan yang melingkupi latar belakang, perumusan masalah, tujuan, pembatasan masalah, serta sistematika penulisan.

2. BAB II DASAR TEORI

Bab ini dijelaskan mengenai teori-teori yang berkaitan dengan Tugas Akhir ini dan menunjang terselesaikannya Tugas Akhir ini.

3. BAB III CARA KERJA

(18)

3

Universitas Kristen Maranatha 4. BAB IV SIMULASI DAN ANALISA

Bab ini akan berisi tentang pengujian yang digunakan dalam pengolahan sinyal suara.

5. BAB V KESIMPULAN DAN SARAN

(19)

37 Universitas Kristen Maranatha  

BAB V

KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang diambil berdasarkan hasil simulasi dan analisa, serta saran.

V.1 Kesimpulan.

Adapun kesimpulan yang dapat diambil dari hasil simulasi yang ditampilkan di Bab IV adalah sebagai berikut:

1. Dari hasil pengamatan, di dapat parameter mixture dan states dengan metoda Hidden Markov Model (HMM) yang memberikan kinerja yang lebih baik pada 1m8s dan 2m6s. Karena pada nilai parameter ini, diperoleh kesalahan (error) pengucapan kata yang mínimum dari penggabungan antara mixture dan states yang ditentukan.

2. Semakin banyak jumlah Codewords yang digunakan 2n dengan n= 1, 2, 3, 4, dari percobaan yang dilkukan untuk Codewords yang lebih besar dihasilkan persentasi kesalahan (error) pola pengenalan kata semakin kecil.

V.2 Saran.

Untuk dikemudian hari penentuan jumlah parameter mixture dan states untuk masukan sinyal suara dapat menggunakan metode lain, seperti menggunakan metode jaringan saraf tiruan.

 

 

 

 

(20)

DAFTAR PUSTAKA

1. A. L. Higgins, L. Bahler, and J.Porter. “Speaker verification using randomized phrase prompting”.Digital Signal Processing, (1):89-106,

1991.

2. Bishnu S. Atal. “Effectiveness of linear prediction characteristics of the speech wave for automatic speaker identification and verification”.

Journal of the Acustical Society of America, 55(6):1304-1312, 1974. 3. E. L. Bocchieri. “Vector quantization for the computation of continuous

density likelyhood”. In ICASSP [ICA93], pages 692-694.

4. John R. Deller, jr., John G Proakis., John H. L. Hansen. “ Discrete-Time Processing of Speech Signals” Macmillan Publishing Company, 1993.

5. Lawrence Rabiner. “ A tutorial on Hidden Markov Model and selected application in speech recognition”. Proceeding of the IEEE, 77

(2):257-286, February 1989.

6. Lawrence Rabiner, Biing Hwang Juan, “Fundamentals of Speech Recognition”, Prentice Hall International Inc, 1993.

7. T. Matsui and S. Furui. “Concatenated phoneme models for text-variable speaker recognition”. In ICASSP [ICA93], pages 391-394.

Referensi

Dokumen terkait

.bagi orang-orang yan^ berlainan kewarganegaraan yang melakukan perkawinan campuran, dapat memper- oleh kewarganegaraan dari suami atau istrinya dan dapat pula

Untuk mempermudah penelitian yang akan dilakukan dan mempertajam permasalahan yang akan dibahas, maka penulis membatasi permasalahan tersebut pada

Kecuali asam amino yang mengandung sulfur, perkiraan kebutuhan minimal asam-asam amino essensiel harian bagi orang dewasa dapat terpenuhi dengan mengkonsumsi susu

Sebagai suatu bentuk penilian dan gambaran akan diri sendiri konsep diri bagi remaja tentunya menjadi hal yang dipikirkan dan diinginkan sehingga memunculkan citra

Pemerintah AS juga mendanai US Institute for peace (USIP) yang telah melakukan serangkaian pertemuan tidak resmi di Jerman dengan kelompok- kelompok oposisi dalam

(2012) ‘Is There Any Correlation Between The Results of Skin-Prick Test and The Severity of Symptoms In Allergic Rhinitis ?’ American Journal of Rhinology &amp;

Maju dan berkembangnya peradaban dunia juga mempengaruhi alat pendukungnya, diantaranya adalah teknologi komunikasi yang penggunaanya sebagai alat bantu

Interaksi manusia dan komputer menurut Wicaksono (2005:3) adalah bidang studi yang mempelajari, manusia, teknologi komputer dan interaksi antara kedua belah pihak, merupakan