Professional Documents
Culture Documents
Full
Full
Full
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
SKRIPSI
Oleh :
NIM : 085314025
YOGYAKARTA
2013
i
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
A THESIS
By :
STUDENT ID : 085314025
YOGYAKARTA
2013
ii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
HALAMAN PERSEMBAHAN
AND
Thank You for stay with me and for gave me wonderful world..
v
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
ABSTRAK
Suara manusia dapat dijadikan salah satu cara untuk mengidentifikasi apa
yang diucapkan manusia dan siapa yang mengucapkannya. Pada tugas akhir ini
merupakan salah satu metode ektraksi ciri yang digunakan untuk pengenalan
suara manusia.
untuk proses training dan testing menggunakan metode 5-fold cross validation.
kombinasi feature, windows state dan jumlah state diperoleh tingkat akurasi
paling tinggi untuk speech recognition 95% dan untuk speaker recognition 93%.
viii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
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
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
windows size and number of states are 95% for speech recognition and 93% for
speaker recognition.
ix
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
KATA PENGANTAR
Puji dan syukur kepada Tuhan Yesus Kristus yang telah senantiasa
memberikan berkat dan rahmat yang tak berkesudahan serta kesempatan yang
1. Romo Dr. C. Kuntoro Adi, S.J., M.A., M.Sc. selaku dosen pembimbing
2. Ibu Paulina Heruningsih Prima Rosa, S.si., M.Sc. selaku Dekan Fakultas
Sains dan Teknologi. Terima kasih atas semua bantuan dan bimbingan
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
6. Staff Sekretariat Fakultas Sains dan Teknologi, Bapak Tukija, Bu Rina dan
lancar.
7. Kedua orang tua saya, Yohanes Sulistiono dan M.M Lusia. Terima kasih
8. Kedua adikku, Bernadeta Listiani dan Felicia Ratriana Putri. Terima kasih
9. Tim Ceriwis. Pucha dan Itha. Teman suka dan duka. Terima kasih atas
10. Untuk Angga, Endra, Surya, Devi, Ocha, Siska, Bebeth, Esy, Agnes dan
atas dukungannya.
11. Untuk Maleo, mbak Vero, mbak Lia dan Mbak Debby. Terima kasih atas
12. Semua pihak yang telah membantu penulis dalam menyelesaikan skripsi.
Penulis
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
DAFTAR ISI
ABSTRACT .............................................................................................................................IX
xii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI xiii
BAB IV .................................................................................................................................... 49
4.2.3 Halaman Pengujian Hidden Markov Models untuk Speech Recognition ............ 62
4.2.4 Halaman Pengujian Hidden Markov Models untuk Speaker Verification .......... 64
BAB V ..................................................................................................................................... 76
5.1 KESIMPULAN................................................................................................................. 76
LAMPIRAN I .......................................................................................................................... 82
LAMPIRAN II ......................................................................................................................... 84
DAFTAR GAMBAR
DAFTAR TABEL
xviii
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB I
PENDAHULUAN
seseorang terganggu. Hal ini dapat dilihat dari berbagai contoh seperti
yang disadap dan lain sebagainnya. Maka dari itu, keamanan menjadi hal
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
Suara adalah salah satu hal yang membedakan antara manusia satu
dengan yang lainnya. Tiap individu memiliki karakter vokal, timbre dan
1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 2
suara inilah yang dapat dijadikan sebagai kata sandi untuk meningkatkan
Salah satu metode yang cukup baik dan memiliki akurasi yang tinggi
Sumardi, 2006) dihasilkan akurasi yang berkisar pada angka 99,82% untuk
berkisar pada angkan 87,58%. LPC sendiri adalah salah satu metode yang
dalam pengklasifikasian.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 3
sandi atau password. Judul dari tugas akhir ini adalah “ Identifikasi
suara.
sistem.
1.3 Tujuan
1. Pola suara yang diteliti adalah pola suara manusia yang mencakup
Kata yang diucapkan adalah kata ‘satu’, ‘dua’, ‘tiga’, ‘empat’, ‘lima’,
yang digunakan adalah stereo sound dengan bit data sebesar 16 bit.
6. Terdapat 200 data yang akan digunakan untuk penelitian ini dengan
rincian 100 data dari suara perempuan dan 100 data dari suara laki-
laki.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 5
1. Studi Pustaka
Tahap ini dilakukan dengan cara mengambil data berupa ucapan dari 4
komputer.
pemrograman Matlab.
5. Tahap Pengujian
Pada tahap ini juga akan dilakukan evaluasi terhadap sistem yang
data yang telah dimodelkan terlebih dahulu tetapi dalam program akan
BAB I PENDAHULUAN
penulisan.
BAB II
LANDASAN TEORI
dari si pembicara.
studi yang mempelajari tentang sinyal dari sebuah ucapan dan juga metode
9
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 10
dengan tujuan dari pengolahan suaranya. Hal tersebut dapat dilihat pada
Gambar 2.1
Apabila dilihat dari Gambar 2.1 terdapat beberapa ilmu yang sudah
pada suara manusia adalah speaker recognition. Oleh karena itu, dalam
pengucapannya.
d. Kata-kata spontan
juga merupakan bagian dari Speech Proccesing yang mana terdiri dari
text-dependent.
akan dicari kemiripan yang paling dekat dengan suara yang telah
dari suara manusia sehingga berupa data sinyal. Tetapi tidak semua data
sinyal tersebut dapat digunakan. Hal ini disebabkan karena berbagai faktor
2002), yaitu:
3. Penerapan normalisasi.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 17
feature yang berhubungan dengan sinyal. Metode tersebut antara lain LPC
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
metode MFCC.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 18
frekuensi pada telinga manusia sehingga cara kerja yang diterapkan pada
memiliki frekuensi tinggi. Pada metode MFCC, filter pada telinga manusia
jarak yang berbeda pada sumbu frekuensi. Berdasarkan cara kerja tersebut,
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 19
MFCC juga memiliki filter yang berbeda, yaitu linearly spaced filters dan
di atas 1000Hz.
memiliki struktur berupa blok diagram yang dapat dilihat pada Gambar 2.4
Continuous
Frame Blocking Windowing FFT
Speech
Mel Cepstrum
Cepstrum Mel-Frequency Wrapping
artikulasi dari organ produksi vokal. Oleh karena itu, sinyal harus diproses
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.
sehingga frame kedua ini overlap terhdap frame pertama sebanyak N-M
juga overlap sebanyak N-M terhadap frame kedua ). Hasil dari proses ini
diproses. Selain itu, proses ini umumnya dilakukan secara overlap yang
umum digunakan adalah kurang lebih 30% sampai 50% dari panjang
2.5.2 Windowing
berbeda dengan sinyal aslinya. Hal ini dapat terjadi karena rendahnya
blocking telah dibagi menjadi beberapa frame. Setiap frame yang diperoleh
yang terputus pada awal dan akhir setiap frame. Window dapat
Fungsi window ini menghasilkan sidelobe level yang tidak terlalu tinggi
(kurang lebih -43dB) selain itu noise yang dihasilkan juga tidak terlalu
windowing.
DFT.
memiliki nilai suara pada indeks waktu genap sedangkan bagian kedua
merupakan sinyal yang memiliki nilai suara pada indeks waktu ganjil.
𝑁−1
𝑋𝑛 = 𝑘=0 𝑋 𝑒 −2𝜋𝑘𝑛 𝑁 , dimana n = 0,1,2,3,…..N-1 (2-4)
𝑘
frekuensi dari setiap frame. Ketika FFT dijalankan pada sebuah frame,
dapat diasumsikan bahwa sinyal dalam sebuah frame adalah periodik dan
berikut:
Hz. Nada yang subyektif diukur dengan menggunakan skala Mel. Sebagai
berikut:
jarak pusat filter adalah konstan pada ruang frekuensi mel. Skala mel
Gambar 2.8.
𝑁−1
𝑋𝑖 = log10 𝑘=0 𝑋 𝑘 𝐻𝑖 𝑘 (2-6)
untuk frekuensi akustik sebesar k. Hasil dalam spektrum mel ini kemudian
𝑀 𝜋
𝐶 𝑗 = 𝑖=1 𝑋𝑖 cos 𝑗 𝑖 − 1 /2 𝑀 (2-7)
2.5.5 Cepstrum
𝐾 1 𝜋
𝐶𝑛 = 𝑘−1 𝑙𝑜𝑔𝑆𝑘 𝑛 𝑘−2 (2-8)
𝐾
dimana n = 1,2,…. K
dapat digunakan untuk analisa yang lebih jauh, misalnya untuk Speaker
statistik yang tidak dapat dipisahkan atau dapat dikatakan tepat secara
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 28
dengan seluruh model yang ada dan akan melihat tingkat kecocokan yang
paling mendekati.
1. Probabilitas Transisi
𝑁
𝐽 𝑖𝑗 = 1 dan aij = 1
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 29
2. Probabilitas Observasi
1≤ j ≤N, 1≤ k ≤M
π = { πi } , πi = P (qi = Sj )
observasi.
O = O1 O2 O3 O4 O5……… Ot (2.9)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 30
Dimana untuk setiap observasi Ot adalah satu dari simbol yang ada
tersebut.
dapat berbentuk kontinu untuk data yang berlanjut sesuai dengan waktu
seperti data suara yang akan diterapkan pada penelitian ini dan pemodelan
state yang saling berhubungan, yang mana setiap state terhubung dari state
manapun.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 31
(a) Model 4-state (b) Model 4-state-kiri-kanan (c) Model parallel 6-state
hingga waktu t ) dan state Si pada waktu t , dengan model λ, dan α sebagai
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
𝑛 𝑁
𝑃 𝑂𝜆 = 𝑖=1 𝛼𝑡 𝑖 𝛽𝑡 𝑖 = 𝑖=1 𝛼𝑡 (𝑖) (2.10)
∝𝑡 𝑖 𝛽 𝑡 (𝑖)
𝛾𝑡 = (2.11)
𝑃(𝑂|𝜆)
Pada saat menghitung model yang akan akan digunakan maka akan
dari setiap contoh akan diekstrak dan disimpan dalam sebuah parameter
vektor sekuens xt. Parameter ini yang akan dipetakan sebagai ekuivalensi
dari Ot.
𝜆 = 𝐴, 𝐵 , 𝜋
Seperti
𝑃 𝑂 𝜆 > 𝑃(𝑂|𝜆)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 34
𝑃 𝑂 𝜆 −𝑃 𝑂 𝜆
3. Jika > threshold, maka hentikan langkah ini. Jika tidak,
𝑃 𝑂𝜆
4 (empat) kelompok data akan digunakan sebagai data training dan satu
Pembagian data untuk setiap kelompok data dapat dilihat di Tabel 2.2
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
maupun testing.
Testing Training
Pengujian ke 1 5 4 3 2 1
Pengujian ke 2 4 5 3 2 1
Pengujian ke 3 3 5 4 2 1
Pengujian ke 4 2 5 4 3 1
Pengujian ke 5 1 5 4 3 2
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 36
Suara 1
Suara 2
Suara 3
Suara 4
Suara 5
membandingkan output hasil dari identifikasi oleh sistem dengan label uji
Keterangan :
BAB III
Bab ini akan menjelaskan tentang rancangan dan cara kerja sistem
Hidden Markov Models. Data suara terdiri dari 4 orang yang mana
testing dan akhirnya sistem akan menampilkan hasil apakah suara yang
37
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 38
Data suara
Feature
berektensi
Extraction
.wav
Proses
Nilai
Testing perhitungan Evaluasi hasil
maksimum
probabilitas
Dimulai dari data masuk yang berupa file berekstensi .wav kemudian akan
yang telah diproses kemudian menjadi input untuk proses training dan
training
Sistem Pengenalan
Pola Suara Sebagai
Password
testing
Input suara
Feature extraction
Estimasi model
....
M1 M2 .... Mn
menggunakan data yang baru. Untuk mengenali data baru yang masuk,
sistem akan menghitung probabilitas dari data baru dengan model yang
M1 M2 .. Mn
Memilih kedekatan
Data suara manusia Feature extraction
yang paling maksimum Data dikenali
Menghitung kemiripan
terhadap model
pada pembuatan tugas akhir ini penulis menggunakan HMM Toolkit (HTK).
perhitungan dari Hidden Markov Models serta cara kerja dari sistem, yaitu:
1. Halaman depan
4. Halaman bantuan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 42
dan nama Dosen pembimbing. Rancangan dari halaman depan sistem ini
suara. Sedangkan pada halaman pengujian HMM akan berisi tentang cara
kerja dari HMM dan cara kerja sistem. Rancangan halaman pengujian
Gambar 3.9
menu untuk mengambil contoh data suara dari direktori yang ada untuk
HMM. Apabila proses telah selesai maka akan muncul confusion matrix
program serta sedikit keterangan mengenai program yang terdiri dari tujuan
serta manfaat dari program. Rancangan dari halaman bantuan dapat dilihat
3.6.1 Hardware
1.65GHz
3.6.2 Software
Windows 7 Ultimate
MATLAB R2010a.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
BAB IV
sistem. Hal yang utama dalam pembahasan bab ini adalah analisa hasil
menggunakan windows size, tipe feature dan dengan jumlah state yang
windows size yang digunakan pada sistem ini adalah 4ms sampai dengan
dan MFCC_D_A. Sedangkan jumlah state yang dapat digunakan yaitu 10,
akurasi data yang berupa persentase. Pada bagian ini akan ditampilkan
confusion matrix yang memiliki akurasi paling tinggi dari semua proses
49
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 50
pengujian. Tabel 4.1 dan Tabel 4.2 di bawah ini menunjukkan hasil setiap
Recognition
Recognititon
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
17 5 MFCC_D 10 82
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 51
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
36 6 MFCC_D_A 25 92
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 52
Recognition
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
22 6 MFCC_D 15 85
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 53
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
36 6 MFCC_D_A 25 89
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 54
MFFC_D dan dengan kombinasi windows size dan jumlah state yang
Recognition.
Hasil Pengujian
100
95
90
Jumlah state
Akurasi
10
85
15
80
20
75
25
70
4 5 6
Window Size
MFFC_D dan dengan kombinasi windows size dan jumlah state yang
Recognition.
Hasil Pengujian
95
90
Jumlah state
85
Akurasi
10
80 15
20
75 25
70
4 5 6
Windows Size
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
pada Tabel 4.5 jumlah state yang digunakan adalah 20 dengan ukuran
Tabel 4.3 Hasil identifikasi suara berdasarkan tipe feature pada proses
Speech Recognition
MFCC 93
MFCC_D 95
MFCC_D_A 92
yang dihasilkan bervariasi mulai dari 92% sampai dengan 95%. Pengujian
jumlah state 25 dan besar windows size 6ms memiliki akurasi yang paling
tinggi.
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 0 0 0 0 0 0 0 0 0 20
n
menunjukkan hasil maksimal yaitu 20. Nilai terendah dari confusion matrix
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
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 58
tidak berasal dari speaker yang telah dimodelkan masih dapat dikenali
Tabel 4.5 Hasil identifikasi suara berdasarkan tipe feature pada proses
Speaker Recognition
MFCC 89
MFCC_D 93
MFCC_D_A 88
yang dihasilkan bervariasi mulai dari 88% sampai dengan 93%. Pengujian
jumlah state 20 dan besar windows size 6ms memiliki akurasi yang paling
tinggi.
memiliki tingkat akurasi yang paling tinggi. Confusion matrix di bawah ini
Angga 45 0 0 5
Deta 0 44 6 0
Petra 0 3 47 0
Yudhi 1 0 0 49
pada speaker yang bernama Yudhi. Sedangkan jumlah paling kecil yaitu
sistem sedikit sulit untuk membedakan speaker tersebut. Dalam kasus ini
Petra dan Deta adalah speaker yang memiliki hubungan darah sehingga
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
Recognition
Markov Models dengan jenis feature, windows size dan jumlah state yang
data yang cocok dan tidak cocok. Tampilan dari halaman ini dapat dilihat
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
tiga pilihan dan pada Jumlah State terdapat empat pilihan yang dapat
dari hasil pengujian yang di dalamnya terdapat jumlah data yang sesuai,
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 63
jumlah data yang tidak sesuai, waktu keseluruhan dan tingkat akurasi yang
berupa persentase.
Recognition
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 64
Verification
Markov Models dengan jenis feature, windows size dan jumlah state yang
data yang cocok dan tidak cocok. Tampilan dari halaman ini dapat dilihat
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
tiga pilihan dan pada Jumlah State terdapat empat pilihan yang dapat
dari hasil pengujian yang di dalamnya terdapat jumlah data yang sesuai,
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 65
jumlah data yang tidak sesuai, waktu keseluruhan dan tingkat akurasi yang
berupa persentase.
Verification
akan memasukkan data untuk pengujian dengan merekam suara dari user.
tombol digunakan untuk merekam satu ucapan dari user. User memiliki
waktu sebanyak tiga detik pada setiap tombol untuk mengucapkan suara.
pada sistem ini. Tampilan pada halaman ini dapat dilihat pada Gambar 4.5
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 66
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
selanjutnya.
dari proses rekam sebelumnya. Proses ini merupakan proses dimana suara
yang telah direkam akan diidentifikasi dan memberikan hasil berupa teks.
tombol yang berisi tentang perintah dan keterangan serta proses yang
proses rekaman dapat diulang lagi dengan menekan tombol Ulangi 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
tombol yang berisi tentang perintah dan keterangan serta proses yang
proses rekaman dapat diulang lagi dengan menekan tombol Ulangi Hasil
identifiksi suara yang berupa teks yang berupa nama dari user.
telah dimodelkan ke dalam sistem identifikasi ini. Gambar 4.8 dan Gambar
4.9 merupakan hasil pengujian untuk speaker Angga, Gambar 4.10 dan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 70
Gambar 4.12 dan Gambar 4.13 merupakan hasil pengujian untuk speaker
Detha.
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
tidak terdaftar.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 74
Gambar 4.17 Halaman Pengujian Speaker Verification untuk speaker yang tidak
terdaftar
pertanyaan.
BAB V
identifikasi suara manusia. Pada bab ini juga akan diberikan beberapa
5.1 Kesimpulan
pengenalan suara manusia. Hal ini dapat dilihat dari tingkat akurasi
Speech Recognition yaitu 95% dengan windows size 6ms, jumlah state
MFCC_D.
76
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 77
a. Speech Recognition
MFCC = 93%
MFCC_D = 95%
MFCC_D_A = 92%
b. Speaker Verification
MFCC = 89%
MFCC_D = 93%
MFCC_D_A = 88%
5. Dalam pemilihan windows size, tipe feature extraction dan jumlah state
pengujian.
training memakan waktu antara 100 detik hingga paling lama memakan
waktu 700 detik. Hal ini juga dipengaruhi oleh berbagai faktor. Faktor
windows size. Semakin besar jumlah state dan windows size maka
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 78
waktu yang diperlukan semakin lama. Faktor yang lain yang juga dapat
5.2 Saran
speaker baru dan juga ucapan yang direkam tidak satu per satu
beberapa angka.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 79
DAFTAR PUSTAKA
Adi, C. Kuntoro, S.J., M.A., M.S. (2008), Hidden Markov Models Based
9 Nomor 2.
dengan Metode Hidden Markov Models (HMM) melalui Ekstraksi Ciri Linear
Recognition.
dengan Algoritma FFT dan Divide and Conquer. Makalah IF2251 Strategi
Algoritmik.
Processing .
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 81
Vokal dan Aplikasinya pada Speaker Recognition. Seminar Nasional MIPA 2007.
UNY. Yogyakarta.
LAMPIRAN I
a. Speech Recognition
Jumlah state = 25
nol satu dua tiga empat lima enam tujuh delapan sembilan
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
sembilan 0 0 0 0 0 0 0 0 0 20
b. Speaker Recognition
Jumlah state = 20
Angga 45 0 0 5
Deta 0 44 6 0
Petra 0 3 47 0
Yudhi 1 0 0 49
45+44+47+49
Akurasi = 𝑥 100 % = 93%
200
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI
LAMPIRAN II
1. pengujianSistem2.m
function varargout = pengujianSistem2(varargin)
% PENGUJIANSISTEM2 M-file for pengujianSistem2.fig
% PENGUJIANSISTEM2, by itself, creates a new PENGUJIANSISTEM2 or
raises the existing
% singleton*.
%
% H = PENGUJIANSISTEM2 returns the handle to a new PENGUJIANSISTEM2
or the handle to
% the existing singleton*.
%
% PENGUJIANSISTEM2('CALLBACK',hObject,eventData,handles,...) calls
the local
% function named CALLBACK in PENGUJIANSISTEM2.M with the given
input arguments.
%
% PENGUJIANSISTEM2('Property','Value',...) creates a new
PENGUJIANSISTEM2 or raises the
% existing singleton*. Starting from the left, property value
pairs are
% applied to the GUI before pengujianSistem2_OpeningFcn gets
called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to pengujianSistem2_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only
one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
84
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 85
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = pengujianSistem2_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% option = 'n';
% option_rec = 'n';
record_len = 3; %waktu perekaman (record length) dalam detik
sample_freq = 44100; %Sampling frequency dalam Hertz (8KHz)
sample_time = sample_freq* record_len;
% namafile=get(handles.txtEditNameFile,'String');
file_name = sprintf('dataMasuk1.wav');
if exist('dataMasuk1.wav')==0 || exist('dataMasuk2.wav')==0 ||
exist('dataMasuk3.wav')==0 || exist('dataMasuk4.wav')==0
errordlg('Anda belum merekam password Anda','Peringatan');
% [nf,fs,nb]=wavread(file_name);
% nf=nf(:,1);
% wavplay(nf,fs);
else
close (pengujianSistem2);
fig2 = openfig('pengujianSistem3.fig');
handles = guihandles(fig2);
guidata(fig2,handles);
end
file_name = sprintf('dataMasuk2.wav');
record = wavrecord(sample_time, sample_freq);
wavwrite(record, sample_freq, file_name);
set(handles.teksRekam2,'String','Proses rekam 2 selesai');
2. pengujianSistem3.m
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = pengujianSistem3_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete ('dataMasuk1.wav');
delete ('dataMasuk2.wav');
delete ('dataMasuk3.wav');
delete ('dataMasuk4.wav');
delete ('dataMasuk1.mfc');
delete ('dataMasuk2.mfc');
delete ('dataMasuk3.mfc');
delete ('dataMasuk4.mfc');
delete ('hasilUji1.mlf');
delete ('hasilUji2.mlf');
delete ('hasilUji3.mlf');
delete ('hasilUji4.mlf');
delete ('dataTest1.scp');
delete ('dataTest2.scp');
delete ('dataTest3.scp');
delete ('dataTest4.scp');
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 90
delete ('hasilUji3.mlf');
delete ('hasilUji4.mlf');
delete ('dataTest1.scp');
delete ('dataTest2.scp');
delete ('dataTest3.scp');
delete ('dataTest4.scp');
close (pengujianSistem3);
fig2 = openfig('pengujianSistem2.fig');
handles = guihandles(fig2);
guidata(fig2,handles);
tic
% Pembuatan codeAllProses
fid1 = fopen('codeAllProses.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi\';
targetDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi\';
fwrite(fid1,['"' srcDirectory 'dataMasuk1.wav " ' '"' targetDirectory
'dataMasuk1.mfc " ']);
fprintf(fid1,'\n');
fwrite(fid1,['"' srcDirectory 'dataMasuk2.wav " ' '"' targetDirectory
'dataMasuk2.mfc " ']);
fprintf(fid1,'\n');
fwrite(fid1,['"' srcDirectory 'dataMasuk3.wav " ' '"' targetDirectory
'dataMasuk3.mfc " ']);
fprintf(fid1,'\n');
fwrite(fid1,['"' srcDirectory 'dataMasuk4.wav " ' '"' targetDirectory
'dataMasuk4.mfc " ']);
fprintf(fid1,'\n');
fclose(fid1);
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
fwrite(fid2,['"' srcDirectory '\' 'dataMasuk1.mfc"']);
fprintf(fid2,'\n');
fclose(fid2);
fid3=fopen('dataTest2.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
fwrite(fid3,['"' srcDirectory '\' 'dataMasuk2.mfc"']);
fprintf(fid3,'\n');
fclose(fid3);
fid4=fopen('dataTest3.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
fwrite(fid4,['"' srcDirectory '\' 'dataMasuk3.mfc"']);
fprintf(fid4,'\n');
fclose(fid4);
fid5=fopen('dataTest4.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
fwrite(fid5,['"' srcDirectory '\' 'dataMasuk4.mfc"']);
fprintf(fid5,'\n');
fclose(fid5);
rec1 = textread('hasilUji1.mlf','%s');
if (strcmp(rec1(3),'nol') == 1)
set(handles.teksHasil,'String','0')
elseif (strcmp(rec1(3), 'satu') == 1)
set(handles.teksHasil,'String','1')
elseif (strcmp(rec1(3),'dua') == 1)
set(handles.teksHasil,'String','2')
elseif (strcmp(rec1(3), 'tiga') == 1)
set(handles.teksHasil,'String','3')
elseif (strcmp(rec1(3),'empat') == 1)
set(handles.teksHasil,'String','4')
elseif (strcmp(rec1(3), 'lima') == 1)
set(handles.teksHasil,'String','5')
elseif (strcmp(rec1(3), 'enam') == 1)
set(handles.teksHasil,'String','6')
elseif (strcmp(rec1(3),'tujuh') == 1)
set(handles.teksHasil,'String','7')
elseif (strcmp(rec1(3), 'delapan') == 1)
set(handles.teksHasil,'String','8')
elseif (strcmp(rec1(3),'sembilan') == 1)
set(handles.teksHasil,'String','9')
else
set(handles.teksHasil,'String','x')
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 92
set(handles.teksHasil,'String','7')
elseif (strcmp(rec1(3), 'delapan') == 1)
set(handles.teksHasil,'String','8')
elseif (strcmp(rec1(3),'sembilan') == 1)
set(handles.teksHasil,'String','9')
else
set(handles.teksHasil,'String','x')
end
rec2 = textread('hasilUji2.mlf','%s');
if (strcmp(rec2(3),'nol') == 1)
set(handles.teksHasil2,'String','0')
elseif (strcmp(rec2(3), 'satu') == 1)
set(handles.teksHasil2,'String','1')
elseif (strcmp(rec2(3),'dua') == 1)
set(handles.teksHasil2,'String','2')
elseif (strcmp(rec2(3), 'tiga') == 1)
set(handles.teksHasil2,'String','3')
elseif (strcmp(rec2(3),'empat') == 1)
set(handles.teksHasil2,'String','4')
elseif (strcmp(rec2(3), 'lima') == 1)
set(handles.teksHasil2,'String','5')
elseif (strcmp(rec2(3), 'enam') == 1)
set(handles.teksHasil2,'String','6')
elseif (strcmp(rec2(3),'tujuh') == 1)
set(handles.teksHasil2,'String','7')
elseif (strcmp(rec2(3), 'delapan') == 1)
set(handles.teksHasil2,'String','8')
elseif (strcmp(rec2(3),'sembilan') == 1)
set(handles.teksHasil2,'String','9')
else
set(handles.teksHasil,'String','x')
end
rec3 = textread('hasilUji3.mlf','%s');
if (strcmp(rec3(3),'nol') == 1)
set(handles.teksHasil3,'String','0')
elseif (strcmp(rec3(3), 'satu') == 1)
set(handles.teksHasil3,'String','1')
elseif (strcmp(rec3(3),'dua') == 1)
set(handles.teksHasil3,'String','2')
elseif (strcmp(rec3(3), 'tiga') == 1)
set(handles.teksHasil3,'String','3')
elseif (strcmp(rec3(3),'empat') == 1)
set(handles.teksHasil3,'String','4')
elseif (strcmp(rec3(3), 'lima') == 1)
set(handles.teksHasil3,'String','5')
elseif (strcmp(rec3(3), 'enam') == 1)
set(handles.teksHasil3,'String','6')
elseif (strcmp(rec3(3),'tujuh') == 1)
set(handles.teksHasil3,'String','7')
elseif (strcmp(rec3(3), 'delapan') == 1)
set(handles.teksHasil3,'String','8')
elseif (strcmp(rec3(3),'sembilan') == 1)
set(handles.teksHasil3,'String','9')
else
set(handles.teksHasil,'String','x')
end
rec4 = textread('hasilUji4.mlf','%s');
if (strcmp(rec4(3),'nol') == 1)
set(handles.teksHasil4,'String','0')
elseif (strcmp(rec4(3), 'satu') == 1)
set(handles.teksHasil4,'String','1')
elseif (strcmp(rec4(3),'dua') == 1)
set(handles.teksHasil4,'String','2')
elseif (strcmp(rec4(3), 'tiga') == 1)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 93
if (strcmp(rec4(3),'nol') == 1)
set(handles.teksHasil4,'String','0')
elseif (strcmp(rec4(3), 'satu') == 1)
set(handles.teksHasil4,'String','1')
elseif (strcmp(rec4(3),'dua') == 1)
set(handles.teksHasil4,'String','2')
elseif (strcmp(rec4(3), 'tiga') == 1)
set(handles.teksHasil4,'String','3')
elseif (strcmp(rec4(3),'empat') == 1)
set(handles.teksHasil4,'String','4')
elseif (strcmp(rec4(3), 'lima') == 1)
set(handles.teksHasil4,'String','5')
elseif (strcmp(rec4(3), 'enam') == 1)
set(handles.teksHasil4,'String','6')
elseif (strcmp(rec4(3),'tujuh') == 1)
set(handles.teksHasil4,'String','7')
elseif (strcmp(rec4(3), 'delapan') == 1)
set(handles.teksHasil4,'String','8')
elseif (strcmp(rec4(3),'sembilan') == 1)
set(handles.teksHasil4,'String','9')
else
set(handles.teksHasil,'String','x')
end
toc
3. pengujianSistem3_Speaker.m
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = pengujianSistem3_Speaker_OutputFcn(hObject,
eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
tic
% Pembuatan codeAllProses
fid1 = fopen('codeAllProsesSpeaker.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi\';
targetDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi\';
fwrite(fid1,['"' srcDirectory 'dataMasuk1.wav " ' '"' targetDirectory
'dataMasuk1.mfc " ']);
fprintf(fid1,'\n');
fwrite(fid1,['"' srcDirectory 'dataMasuk2.wav " ' '"' targetDirectory
'dataMasuk2.mfc " ']);
fprintf(fid1,'\n');
fwrite(fid1,['"' srcDirectory 'dataMasuk3.wav " ' '"' targetDirectory
'dataMasuk3.mfc " ']);
fprintf(fid1,'\n');
fwrite(fid1,['"' srcDirectory 'dataMasuk4.wav " ' '"' targetDirectory
'dataMasuk4.mfc " ']);
fprintf(fid1,'\n');
fclose(fid1);
fid3=fopen('dataTestSpeaker2.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
fwrite(fid3,['"' srcDirectory '\' 'dataMasuk2.mfc"']);
fprintf(fid3,'\n');
fclose(fid3);
fid4=fopen('dataTestSpeaker3.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
fwrite(fid4,['"' srcDirectory '\' 'dataMasuk3.mfc"']);
fprintf(fid4,'\n');
fclose(fid4);
fid5=fopen('dataTestSpeaker4.scp','w');
srcDirectory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
fwrite(fid5,['"' srcDirectory '\' 'dataMasuk4.mfc"']);
fprintf(fid5,'\n');
fclose(fid5);
set(handles.teksProses4,'String',step3);
rec1 = textread('hasilUjiSpeaker1.mlf','%s');
rec2 = textread('hasilUjiSpeaker2.mlf','%s');
rec3 = textread('hasilUjiSpeaker3.mlf','%s');
rec4 = textread('hasilUjiSpeaker4.mlf','%s');
toc
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 99
4. File grammar
5. File grammar2
6. File model.list
nol
satu
dua
tiga
empat
lima
enam
tujuh
delapan
sembilan
sil
7. File model.list2
angga
deta
petra
yudhi
sil
8. File dict
SENT-START [] sil
SENT-END [] sil
nol nol
satu satu
dua dua
tiga tiga
empat empat
lima lima
enam enam
tujuh tujuh
delapan delapan
sembilan sembilan
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 100
9. File dict2
SENT-START [] sil
SENT-END [] sil
angga angga
deta deta
petra petra
yudhi yudhi
11. createSCP.m
dirAsal = 'C:\Users\detha\Documents\MATLAB\Skripsi\'
dirAsal = {'data0';'data1'; 'data2'; 'data3';
'data4';'data5';'data6';'data7';'data8';'data9'};
files=[];
for i=1:length(dirAsal)
% masuk ke direktori baca wavfile
cd (dirAsal{i});
fileWav= dir ('*.wav');
% ambil nama file
filename={};
for j=1:length(fileWav)
filename{j}= fileWav(j).name(1:length(fileWav(j).name)-
4);
end
files{i}=filename;
cd ..;
end
12. createSCP2.m
dirAsal = 'C:\Users\detha\Documents\MATLAB\Skripsi\'
dirAsal = {'data0';'data1'; 'data2'; 'data3';
'data4';'data5';'data6';'data7';'data8';'data9'};
files=[];
for i=1:length(dirAsal)
% masuk ke direktori baca wavfile
cd (dirAsal{i});
fileWav= dir ('*.wav');
% ambil nama file
filename={};
for j=1:length(fileWav)
filename{j}= fileWav(j).name(1:length(fileWav(j).name)-4);
end
files{i}=filename;
cd ..;
end
"C:\Users\detha\Documents\MATLAB\Skripsi\data0\ANGGA0-1.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data0\ANGGA0-2.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data0\ANGGA0-3.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-3.mfc"
. . .
"C:\Users\detha\Documents\MATLAB\Skripsi\data9\YUDHI9-3.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data9\YUDHI9-4.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data9\YUDHI9-5.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data0\ANGGA0-1.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil2\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil2\PETRA2-4.mfc"
. . .
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil2\YUDHI9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data9\YUDHI9-3.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil2\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data9\YUDHI9-4.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil2\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\data9\YUDHI9-5.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil2\YUDHI9-5.mfc"
15. createMlf.m
files=[];
for j=1:length(dirAsal);
%masuk direktori baca file.wav
cd (dirAsal{j});
fileMfc = dir ('*.wav');
%ambil nama filenya saja
filename={};
for i=1:length(fileMfc)
filename{i}=fileMfc(i).name(1:length(fileMfc(i).name)-4);
end
files{j}=filename;
cd ..;
end
fid1 = fopen('allKata.mlf','w');
fwrite(fid1,'#!MLF!#');
fprintf(fid1, '\n');
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 103
fid1 = fopen('allKata.mlf','w');
fwrite(fid1,'#!MLF!#');
fprintf(fid1, '\n');
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
fwrite(fid1, ['"*/' fileBaru{n} '.lab"']);
fprintf(fid1, '\n');
fwrite(fid1, [kata{m}]);
fprintf(fid1, '\n');
fprintf(fid1, '.');
fprintf(fid1, '\n');
disp(fileBaru{n});
end
end
fclose(fid1);
16. createMlf2.m
dirAsal = {'angga';'deta';'petra';'yudhi'};
orang = {'angga','deta','petra','yudhi'};
files=[];
for j=1:length(dirAsal);
%masuk direktori baca file.wav
cd (dirAsal{j});
fileMfc = dir ('*.wav');
%ambil nama filenya saja
filename={};
for i=1:length(fileMfc)
filename{i}=fileMfc(i).name(1:length(fileMfc(i).name)-4);
end
files{j}=filename;
cd ..;
end
fid1 = fopen('allKata2.mlf','w');
fwrite(fid1,'#!MLF!#');
fprintf(fid1, '\n');
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
fwrite(fid1, ['"*/' fileBaru{n} '.lab"']);
fprintf(fid1, '\n');
fwrite(fid1, [orang{m}]);
fprintf(fid1, '\n');
fprintf(fid1, '.');
fprintf(fid1, '\n');
disp(fileBaru{n});
end
end
fclose(fid1);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 104
#!MLF!#
"*/ANGGA0-1.lab"
nol
.
"*/ANGGA0-2.lab"
nol
.
"*/ANGGA0-3.lab"
nol
.
"*/ANGGA0-4.lab"
nol
.
"*/ANGGA0-5.lab"
nol
.
"*/DETA0-1.lab"
nol
.
"*/DETA0-2.lab"
nol
.
"*/DETA0-3.lab"
nol
.
"*/DETA0-4.lab"
nol
.
. . . . . .
"*/YUDHI9-2.lab"
sembilan
.
"*/YUDHI9-3.lab"
sembilan
.
"*/YUDHI9-4.lab"
sembilan
.
"*/YUDHI9-5.lab"
sembilan
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 105
#!MLF!#
"*/ANGGA0-1.lab"
angga
.
"*/ANGGA0-2.lab"
angga
.
"*/ANGGA0-3.lab"
angga
.
. . . . .
"*/YUDHI8-5.lab"
yudhi
.
"*/YUDHI9-1.lab"
yudhi
.
"*/YUDHI9-2.lab"
yudhi
.
"*/YUDHI9-3.lab"
yudhi
.
"*/YUDHI9-4.lab"
yudhi
.
"*/YUDHI9-5.lab"
yudhi
.
EX
IS sil sil
#!MLF!#
"*/ANGGA0-1.lab"
sil
nol
sil
.
. . . . . .
"*/YUDHI9-4.lab"
sil
sembilan
sil
.
"*/YUDHI9-5.lab"
sil
sembilan
sil
.
.
"*/PETRA2-4.lab"
sil
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 106
21. createAllTrainData.m
files=[];
for i=1:length(dirAsal)
% masuk ke direktori baca wavfile
cd (dirAsal{i});
fileMfc= dir ('*.wav');
% ambil nama file
filename={};
for j=1:length(fileMfc)
filename{j}= fileMfc(j).name(1:length(fileMfc(j).name)-4);
end
files{i}=filename;
cd ..;
end
fid1=fopen('AllTrainData1.scp','w');
fid2=fopen('AllTestData1.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil'; %
directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n > 4
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
fclose(fid1);
fclose(fid2);
fid1=fopen('AllTrainData2.scp','w');
fid2=fopen('AllTestData2.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil'; %
directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 5
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else if n > 8
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 107
fid1=fopen('AllTrainData3.scp','w');
fid2=fopen('AllTestData3.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil'; %
directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 9
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else if n > 12
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
end
fclose(fid1);
fclose(fid2);
fid1=fopen('AllTrainData4.scp','w');
fid2=fopen('AllTestData4.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil'; %
directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 13
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else if n > 16
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 108
fprintf(fid1, '\n');
else if n > 16
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
end
fclose(fid1);
fclose(fid2);
fid1=fopen('AllTrainData5.scp','w');
fid2=fopen('AllTestData5.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil'; %
directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 17
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
fclose(fid1);
fclose(fid2);
22. CreateAllTrainDataS.m
files=[];
for i=1:length(dirAsal)
% masuk ke direktori baca wavfile
cd (dirAsal{i});
fileMfc= dir ('*.wav');
% ambil nama file
filename={};
for j=1:length(fileMfc)
filename{j}= fileMfc(j).name(1:length(fileMfc(j).name)-4);
end
files{i}=filename;
cd ..;
end
fid1=fopen('AllTrainDataS1.scp','w');
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 109
end
files{i}=filename;
cd ..;
end
fid1=fopen('AllTrainDataS1.scp','w');
fid2=fopen('AllTestDataS1.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil2';
% directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n > 4
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
fclose(fid1);
fclose(fid2);
fid1=fopen('AllTrainDataS2.scp','w');
fid2=fopen('AllTestDataS2.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil2';
% directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 5
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else if n > 8
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
end
fclose(fid1);
fclose(fid2);
fid1=fopen('AllTrainDataS3.scp','w');
fid2=fopen('AllTestDataS3.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil2';
% directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 9
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 110
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 9
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else if n > 12
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
end
fclose(fid1);
fclose(fid2);
fid1=fopen('AllTrainDataS4.scp','w');
fid2=fopen('AllTestDataS4.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil2';
% directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 13
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else if n > 16
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
end
end
end
fclose(fid1);
fclose(fid2);
fid1=fopen('AllTrainDataS5.scp','w');
fid2=fopen('AllTestDataS5.scp','w');
srcDirecory = 'C:\Users\detha\Documents\MATLAB\Skripsi';
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\hasil2';
% directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
if n < 17
fwrite(fid1, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid1, '\n');
else
fwrite(fid2, ['"' targetDirectory '\' fileBaru{n}
'.mfc"']);
fprintf(fid2, '\n');
end
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 111
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-3.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-4.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-4.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-5.mfc"
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 112
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-4.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-4.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA1-1.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA9-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-3.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA9-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 113
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA0-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA0-2.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\DETA9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
31. File AllTestData4
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA0-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA0-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI0-1.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\PETRA9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
32. File AllTestData5
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI0-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI0-5.mfc"
.....
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
33. createProto.m
function createProto(feature,numparam,numstates)
fid1=fopen('proto','w');
fwrite(fid1, ['~o <VecSize> ' num2str(numparam) ' <' feature '>']);
fprintf(fid1, '\n');
fwrite(fid1, ['~h "proto"']);
fprintf(fid1, '\n');
fwrite(fid1, '<BeginHMM>');
fprintf(fid1, '\n');
fwrite(fid1, [' <NumStates> ' num2str(numstates)]);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 114
M = zeros(numparam,1); % mean
V = ones(numparam,1); % variance
for i=2:numstates-1
fwrite(fid1,[' <State> ' num2str(i)]);
fprintf(fid1, '\n');
fprintf(fid1, '\t');
fwrite(fid1,[ '<Mean> ' num2str(numparam)]);
fprintf(fid1, '\n');
fprintf(fid1, '\t\t');
for j = 1:length(M)
fwrite(fid1, num2str(M(j)));
fprintf(fid1, '\t');
end
fprintf(fid1, '\n');
fprintf(fid1, '\t');
fwrite(fid1,[ '<Variance> ' num2str(numparam)]);
fprintf(fid1, '\n');
fprintf(fid1, '\t\t');
for j = 1:length(V)
fwrite(fid1, num2str(V(j)));
fprintf(fid1, '\t');
end
fprintf(fid1, '\n');
end
% Transition matrix
fwrite(fid1,[' <TransP> ' num2str(numstates)]);
fprintf(fid1, '\n');
TP = transmat(numstates); % calling transmat function
[m,n]=size(TP);
for i=1:m
fprintf(fid1,'\t');
for j=1:n
fwrite(fid1, num2str(TP(i,j)));
fprintf(fid1, '\t');
end
fprintf(fid1,'\n');
end
fwrite(fid1,'<EndHMM>');
fclose(fid1);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 115
35. transmat.m
function TransP=transmat(numOfStates)
%numOfStates = 20;
TransP=zeros(numOfStates);
TransP(1,2)=1;
for i=2:numOfStates-1
TransP(i,i+1)=0.4;
end
36. prosesHMM.m
% Pembentukan Model
set(handles.teksKeenam,'String','Proses selesai');
CM_Speech;
37. ProsesHMM2.m
% Pembentukan Model
set(handles.teksKeenam,'String','Proses selesai');
CM_Speaker;
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 119
#!MLF!#
"./ANGGA0-1.rec"
nol
.
"./ANGGA0-2.rec"
nol
.
"./ANGGA0-3.rec"
nol
.
"./ANGGA0-4.rec"
nol
.
"./ANGGA1-1.rec"
satu
.
"./ANGGA1-2.rec"
satu
.
"./ANGGA1-3.rec"
satu
.
"./ANGGA1-4.rec"
satu
.
....
"./ANGGA8-3.rec"
delapan
.
"./ANGGA8-4.rec"
delapan
.
"./ANGGA9-1.rec"
sembilan
.
"./ANGGA9-2.rec"
sembilan
.
"./ANGGA9-3.rec"
sembilan
.
"./ANGGA9-4.rec"
sembilan
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 120
#!MLF!#
"./ANGGA0-5.rec"
nol
.
"./DETA0-1.rec"
nol
.
"./DETA0-2.rec"
nol
.
"./DETA0-3.rec"
nol
.
"./ANGGA1-5.rec"
satu
.
"./DETA1-1.rec"
satu
.
"./DETA1-2.rec"
satu
.
"./DETA1-3.rec"
satu
.
....
"./DETA8-2.rec"
delapan
.
"./DETA8-3.rec"
delapan
.
"./ANGGA9-5.rec"
sembilan
.
"./DETA9-1.rec"
sembilan
.
"./DETA9-2.rec"
sembilan
.
"./DETA9-3.rec"
sembilan
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 121
#!MLF!#
"./DETA0-4.rec"
nol
.
"./DETA0-5.rec"
nol
.
"./PETRA0-1.rec"
nol
.
"./PETRA0-2.rec"
nol
.
"./DETA1-4.rec"
satu
.
"./DETA1-5.rec"
satu
.
....
"./PETRA8-1.rec"
delapan
.
"./PETRA8-2.rec"
delapan
.
"./DETA9-4.rec"
sembilan
.
"./DETA9-5.rec"
sembilan
.
"./PETRA9-1.rec"
sembilan
.
"./PETRA9-2.rec"
sembilan
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 122
#!MLF!#
"./PETRA0-3.rec"
nol
.
"./PETRA0-4.rec"
nol
.
"./PETRA0-5.rec"
nol
.
"./YUDHI0-1.rec"
nol
.
"./PETRA1-3.rec"
satu
.
"./PETRA1-4.rec"
satu
.
"./PETRA1-5.rec"
satu
.
....
"./PETRA8-5.rec"
delapan
.
"./YUDHI8-1.rec"
delapan
.
"./PETRA9-3.rec"
sembilan
.
"./PETRA9-4.rec"
sembilan
.
"./PETRA9-5.rec"
sembilan
.
"./YUDHI9-1.rec"
sembilan
.
sembilan
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 123
#!MLF!#
"./YUDHI0-2.rec"
empat
.
"./YUDHI0-3.rec"
nol
.
"./YUDHI0-4.rec"
nol
.
"./YUDHI0-5.rec"
nol
.
"./YUDHI1-2.rec"
satu
.
"./YUDHI1-3.rec"
satu
.
....
"./YUDHI8-4.rec"
delapan
.
"./YUDHI8-5.rec"
delapan
.
"./YUDHI9-2.rec"
sembilan
.
"./YUDHI9-3.rec"
sembilan
.
"./YUDHI9-4.rec"
sembilan
.
"./YUDHI9-5.rec"
sembilan
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 124
#!MLF!#
"./ANGGA0-1.rec"
yudhi
.
"./ANGGA0-2.rec"
angga
.
"./ANGGA0-3.rec"
yudhi
.
"./ANGGA0-4.rec"
yudhi
.
"./ANGGA1-1.rec"
angga
.
"./ANGGA1-2.rec"
angga
.
....
"./ANGGA8-4.rec"
angga
.
"./ANGGA9-1.rec"
angga
.
"./ANGGA9-2.rec"
yudhi
.
"./ANGGA9-3.rec"
angga
.
"./ANGGA9-4.rec"
angga
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 125
#!MLF!#
"./ANGGA0-5.rec"
angga
.
"./DETA0-1.rec"
deta
.
"./DETA0-2.rec"
deta
.
"./DETA0-3.rec"
deta
.
"./ANGGA1-5.rec"
angga
.
....
"./DETA8-3.rec"
deta
.
"./ANGGA9-5.rec"
angga
.
"./DETA9-1.rec"
deta
.
"./DETA9-2.rec"
deta
.
"./DETA9-3.rec"
deta
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 126
#!MLF!#
"./DETA0-4.rec"
deta
.
"./DETA0-5.rec"
deta
.
"./PETRA0-1.rec"
petra
.
"./PETRA0-2.rec"
petra
.
"./DETA1-4.rec"
deta
.
....
"./PETRA8-2.rec"
petra
.
"./DETA9-4.rec"
deta
.
"./DETA9-5.rec"
petra
.
"./PETRA9-1.rec"
petra
.
"./PETRA9-2.rec"
petra
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 127
#!MLF!#
"./PETRA0-3.rec"
petra
.
"./PETRA0-4.rec"
petra
.
"./PETRA0-5.rec"
petra
.
"./YUDHI0-1.rec"
yudhi
.
"./PETRA1-3.rec"
petra
.
....
"./YUDHI8-1.rec"
yudhi
.
"./PETRA9-3.rec"
petra
.
"./PETRA9-4.rec"
petra
.
"./PETRA9-5.rec"
petra
.
"./YUDHI9-1.rec"
yudhi
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 128
#!MLF!#
"./YUDHI0-2.rec"
yudhi
.
"./YUDHI0-3.rec"
yudhi
.
"./YUDHI0-4.rec"
yudhi
.
"./YUDHI0-5.rec"
yudhi
.
"./YUDHI1-2.rec"
yudhi
.
"./YUDHI1-3.rec"
yudhi
.
....
"./YUDHI8-5.rec"
yudhi
.
"./YUDHI9-2.rec"
yudhi
.
"./YUDHI9-3.rec"
yudhi
.
"./YUDHI9-4.rec"
yudhi
.
"./YUDHI9-5.rec"
yudhi
.
yudhi
.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 129
48. CM_Speech.m
[data] = textread('rec1_1.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'0-') > 0 )
y(i)=1;
elseif (strfind(char(data(cacah)),'1-') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'2-') > 0)
y(i)=3;
elseif (strfind(char(data(cacah)),'3-') > 0)
y(i)=4;
elseif (strfind(char(data(cacah)),'4-') > 0)
y(i)=5;
elseif (strfind(char(data(cacah)),'5-') > 0)
y(i)=6;
elseif (strfind(char(data(cacah)),'6-') > 0)
y(i)=7;
elseif (strfind(char(data(cacah)),'7-') > 0)
y(i)=8;
elseif (strfind(char(data(cacah)),'8-') > 0)
y(i)=9;
else
y(i)=10;
end
cacah = cacah + 3; %lompat 3
end
x(i)=10;
end
cacah = cacah +3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=10;
% maxx = max(x);
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 130
% minx = min(x);
minx=1;
maxx=10;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = c';
disp('Matrix 1');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 1 = %d \n\n',hitung));
[data] = textread('rec2_1.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
x(i)=3;
elseif (strcmp(data(cacah),'tiga') == 1)
x(i)=4;
elseif (strcmp(data(cacah),'empat') == 1)
x(i)=5;
elseif (strcmp(data(cacah),'lima') == 1)
x(i)=6;
elseif (strcmp(data(cacah),'enam') == 1)
x(i)=7;
elseif (strcmp(data(cacah),'tujuh') == 1)
x(i)=8;
elseif (strcmp(data(cacah),'delapan') == 1)
x(i)=9;
else
x(i)=10;
end
cacah = cacah +3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=10;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 2');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 2 = %d \n\n',hitung));
[data] = textread('rec3_1.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
cacah =2;
for i=1:index
if (strfind(char(data(cacah)),'0-') > 0 )
y(i)=1;
elseif (strfind(char(data(cacah)),'1-') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'2-') > 0)
y(i)=3;
elseif (strfind(char(data(cacah)),'3-') > 0)
y(i)=4;
elseif (strfind(char(data(cacah)),'4-') > 0)
y(i)=5;
elseif (strfind(char(data(cacah)),'5-') > 0)
y(i)=6;
elseif (strfind(char(data(cacah)),'6-') > 0)
y(i)=7;
elseif (strfind(char(data(cacah)),'7-') > 0)
y(i)=8;
elseif (strfind(char(data(cacah)),'8-') > 0)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 132
x(i)=10;
end
cacah = cacah +3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=10;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 3');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 3 = %d \n\n',hitung));
[data] = textread('rec4_1.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 133
[data] = textread('rec4_1.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'0-') > 0)
y(i)=1;
elseif (strfind(char(data(cacah)),'1-') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'2-') > 0)
y(i)=3;
elseif (strfind(char(data(cacah)),'3-') > 0)
y(i)=4;
elseif (strfind(char(data(cacah)),'4-') > 0)
y(i)=5;
elseif (strfind(char(data(cacah)),'5-') > 0)
y(i)=6;
elseif (strfind(char(data(cacah)),'6-') > 0)
y(i)=7;
elseif (strfind(char(data(cacah)),'7-') > 0)
y(i)=8;
elseif (strfind(char(data(cacah)),'8-') > 0)
y(i)=9;
else
y(i)=10;
end
cacah = cacah + 3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=10;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 134
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 4');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 4 = %d \n\n',hitung));
[data] = textread('rec5_1.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'0-') > 0)
y(i)=1;
elseif (strfind(char(data(cacah)),'1-') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'2-') > 0)
y(i)=3;
elseif (strfind(char(data(cacah)),'3-') > 0)
y(i)=4;
elseif (strfind(char(data(cacah)),'4-') > 0)
y(i)=5;
elseif (strfind(char(data(cacah)),'5-') > 0)
y(i)=6;
elseif (strfind(char(data(cacah)),'6-') > 0)
y(i)=7;
elseif (strfind(char(data(cacah)),'7-') > 0)
y(i)=8;
elseif (strfind(char(data(cacah)),'8-') > 0)
y(i)=9;
else
y(i)=10;
end
cacah = cacah + 3; %lompat 3
end
x(i)=4;
elseif (strcmp(data(cacah),'empat') == 1)
x(i)=5;
elseif (strcmp(data(cacah),'lima') == 1)
x(i)=6;
elseif (strcmp(data(cacah),'enam') == 1)
x(i)=7;
elseif (strcmp(data(cacah),'tujuh') == 1)
x(i)=8;
elseif (strcmp(data(cacah),'delapan') == 1)
x(i)=9;
else
x(i)=10;
end
cacah = cacah +3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=10;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 5');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 1 = %d \n\n',hitung));
disp('Confusion Matrix');
hitung = round(trace(nilai)/sum(sum(nilai))*100);
disp(nilai); % nilai adalah matrik konfusion
s = num2str(nilai);
set(handles.confusionMatrix,'String',s);
disp(sprintf('Jumlah Data = %d ', sum(sum(nilai))));
s1 = num2str(trace(nilai));
set(handles.teksSesuai,'String',s1);
a = 'data';
set(handles.teksData,'String',a);
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(nilai)));
s2 = num2str((sum(sum(nilai))-trace(nilai)));
set(handles.teksTdkSesuai,'String',s2);
b = 'data';
set(handles.teksData,'String',b);
disp(sprintf('Jumlah Data yang tidak sesuai = %d ',
sum(sum(nilai))-trace(nilai)));
s3 = num2str(hitung);
set(handles.persenAkurasi,'String',s3);
c = '%';
set(handles.teksPersen,'String',c);
disp(sprintf('Total Akurasi = %d ',hitung));
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 136
49. CM_Speaker.m
[data] = textread('rec1_1s.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'ANGGA') > 0 )
y(i)=1;
elseif (strfind(char(data(cacah)),'DETA') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'PETRA') > 0)
y(i)=3;
else
y(i)=4;
end
cacah = cacah + 3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=4;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = c';
disp('Matrix 1');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 1 = %d \n\n',hitung));
%%
[data] = textread('rec2_1s.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'ANGGA') > 0 )
y(i)=1;
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 137
[data] = textread('rec2_1s.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'ANGGA') > 0 )
y(i)=1;
elseif (strfind(char(data(cacah)),'DETA') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'PETRA') > 0)
y(i)=3;
else
y(i)=4;
end
cacah = cacah + 3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=4;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 2');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 1 = %d \n\n',hitung));
%%
[data] = textread('rec3_1s.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'ANGGA') > 0 )
y(i)=1;
elseif (strfind(char(data(cacah)),'DETA') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'PETRA') > 0)
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 138
% minx = min(x);
minx=1;
maxx=4;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 3');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 1 = %d \n\n',hitung));
%%
[data] = textread('rec4_1s.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'ANGGA') > 0 )
y(i)=1;
elseif (strfind(char(data(cacah)),'DETA') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'PETRA') > 0)
y(i)=3;
else
y(i)=4;
end
cacah = cacah + 3; %lompat 3
end
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 139
y(i)=2;
elseif (strfind(char(data(cacah)),'PETRA') > 0)
y(i)=3;
else
y(i)=4;
end
cacah = cacah + 3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=4;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 4');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 1 = %d \n\n',hitung));
%%
[data] = textread('rec5_1s.mlf','%s');
index=(length(data)-1)/3; % hitung panjang datanya
x=zeros(1,index); % array data X
y=zeros(1,index); % array data Y
% untuk ngecek di bagian labelnya
cacah =2; % mulai dari indek 2
for i=1:index
if (strfind(char(data(cacah)),'ANGGA') > 0 )
y(i)=1;
elseif (strfind(char(data(cacah)),'DETA') > 0)
y(i)=2;
elseif (strfind(char(data(cacah)),'PETRA') > 0)
y(i)=3;
else
y(i)=4;
end
cacah = cacah + 3; %lompat 3
end
% minx = min(x);
minx=1;
maxx=4;
% maxx = max(x);
c = zeros(maxx-minx);
for i=minx:maxx
idx = find(x==i);
for j = minx : maxx
z = y(idx);
c(i-minx+1,j-minx+1) = length(find(z==j));
end
end
nilai = nilai + c';
disp('Matrix 5');
disp(c');
hitung = round((trace(c')/sum(sum(c')))*100);
disp(sprintf('Jumlah Data = %d ', sum(sum(c'))));
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(c')));
disp(sprintf('Jumlah Data yang tidak sesuai = %d ', sum(sum(c'))-
trace(c')));
disp(sprintf('Akurasi Matrix 1 = %d \n\n',hitung));
disp('Confusion Matrix');
hitung = round(trace(nilai)/sum(sum(nilai))*100);
s1 = num2str(trace(nilai));
set(handles.teksSesuai,'String',s1);
a = 'data';
set(handles.teksData,'String',a);
disp(sprintf('Jumlah Data yang sesuai = %d ', trace(nilai)));
s2 = num2str((sum(sum(nilai))-trace(nilai)));
set(handles.teksTdkSesuai,'String',s2);
b = 'data';
set(handles.teksData,'String',b);
disp(sprintf('Jumlah Data yang tidak sesuai = %d ',
sum(sum(nilai))-trace(nilai)));
s3 = num2str(hitung);
set(handles.persenAkurasi,'String',s3);
c = '%';
set(handles.teksPersen,'String',c);
disp(sprintf('Total Akurasi = %d ',hitung));
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 141
50. pengujianHMM.m
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = pengujianHMM2_OutputFcn(~, ~, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
tic
set(handles.teksPertama,'String',' ');
set(handles.teksProses1,'String',' ');
set(handles.teksProses2,'String',' ');
set(handles.teksProses3,'String',' ');
set(handles.teksKedua,'String',' ');
set(handles.teksKetiga,'String',' ');
set(handles.teksKeempat,'String',' ');
set(handles.teksKelima,'String',' ');
set(handles.teksKeenam,'String',' ');
% set(handles.teksKetujuh,'String',' ');
temp1 = get(handles.poupmenuWS,'Value');
temp2 = get(handles.popupmenuState,'Value');
tipe = handles.tipe;
end
switch tipe
case 1
if temp2 == 1
createProtoMFCC_1;
elseif temp2 == 2
createProtoMFCC_2;
elseif temp2 == 3
createProtoMFCC_3;
elseif temp2 == 4
createProtoMFCC_4;
end
case 2
if temp2 == 1
createProtoMFCC_D_1;
elseif temp2 == 2
createProtoMFCC_D_2;
elseif temp2 == 3
createProtoMFCC_D_3;
elseif temp2 == 4
createProtoMFCC_D_4;
end
case 3
if temp2 == 1
createProtoMFCC_D_A_1;
elseif temp2 == 2
createProtoMFCC_D_A_2;
elseif temp2 == 3
createProtoMFCC_D_A_3;
elseif temp2 == 4
createProtoMFCC_D_A_4;
end
end
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 144
elseif temp2 == 4
createProtoMFCC_D_A_4;
end
end
% Pembentukan Model
prosesHMM;
toc
waktu = toc;
step=[num2str(waktu) ' detik'];
set(handles.hasilAkurasi,'String',step);
set(handles.radiobutton1,'Value',0);
set(handles.radiobutton2,'Value',0);
tipe=3;
handles.tipe=tipe;
guidata(hObject,handles);
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColo
r'));
end
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColo
r'));
end
confusionMatrix
% --- Executes during object creation, after setting all
properties.
function confusionMatrix_CreateFcn(hObject, eventdata, handles)
% hObject handle to confusionMatrix (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
51. pengujianHMM2_Speaker.m
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = pengujianHMM2_Speaker_OutputFcn(~, ~, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
tic
set(handles.teksPertama,'String',' ');
set(handles.teksProses1,'String',' ');
set(handles.teksProses2,'String',' ');
set(handles.teksProses3,'String',' ');
set(handles.teksKedua,'String',' ');
set(handles.teksKetiga,'String',' ');
set(handles.teksKeempat,'String',' ');
set(handles.teksKelima,'String',' ');
set(handles.teksKeenam,'String',' ');
temp1 = get(handles.popupmenuWS,'Value');
temp2 = get(handles.popupmenuState,'Value');
tipe = handles.tipe;
end
switch tipe
case 1
if temp2 == 1
createProtoMFCC_1;
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 153
switch tipe
case 1
if temp2 == 1
createProtoMFCC_1;
elseif temp2 == 2
createProtoMFCC_2;
elseif temp2 == 3
createProtoMFCC_3;
elseif temp2 == 4
createProtoMFCC_4;
end
case 2
if temp2 == 1
createProtoMFCC_D_1;
elseif temp2 == 2
createProtoMFCC_D_2;
elseif temp2 == 3
createProtoMFCC_D_3;
elseif temp2 == 4
createProtoMFCC_D_4;
end
case 3
if temp2 == 1
createProtoMFCC_D_A_1;
elseif temp2 == 2
createProtoMFCC_D_A_2;
elseif temp2 == 3
createProtoMFCC_D_A_3;
elseif temp2 == 4
createProtoMFCC_D_A_4;
end
end
% Pembentukan Model
ProsesHMM2;
toc
waktu = toc;
step=[num2str(waktu) ' detik'];
set(handles.hasilAkurasi,'String',step);
52. createCodeAllIdentifikasi.m
dirAsal = 'C:\Users\detha\Documents\MATLAB\Skripsi\'
dirAsal = {'data0';'data1'; 'data2'; 'data3';
'data4';'data5';'data6';'data7';'data8';'data9'};
files=[];
for i=1:length(dirAsal)
% masuk ke direktori baca wavfile
cd (dirAsal{i});
fileWav= dir ('*.wav');
% ambil nama file
filename={};
for j=1:length(fileWav)
filename{j}= fileWav(j).name(1:length(fileWav(j).name)-4);
end
files{i}=filename;
cd ..;
end
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA0-1.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA0-
1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA0-2.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA0-
2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA0-3.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA0-
3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA0-4.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA0-
4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA0-5.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA0-
5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA1-1.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA1-
1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA1-2.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA1-
2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA1-3.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA1-
3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\angga\ANGGA1-4.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\ANGGA1-
4.mfc"
....
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI8-3.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI8-
3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI8-4.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI8-
4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI8-5.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI8-
5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI9-1.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI9-
1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI9-2.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI9-
2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI9-3.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI9-
3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI9-4.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI9-
4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\yudhi\YUDHI9-5.wav"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil_identifikasi\YUDHI9-
5.mfc"
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 157
54. createAllTrainIdentifikasi.m
dirAsal={'hasil'};
files=[];
for j=1:length(dirAsal)
% masuk ke suatu direktori,membaca wavfile
cd (dirAsal{j});
fileWav=dir ('*.mfc');
% ambil nama filenya
filename={};
for i=1:length(fileWav)
filename{i}=fileWav(i).name(1:length(fileWav(i).name)-4);
end
files{j}=filename;
cd ..;
end
fid1=fopen('AllTrainDataIdentifikasi.scp','w');
targetDirectory ='C:\Users\detha\Documents\MATLAB\Skripsi\'; %
directory tujuan
for m=1:length(files)
fileBaru=files{m};
for n=1:length(fileBaru)
fwrite(fid1, ['"' targetDirectory dirAsal{m} '\'
fileBaru{n} '.mfc"']);
fprintf(fid1, '\n');
end
end
fclose(fid1);
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA0-5.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA1-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA1-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\ANGGA1-3.mfc"
. . .
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\hasil\YUDHI9-5.mfc"
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 158
56. trainIdentifikasi.m
57. codeAllProses.scp
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk1.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk1.mfc "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk2.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk2.mfc "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk3.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk3.mfc "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk4.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk4.mfc "
58. codeAllProsesSpeaker.scp
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk1.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk1.mfc "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk2.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk2.mfc "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk3.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk3.mfc "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk4.wav "
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk4.mfc "
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 159
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk1.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk2.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk3.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk4.mfc"
"C:\Users\detha\Documents\MATLAB\Skripsi\dataMasuk5.mfc"
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 160
#!MLF!#
"./dataMasuk1.rec"
satu
.
#!MLF!#
"./dataMasuk1.rec"
petra
.
LAMPIRAN III
HALAMAN BANTUAN
161
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 162
Pengantar
Program Identifikasi Suara Manusia Sebagai Kata Sandi atau Password ini merupakan
program bantu untuk mengidentifikasi suara manusia yang digunakan sebagai password atau
kata sandi dengan menggunakan pendekatan Hidden Markov Models. Program ini terdiri dari 2
(dua) bagian antara lain :
1. Program untuk pengujian akurasi Hidden Markov Models (HMM). Pada pengujian ini,
jumlah speaker yang digunakan sebanyak 4 (empat) orang dengan masing-masing
speaker memiliki sample suara sebanyak 50 suara.
2. Program untuk identifikasi suara manusia. Bagian ini dapat menjadi contoh untuk
identifikasi suara manusia yang dapat digunakan oleh user. Jumlah speaker yang
digunakan sebagai pemodelan adalah 4(empat) orang. Bagian ini juga dapat digunakan
untuk menguji apakah hasil identifikasi yang dimasukkan user sesuai dengan suara yang
dimasukkan oleh user serta dapat mengidentifikasi speaker yang memasukkan suara
dengan catatan suara speaker terdapat di pemodelan.
Program ini grstis dan dapat digunakan siapa saja. Untuk penggunaan lain dapat
menghubungi penulis di bagian Tentang Penulis.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 163
Fungsi Program
Matlab R2010a
HTK Toolkit
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 164
Catatan :
Untuk menjalankan program ini, Anda harus menginstal Matlab R2010a pada
direktori C:\
4. Pada submenu ‘Menu’, Anda dapat memilih pengujian mana yang ingin dilakukan
terlebih dahulu.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 166
Antarmuka Program
b
c
d
e h
f g
d
e
f g k
d = tombol yang digunakan untuk mendengar kembali suara yang telah direkam
e = tombol yang digunakan untuk mengulangi proses rekam apabila hasil rekam tidak
sesuai keinginan
f = tombol untuk memulai proses identifikasi apabila hasil rekam telah sesuai keinginan
h = teks yang menampilkan hasil identifikasi suara apa yang diucapkan user
Catatan : Karena antarmuka untuk pengujian sistem Speech Recognition dan Speaker
Verification hampir sama maka langkah-langkah dibawah ini dapat digunakan untuk
proses keduanya.
1. Rekam suara Anda sebanyak 4 (empat) kali dengan mengucapkan angka 0-9. Setiap
tombol hanya untuk 1 (satu) angka saja dan setiap user hanya memiliki waktu 3 (tiga)
detik pada setiap tombol.
2. Apabila sudah selesai merekam, Anda dapat melanjutkan ke tahap selanjutnya.
3. Untuk mendengarkan kembali suara yang telah direkam, Anda dapat menekan tombol
seperti pada gambar berikut.
4. Apabila suara yang telah direkam tidak sesuai dengan keinginan, maka Anda dapat
mengulangi proses rekam dengan menekan tombol seperti pada gambar di bawah ini.
5. Apabila suara yang direkam telah sesuai dengan keinginan maka Anda bisa melanjutkan
ke tombol proses.
6. Hasil dari proses identifikasi akan keluar pada kolom yang telah disediakan.
7. Anda dapat memilih tombol seperti pada gambar di bawah ini untuk melanjutkan proses.
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 169
a b g
c
d
e
f
\
h
a b
c
d j
e f
h
i
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 170
b = kolom yang berisi tipe feature extraction yang dapat dipilih user
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
PLAGIAT
PLAGIATMERUPAKAN
MERUPAKANTINDAKAN
TINDAKANTIDAK
TIDAKTERPUJI
TERPUJI 172
Kontak Penulis
Apabila ada pertanyaan atau saran demi kemajuan program ini, Anda dapat
mengirimkan pesan Anda ke kontak di bawah ini :
= @petrav69