PENGEMBANGAN MODEL MARKOV TERSEMBUNYI P ADA IDENTlFlKASI PEMBICARA
MAHYUS IHSAN
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR
2006
PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan bahwa Tesis Pengembangan Model Markov Tersembunyi pada Identifikasi Pembicara, adalah karya saya sendiri dan belum diajukan dalam bentuk apapun kepada Perguruan Tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Bogor, September 2006
Mahyus Ihsan NRP. G651030034
ABSTRAK Model Markov Tersembunyi merupakan suatu model yang tersusun dari dua buah proses stokastik, yaitu rantai Markov untuk menampung kemajuan temporal dan proses yang teramati untuk menampung variasi akustik. Model ini dapat digunakan sebagai metode pencocokkan pola pada sistem identifikasi pembicara. Setiap model mewakili referensi pola dari seorang pembicara didalam sistem identifikasi pembicara. Pada penelitian ini, Model Markov Tersembunyi dibangun terhadap enam kelompok pembagi lebar frame dan overlap yang berasal dari kombinasi tiga lebar frame (20 ms, 30 ms, dan 40 ms) dan 2 overlap antar frame (25% dan 50%).
Selanjutnya, tingkat identifikasi dan waktu prosesnya akan diamati terhadap setiap kelompok pembagi tersebut. HasH eksperimen menunjukkan bahwa sistem identifikasi pembicara yang menggunakan metode
Model Markov Tersembunyi memberikan tingkat
identifikasi tertinggi dan waktu proses tercepat sebesar 98.9% dan 7.875 detik pada lebar frame 40 ms dan overlap antar frame 25%.
Kata kunei: Identifikasi pembicara, deteksi aktifnya suara, pembentukan frame dan window, lebar frame, overlap, Linear Predictive Coding, Model Markov Tersembunyi, Segmental K-means, dan prosedur Forward
ABSTRACT Hidden Markov Model (HMM) is a composition of two stochastic processes, a hidden Markov chain, which accounts for temporal variability, and an observable process, which accounts for spectral variability. This model can be used as a pattern matching method in speaker identification systems. Each model represents the template for each speaker in speaker identification systems. In this research, Hidden Markov Model was built for six groups of frame segment of the speech signal. These 'groups was generated from combination of three frame wides (20 ms, 30 ms, and 40 ms) and two overlaps between frame (25% and 50%). Then, identification accuracy and process time can be observed for every group of frame segment. The experiments result of speaker identification give the largest identification accuracy of 98,9% which in a frame segment made by 40 ms and 25%.
Keywords:
Speaker identification, voice activacy detection, frame blocking and windowing, frame wide, overlap, Linear Predictive Coding, Hidden Markov Model, Segmental K-means, and forward procedure
© Hak cipta milik Institut Pertanian Bogor, tahun 2006 Hak cipta dilindungi Dilarang mengutip dan memperbanyak tanpa izin tertulis dari Institut Pertanian Bogar, sebagian atau seluruhllya dalam bentuk apa pun, baik cetak, fotokopi, microfilm, dan sebagainya
PENGEMBANGAN MODEL MARKOV TERSEMBUNYI PADA IDENTIFlKASI PEMBICARA
MAHYUS IHSAN
Tesis Sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR
2006
Judul Tesis
Pengembangan Model Markov Tersembunyi pada Identifikasi Pembicara Mahyus Ihsan G651030034
Nama NIM
Disetujui Komisi Pembimbing
[" Agw
B~'Si'
Aziz Kustiyo, S.Si, M.Kom Anggota
M.Korn
Ketua
Diketahui Ketua Program Studi Pascasarjana IImu Komputer
todiputro, MS
Tanggal ujian : 30 Agustus 2006
Tanggal ruIns :
1 4 SEP 2006
PRAKATA Puji dan syukur penulis panjatkan kepada ALLAH SWT atas segala karuniaNya sehingga karya ilmiah ini berhasil diselesaikan. Topik yang dipilih dalam penelitian yang dilaksanakan sej ak bulan Januari 2006 ini adalah Pengembangan Model Ml!rkov Tersembunyi pada Identifikasi Pembicara.
Terima kasih penulis ucapkan kepada Bapak Ir. Agus Buono, M.Si, M.Kom dan Bapak Aziz Kustiyo, S.Si, M.Kom selalru pembimbing yang telah banyak meluangkan waktu dalam memberikan arahan dan masukan serta Bapak Irman Hermadi, S.Kom, MS selaku penguji Iuar komisi yang telah banyak memberikan masukan. Dan tak lupa penulis ucapkan terima kasih kepada ternan-ternan mahasiswa Magister Ilmu Komputer yang telah membantu, baik secara langsung maupun tidak langsung, terutama kepada Pak Agus Hasim, Pak Roni, Bung Jeff, Ria, lin, Ibu Titi, Pak Marsani yang telah memberikan sumbangan suaranya. Ucapan terima kasih juga disampaikan kepada istri Yenni Irawati yang dengan sabar dan penuh pengertian memberi semangat dan dukungan serta seluruh keluarga yang turut mendukung. Semoga karya ilmiah ini bermanfaat.
Bogor, September 2006
Mahyus Ihsan NRP. G651030034
RIWAYATHIDUP Penulis dilahirkan di Banda Aceh pada tanggal 5 Oktober 1970. Putra ketujuh dari delapan bersaudara dari orang tua Mahyuddin dan Murkinah. Penulis beristrikan Yenni Irawati dan mempunyai dua orang anak putri dan putra. Penulis menempuh pendidikan sarjana sains pada Jurusan Matematika FMIPA Institut Teknologi Sepuluh Nopember Surabaya mulai dari tahun 1990 hingga 1997. Semenjak tahun 1997 hingga saat ini, penulis bekerja sebagai staf pengajar pada Jurusan Matematika FMIPA Universitas Syiah Kuala Banda Aceh.
DAFTARISI Halaman
DAFTAR TABEL ..........................................................................................
xii
DAFTAR GAMBAR ......................................................................................
xiii
DAFTAR LAMPlRAN ..................................................................................
XIV
IPENDAHULUAN 1.1 Latar Belakang ........ ................ ...... .............. .......... ................ ........ ......
I
1.2 Tujuan Penelitian ...... ............ ............ .............. ............ .............. ..........
2
1.3 Ruang Lingkup Penelitian .. .......... .............. ............ ............ ................
3
1.4 Manfaat Penelitian ..... ....... ......... ....... ..... ......... ................ .......... ..........
3
2 TINJAUAN PUSTAKA 2.1 Prinsip Dasar Identifikasi Pembicara .. ........ ................ .............. .........
4
2.2 Representasi Sinyal Ucapan ..............................................................
6
2.3 Akuisisi Data Ucapan .........................................................................
8
2.4 Ekstraksi Inforrnasi ............................................................................
9
2.4.1 Pemrosesan Awal ......................................................................
10
2.4.2 Frame Blocking and Windowing ..............................................
12
2.4.3 Ekstraksi Ciri ............................................................................
14
2.4.4 Pemrosesan Akhir .....................................................................
17
2.5 Proses Stokastik ..................................................................................
18
2.6 Rantai Markov...................................................................................
19
2.7 Hidden Markov Model .. .......... ...................... ............ .............. ..........
20
2.7.1 Pelatihan pada Model HMM .............. .............. .............. ..........
21
2.7.2 Identifikasi Pembicara .............. .......... ...... .................... ........ ....
24
2.7.3 Pengujian Sistem Identifikasi Pembicara .................................
26
3 METODOLOGI PENELITIAN 3.1 Kerangka Pemikiran .......... .......... ...... ................ .......... .............. ........
28
3.1.1 StudiPustaka ...........................................................................
29
3.1.2 Akuisisi Data Pengucapan ...... .............. ............ .............. .........
29
3.1.3 Ekstraksi Inforrnasi .... .............. ................ .......... .......................
30
3.1.4 Koefisien Cepstral ...... .................... ........ .............. ............ ........
30
3.1.5 Pelatihan Model ...................................................................... ·
30
3.1.6 Identifikasi dan Pengujian ........................................................
31
3.2. Bahan dan Alat .................................................................................
31
3.3. Waktu dan Tempat Penelitian ...........................................................
31
4 PERANCANGAN DAN IMPLEMENTASI SISTEM 4.1 Data ....................................................................................................
33
4.2 Ekstraksi Informasi ............................................................................
33
4.2.1 Deteksi Aktifnya Suara .............................................................
34
4.2.2 Frame Blocking and Windowing ..............................................
35
4.2.3 Ekstraksi Ciri ...... .... ...... ...... ....... ...... ........ ... ...... ........ ........... .....
37
4.2.4 Pernrosesan Akhir .....................................................................
37
4.3 Hidden Markov Model ......................................................................
38
4.3.1 Pelatihan pada Model HMM ....................................................
38
4.3.2 Identifikasi Pembicara ..............................................................
40
4.3.3 Pengujian Sistem Identifikasi Pembicara .......... ............. ..........
40
4.4 Program Aplikasi .................................................................................
41
5 HASIL DAN PEMBAHASAN 5.1 Ekstraksi Informasi ..............................................................................
42
5.2 Pelatihan pada Model HMM ...............................................................
44
5.3 Pengujian Sistem .................................................................................
45
6 SIMPULAN DAN SARAN 6.1 Simpulan ..............................................................................................
49
6.2 Saran ................................................................................... :................
50
DAFTARPUSTAKA......................................................................................
51
LAMPlRAN ....................................................................................................
53
DAFTAR TABEL Berbagai penerapan metode pencocokkan pola pada sistem identifikasi pembicara ... ......... ......... ............. ..... ............ ......... ........... .............. ...............
6
2
Interval frekuensi sampling dan jumlah sampel yang dihasilkan .............. .
33
3
Ketentuan dan struktur sinyal ucapan pada proses V AD .......................... ..
34
4
Estimasi jumlahframe dan jumlah sampel pada metode V AD ................ ..
34
5
Iumlahframe danjumlah sampel per frame dari 6 kelompok pembagi . frame ................................ ,::..........................................................................
36
6
Inisialisasi posisi pusat cluster pada lebar waktu 20 ms .............................
39
7
Inisialisasi posisi pusat cluster pada lebar wakh! 30 ms .............................
39
8
Inisialisasi posisi pusat cluster pada lebar wakh!40 ms .............................
40
9
Wakh! proses ekstraksi informasi pada enam kelompok pembagi .............
42
10
Waktu proses ekstraksi informasi pada lebar waktu 20 ms ........................
43
11
Waktu proses ekstraksi infomlasi pada lebar waktu 30 ms ........................
43
12
Waktu proses ekstraksi informasi pada lebar waktu 40 ms ........................
44
13
Waktu proses pelatihan model HMM pada enam kelompok pembagi .......
44
14
Hasil pengujian identifikasi pada empat kondisi data pelatihan dan pengujian .....................................................................................................
15
Hasil pengujian identifikasi pada tiga kelompok data berbeda dimana data pelatihan dan pengujian tidak ditambahkan noise ...............................
16
46
47
Hasil pengujian identifikasi pada tiga kelompok data berbeda dimana data pelatihan dan pengujian ditambahkan noise ........................................
48
DAFTAR GAMBAR 1
Stru kt ur dasar SIS . tem I'd enh'fik' I aSI pemb'Icara ............................................. .
4
2
Stru ktur pendaft aran pa d ' a slstem I'denh'fik' I aSI pemb'lCara .......................... .
5
3
Representasi dalam tiga buah state ............................................................ .
7
4
Spectrogram menggunakan metode Welch dan amplitudo ucapan ........... .
7
5
Bagian dasar konverter analog ke digital ................................................... .
9
6
Tahapan-tahapan dalam ekstraksi informasi .............................................. .
9
7
Suatu sinyal ucapan sebelum dan sesudah dikenakan proses deteksi aktifnya suara ...... ....... ......... ..... .......... ...... ..... ... ...... ..... ... ........... ........... .......
11
8
Pembentukanframe pada sinyal ucapan .................................................... .
13
9
Window Hamming untuk 661 sampel (lebarframe 30 ms) ........................ .
14
10
Frame pertama sebelum dikenakan window Hamming dan setelah dikenakan window Hamming ......................................................................
14
II
Topologi model HMM jenis kiri ke kanan dengan empat state ..................
20
12
Topologi model HMM jenis kiri ke kanan pada kata yang terbentuk dari empat fonem ................................................................................................
21
13
Tahapan pembentukan satu barisan observasi dari satu sinyal ucapan .......
22
14
Diagram alir prosedur pelatihan untuk pendugaan parameter B(.) .............
24
15
Diagram alir model HMM pada identifikasi pembicara ............ ......... ........
25
16
Diagram alir penelitian pengembangan model dan prototipe identifikasi pembicara ........ ....... .... .............. ........... .... ......... ............ ............. ......... .........
28
17
Perancangan model sistem identifikasi pembicara ......................................
32
18
Struktur dari isifile data pelatihan untuk setiap kelompok pembagiframe
37
19
Penentuan empat state pada sinyal ucapan dan topologi model HMM untuk kata "ujar" .........................................................................................
38
DAFTAR LAMPIRAN Tabel Estimasi jumlah sampel dan lebar ji'ame pada metode VAD ........... 2
Tabel waktu proses pelatihan dan jumlah iterasi re-estimasi Viterbi untuk setiap pembicara terhadap enam kelompok pembagi ..................................
3
54
56
Tabe! nilai ambang batas (Threshold) pada enam kelompok pembagi lebar frame dan overlap ..............................................................................
58
4
Algoritma Viterbi (Rabiner 1989) ...............................................................
59
5
Gambar kekonvergenan setiap pembicara untuk enam kelompok pembagi
6
lebar frame dan overlap ....................................... , .......... ........ ..... ... ...... .......
60
Gambar Tampilan aplikasi identifikasi pembicara ......................................
63
BAB 1 PENDAHULUAN 1.1
Latar Beiakang
Identitas memiliki peranan yang sangat penting dalam kehidupan manusia. Proses pengenalan terhadap identitas seseorang sering dijumpai pada berbagai bentuk aplikasi pelayanan (pengaksesan fasilitas), misalnya pengamanan akses gedung (ruang), sistem komputer, penggunaan mesin ATM, absensi, dan forensik. Penerapan proses tersebut diperlukan untuk memastikan agar fasilitas hanya dapat diakses oleh pengguna yang berhak sehingga terhindar dari pencurian dan manipulasi informasi (data). Adanya perkembangan teknologi perangkat keras (device) dan pengenalan pola (pattern recognition) telah memotivasi orang-orang untuk melakukan pengalihan proses pengenalan identitas dari cara konvensional (password, PIN, kunci) menjadi secara biometrik (suara, sidik jari, tanda tangan, wajah, retina, dan lain-lain). Pengalihan tersebut disebabkan adanya kelebihan biometrik daripada konvensional, yaitu tidak gampang lupa/hilang dan ditiru. Biometrik merupakan pengenalan seseorang berdasarkan karakteristik fisiologi atau perilaku manusia atau gabungan dari keduanya (Jain et 01. 2004). Ditinjau dari konteks aplikasi, proses pengenalan identitas terbagi atas dua, yaitu proses identifikasi (identification) dan verifikasi (verification). Pada proses identifikasi, sistem mengenali seseorang dengan cara mencari referensi pola (template) yang sesuai dengannya dari seluruh pengguna di dalam basisdata.
Sedangkan pada proses verifikasi, sistem mengesahkan identitas seseorang dengan cara membandingkan data biometrik yang diambil dan template biometrik miliknya yang disimpan di dalam sistem basisdata (Jain et al. 2004). Proses identifikasi dengan suara memiliki keuntungan secara ekonomis dibandingkan dengan identifikasi secara biometrik lainnya, yaitu biaya peralatan yang relatif murah di mana hanya dengan menambahlcan kartu suara (sound card) dan mikrofon pada device (komputer) yang digunakan. Sedangkan proses identifikasi dengan karakteristik lainnya, membutuhkan alat tambahan yang lebih mahal, misalnya scanner. Keuntungan lainnya adalah aplikasi dapat diakses dari jarakjauh dengan menggunakanjaringan telepon atau internet (Peacocke dan Graf
2
1990; Cox et at. 2000). Ketahanan (robustness) proses identifikasi dengan suara bergantung pada adanya perhatian terhadap berbagai faktor yang menyebabkan terjadinya variasi sinyal suara, yaitu inkonsistensi ruang akustik (misalnya munculnya noise), perubahan channel transmisi
(misalnya menggunakan
mikrofon yang berbeda saat pelatihan dan identifikasi), kondisi pembicara (flu atau tidak), kecepatan pengucapan (lambat, sedang, dan cepat), intonasi (berirama, datar, keras, lemah, dan emosional), usia pembicara dan peniruan suara (mimicry) (Campbell 1997; Cox et al. 2000). Ucapan merupakan rentetan bunyi gelombang suara yang berbentuk sinyal analog. Selanjutnya, sinyal analog dikonversikan menjadi data digital. Rentetan bunyi dapat dipilah-pilah menjadi bagian-bagian yang kecil (frame) berdasarkan satuan ucapan yang dipilih. Kemunculan bagian-bagian tersebut dapat dipandang sebagai kejadian stokastik, yaitu kemunculannya sekuensial dan kemunculan satu bagian memiliki hubungan dengan kemunculan bagian sebelumnya. Salah satu metode pencocokkan pola yang dapat digunakan di dalam model pengenalan pembicara adalah Hidden Markov Model (HMM). Di samping itu, terdapat pula metode lainnya, yaitu dynamic time warping (DTW), artificial
neural networks (NN), dan vector quantization (VQ) (Campbell 1997). Beberapa sistem identifikasi pembicara yang telah dikembangkan dengan menggunakan metode-metode tersebut memiliki tingkat identifikasi mencapai 99% (Campbell 1997). Di dalam penelitian ini akan digunakan model HMM sebagai metode pencocokan pola pada pengembangan identifikasi pembicara. Pemilihan metode tersebut dikarenakan model HMM merupakan model stokastik temporal sehingga model tersebut cocok untuk digunakan sebagai metode pencocokkan pola pada sis tern identifikasi dengan ucapan.
1.2
Tujuan Penelitian Tujuan utama dari penelitian ini adalah mengembangkan model HMM
sebagai model pendekatan pencocokan pola (pattern matching) pada prototipe sistem identifikasi pembicara dengan metode text-dependent. Dalam sistem
3
identifikasi pembicara ini digunakan meta de Linear Predictive Coding (LPC) sebagai metode ekstraksi ciri.
1.3 Ruang Lingkup Penelitian Ruang lingkup penelitian meliputi: Identifikasi pembicara dilakukan dengan menggunakan kata yang bersifat text-dependent, yaitu satu kata yang sarna untuk tahap pelatihan sistem dan tahap pengidentifikasian pembicara. 2
Model suara pembicara dibentuk dari 6 orang dewasa yang terdiri atas 3 pria dan 3 wanita.
3
Pembentukan frame sinyal ucapan secara seragam dilakukan terhadap tiga lebar waktu yang berbeda, yaitu 20 ms, 30 ms dan 40 ms. Dan
overlap antar frame adalah 25% dan 50%. 4
Pembahasan difokuskan pada pelatihan dan pengujian model HMM.
5
Unit bunyi yang digunakan adalah fonem.
6
Pengujian juga dilakukan terhadap data ucapan yang ditambahkan noise dengan signal-to-noise ratio (SNR) sebesar 10 dB.
7
Sistem yang dikembangkan bam sampai model komputasi yang diimplementasikan dengan menggunakan perangkat lunak Matlab.
1.4
Manfaat Penelitian Model komputasi yang dihasilkan dalam penelitian ini diharapkan dapat
dikembangkan lebih lanjut pada pengembangan aplikasi yang berbasis ucapan, khususnya pada identifikasi pembicara.
BAB 2 TINJAUAN PUSTAKA 2.1
Prinsip Dasar Identifikasi Pembicara Proses identifikasi pembicara adalah suatu proses untuk mengenali
seseorang berdasarkan suara yang direkam (capture). Cara kerja proses ini adalah mencari template ucapan yang sesuai dari seluruh pengguna di dalam basisdata (Jain et al. 2004). Output dari proses ini yaitu seseorang dapat dikenali atau tidak. Metode identifikasi pembicara dapat dibagi menjadi dua bagian, yaitu textdependent dan text-independent. Pada metode text-dependent, pembicara diminta
mengucapkan satu kata atau rangkaian kata yang sama untuk tahap pelatihan sistem dan pengidentifikasian (Furui 1997b). Pada metode text-independent, rangkaian kata yang diucapkan berbeda antara tahap pelatihan sistem dan pengidentifikasian. Secara umum, struktur dasar dari sistem identifikasi pembicara terdiri atas dua tahap utama (Gambar I), yaitu tahap ekstraksi ciri dan pencocokkan pola. Ekstraksi ciri merupakan proses mengekstraksi data hasil akuisisi menjadi berukuran lebih kecil. Sebelum proses ini dilakukan, terlebih dahulu data dipilahpilah dalam sejumlahframe yang berukuran sama agar karakteristik ucapan dapat dipertahankan. Pencocokkan pola adalah proses mencocokkan karakteristik ucapan yang belum dikenal terhadap koleksi template ucapan dari pembicara yang sudah dikenal oleh sistem. Kemiripan Template atau
referensi pol a (pembieara #1)
Hasil identifikasi (10 Pembieara)
Template atau referensi pola (pembieara #N)
Gambar 1 Struktur dasar sistem identifikasi pembicara (Furui 1997b)
5
Sistem identifikasi pembicara juga menyajikan dua sesi yang berbeda, yaitu sesi pertama menunjukkan sesi pendaftaran (fase pelatihan) dan sesi kedua menunjukkan sesi operasi (fase pengujian). Di dalam fase pelatihan (Gambar 2), sistem membangun template untuk setiap pembicara berdasarkan contoh (sampel) suara yang diberikan oleh pembicara yang bersangkutan (Agustini 2006). Ekstraksi ciri
Pelatihan pola
Templatel referensi pola
Gambar 2 Struktur pendaftaran pada sistem identifikasi pembicara
Berbagai metode pencocokkan pola telah diterapkan pada sistem identifikasi pembicara mulai tahun 1974 hingga 1996 dengan tingkat identifikasi mencapai 99% (Campbell 1997). Sistem identifikasi pembicara pada kata yang bersifat text-dependent dan jumlah populasi 10 orang telah dikembangkan oleh Atal (1974) dengan menggunakan metode Pattern Match sebagai metode pencocokkan pola dan Cepstrum sebagai metode ekstraksi ciri (Campbell 1997). Penerapan metode dynamic time warping (DTW) sebagai metode pencocokkan pola telah dilakukan oleh Furui (1981) (Furui 1997a). Penerapan metode vector quantization (VQ) sebagai metode pencocokkan pola telah dilakukan oleh Matsui dan Furui (1990,1991), Rosenberg dan Soong (1987), dan Shikano (1985) (Furui 1997a). Penerapan metode Hidden Markov Model (HMM) sebagai metode pencocokkan pola telah dilakukan oleh Che dan Lin (1995) dan Colombi et al. (1996)
(Campbell
1997). Pada Tabel
1 dicantumkan berbagai metode
pencocokkan pola yang telah diterapkan dalam sistem identifikasi pembicara (Campbell 1997).
6
Tabel I Berbagai penerapan metode pencocokkan pola pada sistem identifikasi pembicara
._-----Stmrcc
Org.
Fcu"lrc~
Method
Input
T'::)(1
Ala11974 (II
AT&T
C"'II~trllm
PIIUI,lIH J..f:llch
I.ub
l)cfX!ndent
l.:ib
hldcpllndcnl
T..:kphone
f)cl-~t:II\.lIm\
10
i: 2O/~~CJ.:s:;;
I ()
v; O.2%!'iil:-;
-----_."""-r..f.nkel amJ
S-T1
1.1'
Duv.i,.. 197')
LtlllC
T~nn
v.2%.«fj\,'i.
Srilli!llh."'$
1J<1}
l=unJi 19HI
AT&T
N0r111alizcd Cc::p,~t'nlill
(16-)
r"n\1crn M,ltch
--·-----1----1----4-----LAH, Seh\\llUt .... d"ii.1. naN Nm1t)ltr.J1nCll'ic pdf
19112' 156]
Li anll Wnmch 1993 P l)
ITI'
U',
Tde~
l.tlb
Ccps(rmn
-----+-+--------. ,., i:2.:'i%@2!\ lrod.:pcndent
ph
11
i: ::!'%({tn~ ~.--- i~ 4"~?l1ll~
.------- - = - - · - - 1 - - - - · · - 1 - - - - 1 - l)()ddillgh")t'I
"1
F!)ter-b.'1nk
J)TW
19115 (121
-~·-I-~~~--I--~
Soon),:. (~l .11. l')H.'i [S1)
,\'1'&'1'
I..P
Uth
-1---1------_····· .-.--/----..------.-.-
VQ (si..:e 6,1)
'lO.::I..:_
10 b.Oralc:C
l.ikelihood
pItOl1!!
ctig.llS
n.ttli{~
IJf!>torti()jl
_ ..._--_._-:=IHt~c.in.i
lrr
and
Wohlford 1 Yllb
DTW
Likclilwod
p;1j
Dependent
Ll'Ib
._---Ind-cllt:ndC:llt
100
i: S%@I, ;'is
i:
1.5%(~I;.1.s~
1 I v: lO%.t1iP.$" v:
.1.$%(~!;l{Is
YO
I ,,7%f.~110s
SCllring
1--:--:::--:-+-,.-:::- --._ ..- ------- --.-. -C-----Attili. c-t at
RPI
19'88-1:>1
CCpsltUnl.
Projeclcd Loug
lA', Aut()corr
TerrIl Sllllisth:-s-
tP·
UkcliJlOOd
Cl.lpstnlm
Scoring.
l~Ll.b
-I--I'=-..-- ·-·--L-A-,-,,--+--·--i:)·-r-w--- - - - -
f-,.-"-,,,,-,-,jU-:;;.-.-,,-.,-,,-.
Tishby 1991 [601
AT&'r
Reyll(lltls 1995
M1T.t..L
LP
·::--::--c:::::-1-:-:::::-c-:-·- --..-.-----. [;llq:
(kpendo=;ot
nUl
--,-------TeleHJ isc}illled
'00
Oflicc
1991 [22J
R
Mel·
G~Jl$lrulll
HMM
J)c:pcnden'
(AR fIllx.}
phune.
diJ:iu.
HMM
OfficI.:
Dcp
((JMM)
v; 7..S",liI'/I}I 5s
'It; O.8"ro@!J..5~
DR i:
n.s~{.('J, 1 ()~
v: O. I :l'Y"'~!H fh
and Curbwn 1995 [49]
...•__..._---_. - . -Chc - l:Ind - -L.ln- --------j-----+---Office Dcpenderlt D8 i: O.56%1l]2. 5h RUI(!,cl's
GcpsCrlll1l
i' O.14%.r.i1I ().Ir
1')95 [9'1
----_........
v:
-.--~---
Colomb;' 0::1 :11.
1996 [l(tJ
r\l~IT
Ccp.En.c.
HM~1
OJ)1ce
deep,. ddCcp
De~HmdoUnl
t,n
O.62%:!!)2.S)'
---------
i:: 0,220/$2' ~ ....; 0.28." f,ljlO<;
~'~'-~"}-'"-'-"~d-'-I~.~9<-'+~M-·-'T~-~,-.,-.-I---M-d- -- --H-~~"'-·- '''''-'r-''-'~-.-1-'-"-"-'-"0-"-"-"-"-'+-"-'-. ~V--II-%-'-"-'i"""'-.4X.h I$Oj
C:epstrum. Mel-
(C,MM)
pholle
... M'....8 ...,{~~~,!O!< V' J%!:'i"ii.l.{~:305
I dC\:p"-trllln m:th::hcdfmt:>'-_______ J__ ._. __..L.... ~ ___ .. ___-'-___"-__ .. _______"_'_,"_'_h_~l_'_"_I11~~~._ ..
2.2
Representasi Sinyal Ucapan Sinyal ucapan dan seluruh karakteristiknya dapat direpresentasikan dalam
dua domain nilai yang berbeda, yaitu waktu (time) dan freknensi (Nilsson dan Ejnarsson 2002). Sinyal ucapan adalah sinyal yang berubah secara lambat dalam kurun waktu tertentu, Hal ini maksudnya, ketika sinyal ucapan diuji dalam rentang waktu yang pendek, yaitu antara 5 dan 100 ms (millisecond), karakteristiknya tidak berubah (stationary) (Rabiner dan Juang 1993).
7
Ada tiga cara untuk merepresentasikan sinyal ucapan yang berdasarkan salah satu domain nilai (time atau frekuensi) (Nilsson dan Ejnarsson, 2002), yaitu: 1. Representasi dalam tiga buah state Representasi dengan cara ini diilhami dari kondisi yang teljadi pada pita suara pada saat memproduksi ucapan. Tiga buah state tersebut terdiri atas Silence (S), Unvoiced (U) dan Voiced (V) (Gambar 3). Silence berarti tidak ada sinyal ucapan yang diproduksikan. Unvoiced berarti pita suara tidak bervibrasi yang mengakibatkan bentuk gelombang ucapan tidak periodik (random). Voiced berarti pita suara menjadi tegang dan bervibrasi secara periodik.
Gambar 3 Representasi dalam tiga buah state 2. Representasi dalam bentuk spectral Representasi dengan cara ini merupakan representasi dari sinyal ucapan berdasarkan intensitasnya terhadap waktu. Salah satu bentuk representasi ini yang paling populer adalah spectrogram (Gambar 4).
(a)
(b)
11010
Is}
Gambar 4 (a) Spectrogram menggunakan metode Welch (b) amplitudo ucapan (Nilsson dan Ejnarsson, 2002)
8
Pada Gambar 4 (a) diperlihatkan adanya bagian yang bewama biru gelap yang merepresentasikan bagian dari sinyal ucapan di mana ucapan tidak diproduksi. Sedangkan, bagian yang bewama merah merepresentasikan intensitas yang menandakan ucapan diproduksi. 3
Representasi dalam bentuk parameter dari aktivitas spectral Representasi dalam bentuk ini diilhami dari mekanisme ucapan diproduksi. Rongga pengucapan (Vocal tract) bentuknya menyerupai tabung atau sambungan dari tabung-tabung yang diisi dan dialiri oleh udara. Di dalam teori akustik, fungsi transfer energi yang berasal dari sumber suara (pita suara) menuju output (mulut atau hidung) dapat diuraikan dalam terminologi frekuensi alami atau resonansi dalarn tabung. Resonansi tersebut dikenal dengan
istilah formant.
Formant
merepresentasikan
frekuensi
yang
melewatkan kebanyakan energi akustik dari sumber menuju output.
2.3
Akuisisi Data Ucapan Sebagian besar sinyal yang digunakan untuk keperluan praktis, seperti
sinyal suara, biologis, seismic, radar, sonar, dan berbagai sinyal komunikasi seperti sinyal audio dan video adalah sinyal analog (Proakis dan Manolakis 1997). Untuk memproses sinyal analog dengan alat digital, dibutuhkan sebuah interface yang berfungsi sebagai penterjemah (converter) sinyal analog menjadi bentuk digital. Interface tersebut dinamakan penterjemah analog to digital (AID) (Proakis dan Manolakis 1997). Hasil konversi ini berupa deretan angka yang mempunyai presisi nilai terbatas. Secara konsep, konversi AID melalui tiga tahapan proses dan secara skematis dapat dilihat pada Gambar 5 (Proakis dan Manolakis 1997), yaitu: I
Proses sampling, adalah konversi suatu sinyal waktu-kontinyu menjadi suatu sinyal waktu-diskrit yang diperoleh dengan mengambil cuplikan (samples) dari sinyal waktu-kontinyu pada saat waktu-diskrit. Ada suatu aturan telientu dari sinyal ini, yaitu teori Shannon yang menyatakan bahwa frekuensi sinyal ini paling sedildt adalah dua kali frekuensi sinyal yang akan disampling (sinyal analog). Ini adalah batas minimum dari frekuensi sampel (ft) agar nantinya cuplikan yang diambil merepresentasikan sinyal yang menyerupai sinyal asli (analog).
9
2
Kuantisasi, adalah konversi sinyal yang bemilai kontinyu waktu-diskrit menjadi sinyal yang bemilai diskrit (digital) waktu-diskrit. Nilai setiap sampel sinyal direpresentasikan oleh sebuah nilai yang dipilih dari himpunan terbatas dari nilai yang memungkinkan. Pengkodean, adalah proses pengkodean tiap-tiap nilai diskrit ke dalam
3
kombinasi bemmtan dari bilangan biner.
sinyaJ Analog
.1
I
Sampling
1
I
slnyal .1 c ., I slnyal _I I Waktu - tengkUantiSaSi I""T"'er"'ku':::an"'tisa=,i-->1-I Pengkodean I dlskrit
sinyal
digital
01110111.. ..
Gambar 5 Bagian dasar konverter analog ke digital (Proakis dan Manolakis 1997) Saat ini, penterjemah analog to digital (AID) yang ditujukan untuk aplikasi suara (ucapan) menggunakan frekuensi sampling (ft) berkisar antara 8-20 kHz (Campbell 1997). Jika dilakukan proses sampling selama t detik dengan frekuensi sampling adalah f, maka akan diperoleh suatu vektor sinyal ucapan x(n) yang memiliki jumlah elemen sebanyak ft, yaitu x(n)
=
[Xl X, x," ·X,,], di mana
n=ft.
2.4
Ekstraksi Informasi Ekstraksi infomlasi mempakan tahapan utama dalam membangun vektor
ucapan yang berasal dari sinyal ucapan. Di dalam kebanyakan literatur, tahapan ini sering disebut sebagai pemrosesan dan analisis sinyal. Menumt Nilsson dan Ejnarsson (2002), proses ini meliputi pemrosesan awal, pembagian sinyal ke dalam frame ucapan (frame bloking and windowing), ekstraksi ciri (feature
extraction) dan pemrosesan akhir (lihat Gambar 6). Pemrosesan awal
Frame blocking dan windowing
Ekstraksi ciri
Gambar 6 Tahapan-tahapan dalam ekstraksi informasi
Pemrosesan akhir
10
2.4.1 Pernrosesan Awal
Tahap ini dibutuhkan untuk memodifikasi sinyaI ucapan menjadi bentuk yang Iebih Iayak untuk analisis ekstraksi cirL Penggunaan pemrosesan awal dapat meningkatkan keandaIan dan akurasi dari sis tern identifikasi pembicara yang akan dibangun. Ada dua pemrosesan awaI yang digunakan di dalam penelitian ini, yaitu: I
Perataan sinyaI (preemphasis), digunakan untuk rneratakan sinyaI ucapan secara spectral dan menjadikan sinyal tersebut Iebih peka terhadap efek presisi terbatas pada proses sinyaI berikutnya (Rabiner dan Juang 1993). Rumus yang digunakan adaIah: sen) =s(n) -iis(n - I),
O.%ii S;I.O
(I)
dengan s(ll) adaIah nilai sinyal hasil proses preemphasis yang ke-n, sen) adalah nilai sinyal awal yang ke-n, sen - I) nilai sinyaI awal yang ke-(n-I), dan ii adalah faktor pengali perataan sinyal. Persarnaan (I) akan dikenakan terhadap setiap sinyal mulai dari sarnpel (nilai) yang ke-2 hingga terakhir. Nilai ii yang paling urnum digunakan sekitar 0.95 (Rabiner dan Juang 1993). 2
Deteksi aktifnya suara, digunakan untuk mendeteksi batas-batas dari sinyal ucapan I. Tujuan dad pemrosesan ini adalah untuk membuang elemen-elemen (nilai-nilai) dad suatu sinyal ucapan yang tidak mengandung karakteristik ucapan dari setiap pembicara. Nilai-nilai yang akan dibuang tersebut adaIah nilai-nilai yang berada pada state Silence (S) dan Unvoiced (U) (Gambar 7).
I BatasMbatas dari sinyal ucapan yang dimaksud adalah batas awal dan akhir dari sinyal ucapan saat ucapan diproduksikan (identik dengan Voiced pada representasi dalam tiga buah state).
11
( a)
0 .06
I"--.--...--.-.-:;:-------'~:__~-----..-
..---...------~--.-..-....-----,
0.04 0.02
of-----
x
s V IU V I+·.......:=--·~I+·-=--· • -I'
"10"
s
uv
-1-1+
(b)
Gambar 7 Suatu sinyal ucapan (a) sebelum dan (b) sesudah dikenakan proses deteksi aktifuya suara Salah satu metode yang dapat digunakan untuk mendeteksi aktifuya suara adalah voice activacy detection (VAD)2. Pada metode ini terdapat asumsi bahwa 200 ms pertama adalah bagian sinyal yang hanya berisi noise
(background noise). Setiap sinyal ucapan yang akan dikenakan metode ini dibagi ke dalam lebar frame 5 atau 10 ms dan tanpa adanya tumpang-tindih
(overlap) antara suatu frame dan frame sebelahnya. Selanjutnya, terhadap setiap frame akan dihitung tenaga (power), banyakuya perubahan tanda (zero
crossing rate), dan pembobotan (weight) (secara beliurut-turut persamaan (2), (3) dan (5», yaitu:
1 L P(m)=- Ls2(i)
(2)
L ;=,
1 f, Isgn(s(i» -sgn(s(i -1»1
Z(m)=- L.. L ;=2 dengan:
sgn(s(i»=
. +1' s(i)2 0 . dan m = 1,2, ... ,Jumlahframe
{ -1, S(/)< 0
W(m)=P(m)·(1-Z(m»·S, 2
(3)
2
m=I,2, ... ,jumlahframe
Metode ini diadopsi secara utuh dari (Nilsson dan Ejnarsson 2002).
(4) (5)
12
dengan S adalah faktor pengali agar hasil perhitungan pada persamaan (5) terhindar dari nilai yang kecil, dalam hal ini dapat diberikan nilai S
= 1000.
Langkah berikutnya adalah menentukan sebuah nilai pemicu (trigger) untuk mendukung pengambilan keputusan, yaitu: (6) Pada persamaan (6), flw dan Ow adalah rata-rata (mean) dan varian (variance) dari 10 buah nilai pertama W(m) (WIO
=
{Wei)
I
I
:s i :s
10, i
E
A}).
Sedangkan ex diperoleh dari persamaan berikut:
a=0.2-5,;"·'
(7)
Langkah terakhir adalah menentukan kriteria keputusan terhadap setiap frame, yaitu:
VAD(m) =
I, W(m):?:tw . , m = I, 2, ... ,Jumlahframe { 0, W (m)< tw
(8)
Sinyal ucapan hasil proses V AD adalah gabungan dari nilai-nilai sinyal ucapan dari seluruh frame yang memiliki nilai V AD sama dengan 1. Sebalilmya, jika nilai V AD pada suatuframe bernilai 0, maim nilai-nilai sinyal ucapan di dalam frame tersebut dieliminasi.
2.4.2 Frame Blocking and Windowing Sinyal ucapan sering dipilah-pilah menjadi sejumlah segmen sinyal. Segmen sinyal ucapan ini disebut frame. Tujuan sinyal ucapan dipilah-pilah ke dalam sejumlah frame
agar karakteristiknya dapat ditangkap,
di
mana
karakteristilmya tidak berubah dalam rentang waktu yang pendek. Biasanya, lebar
frame yang digunakan adalah 10-30 ms (Peacocke dan Graf 1990; Campbell 1997). Lebar setiap frame yang ditentukan di dalam suatu aplikasi pengolahan ucapan adalah sama, misalnya 30 ms, sehingga setiap framenya akan memiliki jumlah sampel yang sama pula, misalnya N sampel (Lai 2003). Frame kedua adalah frame yang juga memiliki N sampel yang posisi awal ji-amenya bergeser sebanyak M sampel dari posisi awal frame pertama. Begitu pula frame ketiga, dengan N sP.mpel yang posisi awal framenya bergeser sebanyak M sampel dari
13
posisi awal frame kedua atau sebanyak 2M sampel dari posisi awal frame pertama. Demikian pula seterusnya hinggaframe terakhir. M dapat diperoleh dari M =(l/3)N atau M = (aIb)N di mana a dan b adalah bilangan asli, a:S b dan M:S
N. Overlap antara suatuframe denganframe sebelalmya adalah N - M sampel
(Rabiner dan Juang 1993). Adanya overlap dimaksudkan agar pengambilan sanlpel-sampel dari frame berikutnya dapat bergerak secara halus (smooth) sehingga karakteristik sinyal ucapan dalam setiap framenya tidak banyalc berkurang. Ilustrasi tentang pembentukanframe dapat dilihat pada Gambar 8.
1---- N - M ----1
Frame3
Gambar 8 Pembentukanframe pada sinyal ucapan (Rabiner dan Juang 1993) Tahap selanjutnya dari pemrosesan sinyal adalah membuat window terhadap tiap-tiap frame dengan tujuan untuk meminimalkan ketidakkontinyuan pada awal dan akhir setiap frame. Umumnya, window yang digunakan adalall window Hamming. Pembentukan window Hamming menggllilakan formula: k w[k+I]=O.S4-0.46cos(2n-); n-I
k=O,···,n-1
(9)
dengan n adalah lebar frame. Pada Gambar 9 diperlihatkan window Hamming yang berlaku lliltuk setiap frame. Sedangkan pada Gambar 10 diperlihatkan sampel di dalam frame pertama sebelum dan setelah dikenakan operasi window Hamming.
14
/
0.'
o. 0]
0.' 0.2 0.1 , /
DO
100
200
)l) 400 !';Rm['l
500
COO
700
Gambar 9 Window Hamming untuk 661 sampel (lebarframe 30 ms)
Gambar 10 Frame pertama (a) sebelum dikenakan window Hamming (b) setelah dikenakan window Hamming Setelah sinyal ucapan dibagi-bagi ke dalamframe dan setiap frame sinyal ucapan tersebut dikenakan operasi window Hamming, yaitu:
X, (n)= x, (n) w(n),
(10)
dengan N adalah jumlah sampel dalam setiap ji-ame. Selanjutnya, proses ekstraksi ciri akan dilakukan terhadap setiap ji-ame tersebut.
2.4.3 Ekstraksi Ciri Tujuan utama dari ekstraksi ciri adalah untuk mereduksi ukuran data tanpa mengubah karakteristik dari sinyal ucapan dalam setiap framenya. Cara keljanya adalah dengan mengkonversikan bentuk sinyal ucapan ke dalam bentuk representasi secara parameter. Salah satu metode ekstraksi ciri yang sering digunakan adalah Linear Predictive Coding (LPC) (Rabiner dan Juang 1993). Di samping itu, terdapat pula
15
beberapa metode lainnya, seperti: filter bank, mel-cepstrum, dan Mel-Frequency
Spectral Coefficients (MFSC). Sebelum digunakan metode LPC, terlebih dahulu dikenakan operasi analisis autocorrelation untuk setiap frame sinyal ucapan dengan tujuan untuk mereduksi ukuran data setiap framenya menjadi 8 -
16 buah data yang
merepresentasikannya (Rabiner dan Juang 1993). Selanjutnya, hasil operasi tersebut dibutuhkan oleh analisis LPC. Rumus yang digunakan adalah sebagai berikut: N-I-m
Ix, (n)x, (n+m),
'i (m)=
m=O, 1, ... , p
(II)
11=0
dengan rl adalah autocorrelation dari setiap frame, N adalah jumlah data dari setiap frame dan p adalah nilai autocorrelation tertinggi. Pada penelitian ini akan digunakan nilai p
=
8.
Model LPC adalah sebuah model dari sinyal dengan waktu diskrit, sen), dan pada sejumlah sampel pada waktu n, dapat dilakukan pendekatan sebagai suatu kombinasi linier dari p sampel ucapan sebelumnya (Roweis 1998): sen) '" al sen - 1) + a2 sen - 2) + ... + ap sen - p)
(12)
dengan koefisien ai, a2, ... , a p diasumsikan konstan di atasframe analisis ucapan. Persamaan (12) dapat diubah ke dalam bentuk kesamaan dengan menambahkan selisih antara pendekatan tersebut dan sinyal yang sebenamya, G u(n), diperoleh: p
sen)
= Ia, sen-i) + G u(n)
(13)
j=!
dengan G u(n) disebut fungsi inovasi (Roweis 1998). Dengan menggunakan transformasi z sehingga persamaan (13) dapat berubah menjadi: p
S(z)
= Ia, z·' S(z) + G U(z)
(14)
;=1
Selanjutnya dengan melakukan perubahan persamaan (14), diperoleh fungsi transfer H(z), yaitu:
H(z)
S(z)
GU(z)
1
1
A(z)
(15)
16
Setelah model diperoleh, selanjutnya dilakukan analisis dari model LPC dengan tujuan untuk menentukan himpunan dari koefisien penduga, {a,}. Analisis dimulai dengan membentuk persamaan kesalahan pendugaan, e(n), yang berdasarkan pada model LPC, yaitu: p
sen)
= :L:a, s(n-k) + G u(n)
(16)
k=l p
(17)
sen) = L:>k s(n-k) k=l
Di mana sen) adalah sinyal ucapan yang sesungguhnya dan
s(n)
adalah sinyal
ucapan hasil estimasi. Selanjutnya, e(n) diperoleh dari: p
e(n) = sen) - sen)
= sen) - La, s(n-k)
(18)
k=l
Dengan menggunakan transformasi z, persamaan (18) menjadi: p
E(z)
p
= S(z) - La, z-' S(z) = S(z) [ 1- La, z-' 1 k=1
(19)
k=I
Sehingga diperoleh fungsi transfer kesalahan, yaitu: A(z)
E(z)
P
S(z)
'=1
= - - = 1- La,z-'
(20)
Pendekatan dasar di dalam menemukan koefisien penduga adalah dengan meminimalkan kesalahan pendugaan mean-squared pada frame sinyal ucapan. Bentuk persamaan sinyal ucapan untuk setiap frame adalah: Sn(m) = sen + m) en(m) = e(n + m)
(21)
Persamaan kesalahan pendugaim mean-squared adalah:
En =
~e;(m) = ~[s,,(m)- t,akS,,(m-k)r
(22)
Untuk menemukan koefisien penduga, persamaan (22) diturunkan terhadap setiap koefisien ak dan hasilnya bernilai 0, yaitu: (JE" =0, k (Ja k
= 1,2, ... , P
17
Sehingga diperoleh: p
Ls"(m-i)s,, (m)= La k Ls,,(m-i)s,,(m-k) "'
k",]
(23)
III
Dengan memandang bentuk Ls,,(m-i)s,,(m-k) merupakan covariance dari m
bentuk sn(m), yaitu:
9" (i,k)
=Ls,,(m-i)s,,(m-k) m
Bentuk persamaan (23) dapat ditulis sebagai: p
9,,(i,0)= La k 9" (i,k)
(24)
k=l
Persamaan (24) merupakan p buah persamaan yang dapat diekspresikan ke dalam bentuk persamaan matriks. Ada tiga metode yang dapat digunakan untuk mencari koefisien penduga, {a k
},
dari persamaan (24), yaitu: metode autocorrelation,
covariance, dan rekursi Levinson-Durbin (Nilsson dan Ejnarsson 2002).
2.4.4 Pemrosesan Akhil' Tahap pemrosesan akhir digunakan untuk mengkonversikan koefisien LPC menjadi koefisien cepstral. Hal ini diyakini dapat meningkatkan keandalan dari aplikasi yang akan dibuat (Rabiner dan Juang 1993). Tahap ini terdiri atas dua proses (Rabiner dan Juang 1993), yaitu: Konversi dari koefisien penduga (parameter LPC) ke dalam bentuk koefisien
cepstral Rumus yang digunakan, secara berturut-turut (persamaan (25), (26), dan (27»: co=ln(5
2
'
(25) (26)
(27)
m>p
Pada persamaan (25), (52 adalah gain pada model LPC. Nilai (52 dapat diperoleh dari energi estimasi error setiap frame sinyal ucapan
(52
= E)
MathWorks, Inc. 2004), sehingga persamaan (25) dapat diubah menjadi:
(The
18
Co
= -In (E)
(28)
Tanda negatif disertakan ke dalam persamaan (28) dengan maksud untuk menghindari nilai koefisien
Co
bernilai negatif, karena energi estimasi error
(E) setiapframe sinyal ucapan, memiliki kecenderungan nilai antara 0 < E < 1.
2 Pembobotan parameter cepstral Proses ini dibutuhkan untuk meminimalkan sensitivitas dari koefisien cepstral urutan kecil terhadap seluruh kemiringan spectral dan sensitivitas dari koefisien cepstral urutan besar terhadap noise. Rumus yang digunakan adalah sebagai berikut: (29) (30)
Proses Stokastik
2.5
Proses stokastik dengan waktu clislcrit adalah suatu koleksi {X,
:tE
T} dari
peubah acak yang terurut berdasarkan indeks dislcrit t dengan t adalah bilangan bulat positif. Di dalam proses stokastik secara umum, distribusi dari setiap peubah X t dapat berubah-ubah dan berbeda untuk setiap waktu t. Proses stokastik dikatakan bebas dan berdistribusi identik jika memenuhi kondisi berikut ini: p(X t = X" X'+l
= x,+!, ... , Xt+h = X'+h) = {=o n" p(X =X,+i)
(31)
untuk semua t; h 2:: 0; semua Xtt+h dan beberapa distribusi p(X = x) yang bebas pada indeks t. Proses stokastik {X, : t
~
I} dikatakan seimbang jika dua koleksi peubah
+/t,""X, +/t} memiliki distribusi peluang acak {X, I ,X,2 , ... ,X,n } clan {X,+/t'X, 1 2 /I
bersama yang sarna untuk seluruh nilai n clan h (Bilmes 1999). Di dalam kasus waktu-kontinyu, keseimbangan dicapai pada kondisi Fx
(a)=Fx Il: n
'1:11 +h
(a) untuk seluruh a di mana F(.) adalah fungsi distribusi
komulatif untuk peubah acak dan a adalah beberapa vektor konstan dengan panjang n. Di dalarn kasus waktu-dislcrit, keseimbangan dicapai pada kondisi
19
P(Q'I =ql ,Q'2 =q2,· .. ,Q,,, =qn )=P(Q" +h =ql , Q'2 +h =q2 ,···,Q,,,+h =qn}
untuk
selumh tJ, 1" ... , tn ; n > 0 dan h > 0 (Bilmes 1999).
2.6
Rantai Markov Rantai Markov (Markov chain) atau sering juga disebut sebagai proses
Markov adalah suatu proses stokastik jika memenuhi: kondisi pada saat state s"
state berikutnya (S'+I) bebas terhadap state sebelurnnya (S'_I) (Sirl 2005). Menurut Costello (2004), rantai Markov dikatakan sebagai proses stokastik yang memiliki dua buah karakteristik, yaitu:
I
Proses terdiri atas finite state di mana indeks dari setiap state adalah bilangan bulat non-negatif.
2 Proses mengikuti bentuk Markovian, yaitu ketika proses sedang berlangsung pada state ke-i, terdapat peluang gabungan antara proses pada saat itu dengan proses peralihannya pada state ke-j, yaitu Pij.
Suatu rantai Markov dikatakan diskret (Diskrete-Time Markov Processes) jika mang dari proses Markov tersebut adalah himpunan yang terbatas (finite) atau tercacah (countable), dengan himpunan indeks adalah T={O, 1,2, ... }. Jika nilai suatu state pada saat tertentu hanya tergantung pada satu state sebelunmya, maka disebut sebagai rantai Markov orde satu (first orde Markov chain) (Buono 2005). Rantai Markov orde satu dapat dimmuskan sebagai:
P(q,
=j Iq,_1 =i, q<-2 =k, ... )=P(q, =j I q'_1 =i)
(32)
Pada sisi kanan dari persamaan (32) merupakan bentuk yang tidak bergantung terhadap waktu, sehingga memunculkan suatu himpunan dari peluang transisi
state, aij, yang berbentuk:
aij =Pij =P(q, =j I q,_1 =i), 1 :s; ij :s; N
(33)
Peluang state, aij memiliki batasan, yailu: N
Vj,i dan
I:aij =1
Vi
(34)
j=1
Peluang transisi untuk seluruh state yang ada di dalam model dapat dideskripsikan sebagai matriks peluang transisi dengan ordo NxN, yaitu:
20
A=
all
a 12
a'N
a 21
a 22
a'N
aN'
aN'
aNN NxN
(35)
Suatu proses Markov telah didefinisikan secara lengkap jika telah ditentukan matriks peluang transisi dan inisialisasi vektor distribusi state yang ·merupakan peluang dari setiap state pad a tahap awalnya, yaitu:
1/:, =P(q, =1) 1/:, =P(q, =2)
1/:=
(36)
1/:N =P(q, =N) N
di mana
L1/:, =1
dan 11:; = P(q,
NxI
= i) untuk I :s i:S N.
;=1
Sehingga, model rantai Markov dapat direpresentasikan dengan menggunakan parameter A dan 11:.
2.7
Hidden Markov Model Model Markov tersembunyi atau Hidden Markov Model (HMM)
merupakan suatu model yang tersusun dari dua buah proses stokastik, yaitu
hidden Markov chain untuk menampung kemajuan temporal dan proses yang teramati untuk menampung variasi akustik. Kemajuan temporal dari ucapan dimodelkan berdasarkan proses Markov, sedangkan variasi akustik dimodelkan melalui distribusi pancaran dari setiap stale di dalam rantai Markov (Hamaker dan Picone 2003). Pada Gambar II diperlihatkan topologi model yang digunakan oleh HMM, yaitu jenis kiri ke kanan dengan empat stale. Pada Gambar 12 diperlihatkan topologi HMM yang lazim digunakan.
-7@----7~@----7
•••• ~
~
~
~
Gambar 11 Topologi model HMM jenis kiri ke kanan dengan empat state
21
Gambar 12 Topologi model HMM jenis kiri ke kanan pada kata yang terbentuk dari empatfonem Model HMM dapat dinotasikan dengan menggunakan parameterparametemya sebagai berikut: )..=
(A, B, 1t)
(37)
Di mana elemen-elemen dari model tersebut terdiri atas (Dugad dan Desai 1996; Tan 2005): •
•
•
N : Banyaknya hidden state di dalam model
•
Kumpulan state, s = {sJ, S2, ... SN}
•
State pada waktu t, qt
•
Simbol-simbol observasi, v = {VI, V2, ... VM}
•
Observasi pada waktu t, Ot
E
V
A = {aij} : distribusi peluang dari transisi state, di mana aij
= P(qt+1 = Sj Iqt = s;), I :0 i, j :0 N
B = {bj (k)} : distribusi peluang dari simbol observasi pada state ke-j •
•
S
M: Banyaknya simbol observasi
•
•
E
bj (k)
1t = {1t;} : •
1t;
= P(Ot = vklqt = Sj), I :OJ :0 N dan I :0 k:o M distribusi inisialisasi state
= P( ql = s;), I :0 i :0 N
2.7.1 Pelatihan pada Model HMM Di dalam melakukan pelatihan terhadap model HMM untuk setiap pembicara, dibutuhkan sejumlah barisan observasi 0
= OJ,
02, ... , OT. Setiap
barisan observasi diperoleh dari tahap sebelumnya, yaitu hasil ekstraksi informasi dari suatu sinyal ucapan (Gambar 13).
22 Sinyal ucapan
Frame blocking & windowing
Sampling
VAD
Xl X2 X3
Xl X2 X3
Yl Y2 y3
X44100
X12540
Y661
~"
Vektor observasi (koefisien cepstra~
Koefisien LPC
Yl Y2 y3
al a2 a3
Y661
as
al a2 a3
CI C2 C3
as
Cs
CI C2 C3
Cs
o = 01,0" 03, ... , OT Gambar 13 Tahapan pembentukan satu barisan observasi dari satu sinyal ucapan Salah satu metode yang dapat dipakai untuk melakukan pelatihan terhadap model HMM adalah algoritma Segmental K-means (Dugad dan Desai 1996). Untuk melakukan pelatihan model, metode ini membutuhl
=
OJ, O 2, .. " OT)
memiliki T buah simbol observasi. Setiap simbol observasi (Oi) merupakan vektor yang berdimensi D (dalam penelitian ini, D
= 8).
Algoritma Segmental K-means terdiri atas beberapa tahap (Dugad dan Desai 1996), yaitu; 1
Pemilihan secara acak N buah simbol observasi (vektor berdimensi D) sebagai pusat cluster untuk seluruh vektor observasi (roT). Pemilihan secara acak harus memenuhi ketentuan: 1 ~ PI < P 2 < ... < PN ~ T. Selanjutnya, setiap vektor observasi akan dikelompokkan ke dalam N pusat cluster dengan cara mencari jarak minimum terhadap N pusat cluster tersebut. Metode yang digunakan untuk mencari jarak minimum adalah Euclidean (Gray 1984). Selanjutnya, setiap vektor observasi, dimulai dari vektor observasi pertama hingga ke-T, akan diberi indeks sesuai dengan urutan pusat clustemya (1, 2,
.. " N).
2 Menghitung peluang inisial dan transisi state (1
ftj
~
i ~ N), yaitu:
Jumlah kemunculan state i di awal (0, E i) Jwnlah total kemunculan di awal (OJ)
(38)
Untuk 1 ~ i ~ N dan 1 ~j ~ N, dihitung:
Jumlah kemunculan {O, E i dan 0,+, E j} untuk semua t (39) Jumlah kemunculan {O, E i} untuk semua t
23
3
Menghitung vektor rata-rata (mean) dan matriks kovarian (covariance) untuk setiap state, I ::; i ::; N, yaitu:
_ I" Jii=-L.°, N; D,ei
(40)
(41) Di mana, N; adalah jumlah kemunculan total state ke-i. 4
Menghitung distribusi peluang dari simbol observasi untuk setiap vektor pelatihan terhadap setiap state, I ::; i ::; N, menggunakan distribusi Gaussian, yaitu:
bi(O,)
I I_V; 1'12 exp [--21 (0,- fi.yv,-' (0, - fi.J]
(42)
(2,,)DI2 5
Mencari barisan state yang optimal untuk setiap barisan pelatihan dengan menggunakan model
1, =(A" 13" Jl-,).
Barisan yang optimal dapat ditemukan
dengan menggunakan algoritma Viterbi (Lampiran 4) (Rabiner 1989). 6
Jika ada beberapa vektor yang ditugaskan kembali kepada state baru, maka proses berulang mulai tahap 2 hingga 6. Sebaliknya, jika tidak ada vektor yang ditugaskan, maka proses berhenti.
Secara skematis, pelatihan terhadap model HMM dengan algoritma
Segmental K-means dapat diperlihatkan seperti pada Gambar 14.
24
Inisialisasi model
A Tidak
Segmenlasi barisan state
,-
Kekonvergenan model?
Data training
.~
ilE.ili!
~
Pendugaan parameter B(.) melalui algoritma Segmental K· means
..............
...........
~
Va
1 Parameter model
i
y
Reestimation
I
I
Gambar 14 Diagram alir prosedur pelatihan untuk pendugaan parameter B(.)
J
2.7.2 Identifikasi Pembicara
Sebelum dilakukan identifikasi pembicara, model HMM dibangun untuk setiap orang yang telah melakukan pendaftaran. Parameter model HMM untuk setiap orang diperoleh dari tahap pelatihan sistem. Pada tahap identifikasi pembicara, barisan observasi yang belum diketahui, 0
=
{o"
02, ... , OT},
yang merupakan hasil ekstraksi informasi dari
ucapan seseorang, dimasukkan ke dalam tiap-tiap model HMM untuk dihitung nilai peluangnya (Likelihood Estimation) dan selanjutnya akan dipilih nilai peluang yang maksimum dari seluruh nilai peluang tersebut. Pemilik ucapan adalah pemilik model HMM yang menghasilkan nilai peluang maksimum. Pada Gambar 15 diperlihatkan bagaimana model HMM melakukan identifikasi pembicara terhadap suatu ucapan.
3
Gambar dimodifikasi dari catatan kuliah Matematika dan Statistika Komputasi (instruktur Agus Buono).
25
Model HMM pembicara 1
Penghitungan nilai peluang
P( 0 I A' )
Model HMM pembicara 2
Penghitungan nilai peluang
P(O I A')
Memilih model HMM dengan nilai
P(O I A) terbesar
A'={A',tl',TI'11
Penghitungan nilai peluang
Model HMM pembicara N
P(OIA')
Gambar IS Diagram alir model HMM pada identifikasi pembicara4
Identifikasi pembicara dimulai dengan menentukan nilai peluang P(OIA,) untuk setiap model HMM (Rabiner 1989), yaitu: P(O I A)= L:P(O I I,A)P(I I A) I
(43) Pada persamaan (43) terdapat 2T - I perkalian dan NT barisan state yang mungkin berbeda. Dengan melakukan komputasi secara langsung diperoleh 2TNT
-
I
operasi perkalian dan penjumlahan. Jika N = 5 dan T = 100, maka komputasi yang akan dilakukan sebanyak 1072 perkalian yang membutuhkan waktu cukup
4
Gambar dimodifikasi dari catatan kuliah Matematika dan Statistika Komputasi (instruktur Agus Buono).
26 lama. Untuk itu dibutuhkan sebuah metode untuk mengatasi kompleksitas komputasi tersebut, yaitu prosedur Forward (Rabiner 1989). Prosedur ini diawali dengan menentukan variabel maju (forward), yaitu: (44)
Di mana a, (i) merupakan peluang dari barisan observasi secara parsial hingga ke-t dan state i pada saat t, yang diberikan oleh model 'A.
at (i) dapat dihitung
secara induksi, sebagai 'berikut: Inisialisasi (45)
2 Induksi
3
Penghitungan peluang N
P(O I,1)=
L>r(i)
(47)
i=1
2.7.3 Pengujiau Sistem Identifikasi Pembicara Pengujian sistem dibutuhkan untuk mengetahui tingkat identifikasi (pengenalan) dari sistem yang telah dibangun. Tingkat identifikasi dapat diperoleh dari rasio antara jumlah data pengujian yang berhasil diidentifikasi dan jumlah total data pengujian. Misalkan, M adalah jumlah data pengujian yang berhasil diindentifikasi dan N adalah jumlah total data pengujian, maka tingkat identifikasinya adalah MIN. Sebaliknya, tingkat kesalahan dapat diperoleh dari rasio antara jumlah data pengujian yang tidak berhasil diidentifikasi dan jumlah total data pengujian, yaitu (N-M)/N. Untuk mendapatkan estimasi tingkat kesalahan (error rate) secara umum dari sistem yang telah dibangun dapat digunakan validasi silang (cross validation). Ada beberapa metode yang dapat digunakan untuk melakukan
validasi silang, antara lain: hold-out, Monte-Carlo cross-validation, k-Jold crossvalidation, dan leave-one-out (Lendasse et al. 2003). Di samping itu, terdapat pula
metode lainnya, yaitu bootstrap. Pada metode k-Jold cross-validation, koleksi data
27
yang digunakan di dalam membangun sistem dibagi menjadi k bagian sama dan terpisah (disjoint), satu bagian menjadi data pengujian dan k-l bagian menjadi data pelatihan sehingga terdapat I< pasang data pelatihan-pengujian (Kustiyo 2005). Leave-one-out dan bootstrap digunal
kecil (small size), hold-out untuk contoh besar (misalnya 1000) dan k-fold crossvalidation dapat digunakan untuk contoh kecil maupun besar (Kustiyo 2005).
Pada penelitian ini, metode k-fold cross-validation digunal
BAB 3 METODOLOGI PENELITIAN 3.1
Kerangka Pemildran Kerangka pemikiran dalam membangun model dan prototipe identifikasi
pembicara dapat dituangkan ke dalam suatu diagram alir penelitian, seperti yang diperlihatkan pada Gambar 16. Mulai
.- r-
Studi pustaka
...
1. Metode pemrosesan sinyal 2. Peraneangan model HMM 3. Pelatihan model HMM, identifikasi pembieara dan pengujian sistem 4. Pemrograman MatJab
Akuisisi data penqueapan
...
..
;f'.
0
N
~
E
. ~
~
~
Pelatihan model
...
Identifikasi ~ dan penqu'ian
'§-
'"'" m
I
~
'"
~
Pelatihan model
~
0
m
~
'"
I
-\'l '5~
Pelatihan model
...
'"'" m
I
-\'l
~
'"
...
Identifikasi dan penquiian
Identifikasi dan penqu'ian
~
.
Pengembangan prototipe sistem
m
~
's
Pelatihan 1:5 model
...
Identifikasi dan penqujian
~ =
'"
~
~
~
.~
~
Koef. cepslral
Koef. cepslral
m
~
0
0
~
~
m
'"'"
N
~
Koef. cepslral
;f'.
~
E
~
0
M
~
.
;f'.
~
E
0
~
'§
.
;f'.
~
Koef. ceoslral
m
~
.~
-\'l
~
. E
~
~
m
~
0
N
M
Koef. ceoslral
~
'"
;f'.
~
~
N
Koef. eeoslral
. E
0
0
N
II
;f'.
~
E
~
Ekstraksi informasi
I
~
.~
-\'l
'"
~
...
'"'"
.~
m
'§
f r ~
Pelatihan model
m
~
Identifikasi dan penqujian
-\'l
~
Pelatihan model
...
Identifikasi dan I penquiian
I
t I Pembahasan, dokumentasi I dan penulisan laporan ...
Ganlbar 16 Diagram alir penelitian pengembangan model dan prototipe identifikasi pembicara
29 Berikut ini akan dijelaskan beberapa tahap yang ada di dalam diagram alir pada Gambar 16.
3.1.1 Studi Pustaka
Studi pustaka merupakan tahap awal dalam memulai penelitian ini. Tabap ini diperlukan agar peneliti memiliki pengetahuan mendasar dan memadai yang bermanfaat dalam melakukan pemodelan sistem dan prototipe identifikasi pembicara. Studi pustaka yang telah dan sedang dilakukan meliputi: •
Metode pemrosesan sinyal Pada bagian ini
dipelajari
metode-metode
pemrosesan
sinyal
yang
dipergunakan pada berbagai sistem identifikasi pembicara.
•
Perancangan model HMM Pada bagian ini dipelajari bagaimana cara membentuk model HMM terhadap kata yang dipilih dan keterkaitan model tersebut terhadap setiap pembicara.
•
Pelatihan model HMM, identifikasi pembicara dan pengujian sistem Pada bagian ini dilakukan studi tentang metode-metode yang digunakan untuk pelatihan sistem, identifikasi pembicara dan pengujian sistem.
•
Pemrograman Matlab Sistem dan prototipe identifikasi pembicara yang dikembangkan pada hakikatnya merupakan sebuah perangkat lunak yang mampu melakukan pemrosesan terhadap perangkat keras dan melakukan berbagai perhitungan. Seluruh proses tersebut dapat dibangun dengan menggunakan pemrograman. Dalam hal ini, pemrograman yang dipilih adalah Matlab.
3.1.2 Akuisisi Data Pengucapan
Pada saat akan melakukan perekaman, mikrofon harus sudah terpasang dan perangkat lunak perekaman telah dijalankan. Perekaman dilakukan terhadap pengucapan kata "ujar", selama 2 detik (I detik = 1000 ms), pada frekuensi sampling ifs) sebesar 20 kHz, dan Iingkungan perekamannya "dikondisikan" minim noise. Data ucapan direkam dari 6 orang responden dengan masing-masing 15 kali perulangan. Tiga orang diantaranya adalah pria dan tiga lainnya adalah
30
wanita. Sepuluh data ucapan dari setiap pembicara akan dijadikan sebagai data pelatihan model, sedangkan lima data sisanya dijadikan sebagai data pengujian (identifikasi pembicara). Setiap pengucapan disimpan sebagai sebuahfile audio dengan format way. Nama file diberikan berdasarkaninisial pembicara diikuti dengan indeks urutan pengucapan (I s.d. 15), misalnya rial.wav.
3.1.3 Ekstraksi Informasi Ada 4 tahap yang dilakukan di dalam mengekstraksi informasi dari setiap data ucapan (Gambar 6), yaitu pernrosesan awal,frame blocking and windowing, ekstraksi ciri dan pelmosesan akhir. Pada tahap frame blocking and windowing, setiap data ucapan dibagi berdasarkan 6 kelompok pembagi frame yang dibentuk dari kombinasi 3 lebar waktu (20 ms, 30 ms, dan 40 ms) dan 2 overlap antar frame (25% dan 50%). Keenam kelompok tersebut terdiri atas kelompok I (20 ms
dan 25%), kelompok 2 (20 ms dan 50%), kelompok 3 (30 ms dan 25%), kelompok 4 (30 ms dan 50%), kelompok 5 (40 ms dan 25%) dan kelompok 6 (40 ms dan 50%). Pada tahap ekstraksi ciri, menggunakan metode LPC dengan jumlah koefisien 8.
3.1.4 Koefisien Cepstrai Setiap data ucapan, baik yang akan digunakan sebagai data pelatihan maupun data pengujian (identifikasi) akan dikonversikan oleh tahap ekstraksi informasi menjadi sebuah barisan koefisien cepstral yang tersusun dari kumpulan vektor di mana setiap vektor memiliki banyaknya elemen 8 buah.
3.1.5 Pelatihan Model Model HMM untuk setiap pembicara yang dibangun merupakan model HMM jenis kiri ke kanan. Pada tahap ini akan terbentuk 6 buah model HMM untuk setiap kelompok pembagi frame di mana setiap model merepresentasikan pola seorang pembicara. Parameter setiap model (Ap, Bp, menggunakan algoritma Segmental K-means.
1tp)
diperoleh dengan
31
3.1.6 Identifikasi dan Pengujiau Identifikasi pembicara dilakukan terhadap suatu data ucapan yang telah disimpan di dalam format file audio (*.wav). Data ucapan yang dipergunakan untuk pengidentifikasian pembicara diperoleh bersamaan dengan pengumpulan data pelatihan. Sedahgkan, pada pengujian melakukan identifikasi pada seluruh data ucapau yaug dijadikan sebagai data pengujian.
3.2
Bahan dan Alat Bahan pad a penelitian ini berupa sinyal ucapan yang diperoleh pada saat
perekaman data ucapan untuk pelatihan dan pengujian. Adapun alat yang digunakan terdiri atas: •
Seperangkat !computer yang memiliki spesifikasi diantaranya prosessor Intel Pentium 4, 1.7 GHz, RAM 256 MB, harddisk 30GB.
•
Mikrofon desktop.
•
Loudspeaker mini.
•
Perangkat lunak Matlab versi 7.01.
3.3
Waktu dan Tempat Penelitian Penelitian ini dilaksanakan mulai bulan Januari 2006 hingga bulan Juli
2006, bertempat di Laboratorium Pascasarjana Departemen Ilmu Komputer, FMIPA-IPB.
BAB 4 PERANCANGAN DAN IMPLEMENTASI SISTEM Perancangan model sistem identifikasi pembicara dibangun dengan maksud untuk memudahkan dalam pembuatan aplikasi (perangkat lunak). Aplikasi yang dibuat merupakan gabungan dari berbagai tahap yang ada di dalam sistem lersebut. Di samping ilu, model dirancang sedemikian rupa sehingga dapat memudahkan pengguna dalam menjalankan aplikasi lersebut. Sistem yang dikembangkan seperti yang diperlihatkan pada Gambar 17, terdiri alas empat modul utama, yaitu modul perekaman, modul konfigurasi sistem, modul pelatihan, dan modul identifikasi (pengujian). Modul perekaman dibuat sebagai suatu aplikasi yang terpisah dari ketiga modul lainnya. Modul pelatihan dan identifikasi (pengujian) diletakkan sebagai submenu dari menu proses. Sedangkan modul konfigurasi sistem diletakkan sebagai submenu dari menu file. Modul perekaman :
(
6 pembicara (90 pengucapan)
! Data ucapanJ
\
1-1
Pengguna
!T
r-
Antar muka (interface)
1
1............... "":""""1 Konfigurasi sistem i Ekstraksl. :..- (20 30 40 ms) & ! mformasl i " 0 ,................................, (25%.50)(,) 60 data (6 pembicara
Data pelatihan
~I
Pelatihan sistem
I
~ Referensi pola Parameter HMM
30 data (6 pembicara)
J 'I
!
Identifikasi dan pengujian
I 1
Gambar 17 Perancangan model sistem identifikasi pembicara
33 4.1
Data Perekaman dilakukan terhadap pengucapan kata "ujar", selama 2 detik,
pada frekuensi sampling (ft) sebesar 20 kHz sehingga menghasilkan 44100 sampel setiap pengucapan. Jumlah sampel diperoleh dari perkalian antara lama perekaman dan jumlah sampel per detik dari frekuensi sampling yang dipilih, yaitu 44100 = 2x22050. Pada Tabel 2 diperlihatkan jumlah sampel yang dihasilkan dari frekuensi sampling, seperti yang telah ditentukan oleh perangkat lunak Matlab. Tabel2 Interval frekuensi sampling danjumlah sampel yang dihasilkan Interval frekuensi sampling (Hz) 8000 s.d. 8080
Dalam 1 detik
Dalam 2 detik
8000
16000
8081 s.d 11135
11025
22050
11136 s.d. 22270
22050
44100
22271 s.d. 44100
44100
88200
Jumlah sampel
Data ucapan yang digunakan di dalam sistem identifikasi pembicara diperoleh dari perekaman 6 orang responden (3 pria dan 3 wanita) dengan masingmasing melakukan 15 kali perulangan. Pengambilan data ucapan sebanyak 15 kaIi untuk setiap pembicara dilakukan dalam rentang waktu yang berurutan. Perekaman dilakukan pada ruangan yang dikondisikan minim noise. Setiap data ucapan disimpan sebagai sebuah file audio dengan format way yang diberi nama sesuai dengan inisial pembicara dan diikuti dengan indeks urutan pengucapan (1 s.d. 15) (Lampiran 1).
4.2
Ekstraksi Informasi Ada 4 tahap yang dilakukan di dalam mengekstraksi informasi dari setiap
data ucapan, yaitu pemrosesan awal (preemphasis dan deteksi aktifnya suara), frame blocking and windowing, ekstraksi ciri dan pemrosesan akhir.
34
4.2.1 Deteksi Aktifnya Snara Pada proses deteksi aktifuya suara dilakukan eliminasi terhadap elemenclemen (nilai-nilai) dari sinyal ucapan apabila elemen-elemen tersebut tidak mengandung karakteristik ucapan seorang pembicara. Metode yang digunakan adalah voice activacy detection (VAD). Metode VAD akan berfungsi secara normal apabila 200 ms pertama dari sinyal ucapan hanya berisi background /loise. Pada metode VAD, setiap sinyal ucapan dibagi ke dalam lebar frame 5 ms dan tanpa adanya overlap antarji-ame (TabeI3). Tabel 3 Ketentuan dan struktur sinyal ucapan pada proses VAD Ketentuan dan struktur ucapan Asumsi
200 ms pertama hanya berisi background noise
Lebar frame
5 ms
Overlap
Tidak ada
Jumlah frame
401 frame
Jumlah sampel per frame
110 sampel
Keterangan
Jumlah sampel sinyal ucapan setelah melalui proses VAD berbeda untuk setiap pembicara. Hal ini disebabkan, kecepatan pengucapan yang tidak sarna antara seorang pembicara dan pembicara lainnya (Tabel 4). Pada Tabel 4, jumlah sampel diperoleh dari perkalian antara jumlahframe dan jumlah sarnpel per frame (110 sampel). Kepadatan ucapan diperoleh dari rasio antara jumlah sampel ucapan
setelah dan sebelum proses VAD. Secara lebih detail, jumlah ji-ame dan sampel setiap sinyal ucapan disajikan pada Lampiran 1. Tabel4 Estimasijumlahframe danjumlah sampel pada metode VAD Jumlah frame 114
Jumlah sam pel 12540
Kepadatan ucapan 28.4%
170
18700
42.4%
Roni Salambue
85
9350
21.2%
4.
Titi Ratnasari
60
6600
15.0%
5.
Ria Arafiah
70
7700
17.5%
6.
lin Ernawati
50
5500
12.5%
No.
Pembicara
1.
Mahyus Ihsan
2.
Agus Hasim
3.
35
4.2.2 Frame Blocking allil Windowing Pada tahap ini, setiap data ucapan dipilah-pilah berdasarkan 6 kelompok pembagi lebar frame dan overlap, yaitu kelompok I (20 ms dan 25%), kelompok 2 (20 ms dan 50%), kelompok 3 (30 ms dan 25%), kelompok 4 (30 ms dan 50%), kelompok 5 (40 ms dan 25%) dan kelompok 6 (40 ms dan 50%). Pada Tabel 5 ditampilkan jumlahframe berdasarkan 6 kelompok pembagiframe. Untuk mendapatkan jumlah sampel dalam setiap frame, jika diketahui lebar waktuframe, dapat menggunakan persamaan (48), yaitu:
N=ll~;OJ
(48)
Dimana, L
: lebar waktuframe (20 ms, 30 ms, dan 40 ms)
Fs
: jumlah sampel dalam satu detik (22050)
N
: jumlah sampel dalam setiap frame
LJ
Pembulatan ke bawah terhadap nilai bilangan real Uika a
Selanjutnya, jumlah frame
setiap sinyal ucapan dapat dihitung dengan
menggunakan persamaan (49), yaitu: X
J nData-Ml I
(49)
N-M
Di mana, nData : jumlah total sampel dalam satu sinyal ucapan N
: jumlah sampel dalam setiap frame (hasil dari persamaan (48»
M
: jumlah sampel overlap, dapat dihitung dari hubungan M = LNO
X
Il
J, di mana 0 adalah overlap antarframe dalam %
: jumlahframe Pembulatan ke atas terhadap nilai bilangan real Uika a<X
Dan langkah terakhir adalah menentukan posisi awal dari setiap frame dalam suatu sinyal ucapan, dapat menggunakan persamaan (50), yaitu:
36
p'=(i-I)(N-M)+I
(50)
Di mana, urutanji-ame ke-i
N
lebar frame dalam satuan sampel atau jumlah sampel dalam setiap frame (hasil dari persamaan (48»
M
: jumlah sampel overlap
Pi
: Posisi awalframe urutan ke-i
Tabel 5 Jumlah ji-ame dan jumlah sampel per frame dari 6 kelompok pembagi frame
.
Jumlah frame pada lebar waktu dan overlap 40ms¥ 30ms~ 20ms 25% 50% 25% 50% 25% 50% 38 56 25 37 19 28
Jlh
Inisial pembicara
sampel
Mahyus
12540
Agus
18700
57
84
38
56
28
42
Rani
9350
28
42
19
28
14
21
Titi
6600
20
29
13
19
10
14
Ria
7700
23
34
16
23
12
17
lin
5500
17
24
11
16
8
12
Jumlah sampel setlap frame pada lebar waktu 20 ms adalah 441 sampel setiap frame pada lebar waktu 30 ms adalah 661 'Jumlah sampel setiap frame pada lebar waktu 40 ms adalah 882
I Jumlah
Jumlah sampel yang dibutuhkan untuk membangun window Hamming berasal dari jumlah sampel setiap frame yang diperoleh berdasarkan lebar waktu yang ditentukan. Misalnya, pada lebar waktu 30 ms, akan diperoleh window Hamming dengan 661 sampel. Window Hamming yang telah diperoleh, dioperasikan (perkalian titik terhadap elemen-elemen vektor yang bersesuaian) terhadap setiapframe, dimulai darifi'ame pertama hinggaframe terakbir, yaitu: dll
Fw=DW=
d lx
d"
d" d"
d,x
dNI
d N,
d NX
•
W; W, WN
dllW;
=
d"W,
d"W; d"W,
dNlWN dN,WN
dlxW; d 2X W, dNXWN
Di mana, Fw
seluruhframe yang telah dikenakan operasi windowing
(51)
37
D
data ucapan yang telah terbentuk dalamframe:frame
W
window Hamming dengan N sampel
dij
elemen data ucapan pada urutan sampel ke-i dariframe ke-j
Wi
elemen window Hamming pada urutan sampel ke-i
4.2.3 Ekstraksi Ciri
Proses ekstraksi ciri dilakukan terhadap setiap frame sinyal ucapan. Metode yang digunakan adalah LPC dengan jumlah koefisien 8 (p = 8). Hasil proses ini menyebabkan setiap frame sinyal ucapan diisi oleh 8 buah koefisien LPC. Pada tahap ini pula, perlu dihitung estimasi kesalahan pendekatan sinyal ucapan untuk setiap frame dengan menggunakan persamaan (18). Estimasi kesalahan tersebut digunakan untuk mendapatkan energi estimasi kesalahan untuk setiap frame sinyal ucapan, yang nantinya dibutuhkan untuk membangun nilai koefisien pertama cepstral (persamaan (28)) untuk setiapframe sinyal ucapan.
4.2.4 Pemrosesan Akhir
Pada tahap ini akan dilakukan dua proses untuk setiap frame sinyal ucapan, yaitu konversi dari koefisien LPC menjadi koefisien cepstral (persamaan persamaan (26), persamaan (27), dan persamaan (28)) dan pembobotan parameter cepstral (persamaan (29) dan persamaan (30)).
Setelah melalui tahap ini, seluruh koefisien cepstral yang dihasilkan Idmsus untuk data pelatihan yang terdiri atas 10 ucapan untuk masing-masing pembicara disimpan ke dalam sebuah jile data pelatihan yang diberi nama datatraining_lebarframe_overlap.mat. Struktur dari isi jile data tersebut dapat
dideskripsikan pada Gambar 18.
l
/ Pembicara 1 U .
Pemblcara 2 U 2I Pembicara 6 U"
~[Cll _ e
21
U" U" U"
...
U'(IO)
... U'(IO) U6(10)
: CSI
C"
C 22
en Keterangan gambar: U : satu data ucapan c: koefisien cepstral X : jumlah frame
Gambar 18 Struktur dari isijile data pelatihan untuk setiap kelompok pembagi frame
38
4.3
Hidden Markov Model Model HMM untuk setiap pembicara yang dibangun merupakan model
HMM jenis kiri ke kanan dengan 4 buah state. Setiap state mewakili satu fonem. Pada Gambar 19 diperlihatkan cara pembentukan model HMM untuk kata yang dipakai oleh sistem, yaitu kata "ujar".
(a)
u
~---
---~+-Hi<--
a -->i+.r->i
(b)
Gambar 19 (a) Penentuan empat state pada sinyal ucapan
(b) Topologi model HMM untuk kata "ujar" Matriks peluang transisi (A) dan vektor distribusi state (it) dapat diperoleh dari relasi yang terbentuk antar state dan posisi awaI state (Gambar 19 (b)), yaitu:
A"
I
=
=
a"
a12
0
0
0
a22
0
0
0
a2J a33
a34
0
0
0
I
1<, =
I
1<, =
0
I<J =
0
1<, =
0 4xl
Di mana p = I, 2, ... , jumlah pembicara,
(48)
4x4
(49)
, L: aij j =1
,
= I, '<:Ii, dan
L:I<,
=l.
;= 1
4.3.1 Pelatihan pada Model HMM Sebelum dilakukan proses pelatihan terhadap model, sistem akan membaca seluruh koefisien cepstral yang telah disimpan di dalam file data pelatihan datatraining_lebarframe_overlap.mat. File data pelatihan tersebut berisi
39
10 data ucapan dari setiap pembicara (total 90 data ucapan). Setiap data ucapan tersusun dari sejumlah vektor koefisien cepstral yang akan diterjemah menjadi sebuah barisan observasi 0
= 01,02, ... , OT di
mana 01
= [CII C21 C31 C41 CSI
C61 C71 Csll, O2 = [C 12 C22 Cn C42 CS2 C62 Cn CS2 ] dan demikian setemsnya hingga observasi terakhir (OT) (GambaI' 18). Untuk setiap pembicara, akan diperoleh 10 barisan observasi. Pelatihan terhadap model HMM untuk setiap pembicara menggunakan algoritma Segmental K-means. Pada awalnya, akan ditentukan inisialisasi posisi pusat cluster yang mewakili posisi 4 state di dalam barisan observasi. Inisialisasi posisi tersebut dilakukan untuk setiap pembicara terhadap 6 kelompok pembagi lebar/rame dan overlap, dapat dilihat pada Tabel6, Tabel 7, dan Tabel 8. Tabel 6 Inisialisasi posisi pusat cluster pada lebar waktu 20 ms
1.
Inisial Dembicara Mahyus
2.
Agus
57
[17,29,35,45J
84
[25, 42, 58, 67J
3.
Rani
28
[5,17,21,25J
42
[9, 24, 32, 40J
4.
Titi
20
[1,5,11,18J
29
[4,8,18,26J
5.
Ria
23
[4,10, 17,21J
34
[15,16,25,31J
6.
lin
17
[3,6,11,15J
24
[4, 9, 16, 22J
Na.
Jumlah frame (overlaD 25%)
Inisialisasi pasisi Dusa! cluster
Jumlah frame (overlaD 50%)
Inisialisasi pasisi pusa! cluster
38
[15, 22, 30, 36J
56
[12, 32, 44, 50J
Tabel 7 Inisialisasi posisi pusat cluster pada lebar waktu 30 ms Jumlah frame (overlaD 25%)
Inisialisasi pasisi pusa! cluster
Jumlah frame (overlaD 50%)
Inisialisasi pasisi pusa! cluster
25
[2,10, 18,23J
37
[3, 12, 22, 30J
1.
Inisial Dembicara Mahyus
2.
Agus
38
[10, 19, 25, 32J
56
[17, 29, 36, 45J
3.
Rani
19
[6,11,14,17J
28
[3,16,21,25J
4.
Titi
13
[1,4,8,12J
19
[2,5,12,17J
5.
Ria
16
[7,8,11,12J
23
[4,8,12,18J
6.
lin
11
[2,4,7,10J
16
[2,6,12,15J
Na.
40
Tabel 8 Inisialisasi posisi pusat cluster pada lebar waktu 40 ms
1.
Inisial pembicara Mahyus
2.
Agus
28
[7,13,19,23]
42
[12, 21, 29, 34]
3.
Roni
14
[3,9,11,13]
21
[4,12,16,19]
4.
Titi
10
[1,4,6,9]
14
[2,6, 9, 13J
5.
Ria
12
[2,5,9,11J
17
[6,8,12,16J
6.
lin
8
[2,3,4,5J
12
[1,4,9,11]
No.
Jumlah frame
Jumlah frame
19
Inisialisasi posisi pusat cluster [5,11,15,18]
28
Inisialisasi posisi Dusat cluster [8, 16, 22, 26]
(overlap 25%)
(overlap 50%)
Selanjutnya, pada proses pelatihan akan menghitung nilai parameter A, B, )l
(vektor rata-rata) dan Y (matriks kovarian) secara bemlang-ulang sesuai iterasi
yang dilaluinya hingga iterasi terakhir dari algoritma Segmental K-means. Proses ini akan dilakukan terhadap p pembicara sehingga akan terbentuk p buah model HMM, yaitu A,P =(AP ,BP ,K P). Setelah selumh proses pelatihan model HMM selesai, nilai-nilai parameter reP, AP, BP, )lP, dan yP akan disimpan ke dalam sebuah
file
parameter
HMM
yang
diberi
nama
ParameterHMM_Iebarframe_overlap.mat.
4.3.2 Identifikasi Pembicara
Setiap data ucapan yang ingin diidentifikasi pemiliknya, dibaca dari file data ucapan. Kemudian, setiap data ucapan tersebut akan dilakukan ekstraksi infonnasi sehingga menghasilkan sejumlah vektor koefisien cepstral, di mana kumpulan vektor tersebut diterjemahkan sebagai suatu barisan observasi (0
O2 ,
... ,
= 01,
OT) dan dimasukkan ke dalam tiap-tiap model HMM untuk dihitung nilai
peluangnya. Penghitungan nilai peluang suatu barisan observasi terhadap sualu model HMM menggunakan prosedur Forward. Pemilik ucapan adalah pemilik model HMM yang menghasilkan nilai peluang maksimum.
4.3.3 Pengujian Sistem Identifikasi Pembicara
Pengujian sistem dilakukan dengan cara mengidentifikasikan selumh data pengujian. Tingkat identifikasi (identification accuracy) diperoleh dari rasio
41
antara jumlah data pengujian yang berhasil diidentifikasi dan jumlah total data pengujian. Validasi silang digunakan untuk mendapatkan estimasi tingkat identifikasi sistem secara umum. Metode validasi silang yang digunakan pada penelitian ini adalah 3-fold cross-validation. Melalui penggunaan metode tersebut, koleksi data ucapan setiap pembicara (masing-masing 15 pengucapan) dibagi menjadi 3 bagian yang sarna dan terpisah. Satu bagian menjadi data pengujian dan 2 bagian lailmya menjadi data pelatihan sehingga terdapat 3 pasang data pelatihan-pengujian. Pembagian dilakukan secara manual, mengikuti langkah-langkah sebagai berikut: Terdapat 15 buah data ucapan setiap pembicara yang disimpan dalam 15 file yang diberi indeks 1,2,3,4,5,6,7,8,9,10,11,12, 13, 14 dan 15. 2 Bagian 1 terdiri atas 5 indeks ganjil peltama (1,3,5,7,9), bagian 2 terdiri atas 5 indeks genap pertama (2, 4, 6, 8, 10), dan bagian 3 terdiri atas 5 indeks terakbir (11, 12, 13, 14, 15). 3
Dibentuk 3 pasang (kelompok) data pelatihan-pengujian, yaitu: a
Kelompok 1: data pelatihan dari bagian 1 dan 3, data pengujian bagian 2.
b Kelompok 2: data pelatihan dari bagian 1 dan 2, data pengujian bagian 3. c
4.4
Kelompok 3: data pelatihan dari bagian 2 dan 3, data pengujian bagian 1.
Program Aplikasi Aplikasi identifikasi pembicara yang telah dirancang, dikemas dalam satu
program antar muka (interface) yang dibangun dengan menggunakan graphical user interface (GUJ) Matlab versi 7.01. Aplikasi tersebut hanya dapat dijalankan
di dalam lingkungan perangkat lunak Matlab. Tampilan aplikasi terdiri atas form utama, form konfigurasi sistem, form pesan menunggu proses selesai, form hasil pelatihan,Jorm hasil identifikasi pembicara, dan form hasil pengujian (Lampiran
6).
BAB 5 HASIL DAN PEMBAHASAN Ada tiga tahap utama dari sistem identifikasi pembicara yang menjadi tinjauan pada bab ini, yaitu tahap ekstraksi infonnasi, tahap pelatihan pada model HMM, dan tahap pengujian sistem. Ketiga tahap utama tersebut akan dilakukan terhadap enam kelompok pembagi lebar frame dan overlap, yaitn kelompok 1 (20 ms dan 25%), kelompok 2 (20 ms dan 50%), lcelompok 3 (30 ms dan 25%), kelompok 4 (30 ms dan 50%), kelompok 5 (40 ms dan 25%) dan kelompok 6 (40 ms dan 50%). Selanjutnya, tingkat identifikasi (pengenalan) dan waktn proses diamati dari setiap kelompok pembagi. Tingkat identifikasi dan waktu proses tersebut menjadi dasar pertimbangan dalam merekomendasikan salah satu kelompok pembagi untnk digunakan di dalam sistem identifikasi pembicara.
5.1
Ekstraksi Inforinasi Pada percobaan yang dilakukan terhadap enam kelompok pembagi lebar
frame dan overlap menunjukkan bahwa waktn proses ekstraksi infonnasi semakin
cepat apabila lebar frame semakin besar dan pada overlap yang kecil. Waktn proses ekstraksi infonnasi yang tercepat terjadi pada lebar frame 40 ms dan overlap 25% (Tabel 9), yaitn 3.575 detik (untnk 60 data pelatihan) atau 0.060
detik (rata-rata untnk setiap ucapan). Waktu proses dipengaruhi oleh banyaknya frame sinyal ucapan yang dibentuk dan diolah pada tahap ekstraksi informasi.
Tabel 9 Waktu proses ekstraksi infonnasi pada enam kelompok pembagi Total Waktu proses (del)
Waktu proses rata·rata setiap ucapan (det)
1830
4.596
0.077
50
2690
7.56
0.126
30
25
1220
4.647
0.077
30
50
1790
6.8
lebar (rame (ms)
Overlap
20
25
20
40 40
(%)
I
Total
(rame
25
910
3.575
50
1340
5.447
0.113 .
0.060 0.091
43
Waktu proses ekstraksi inforrnasi juga dapat diamati untuk setiap pembicara (Tabel 10, Tabel 11, dan TabeI12). Waktu proses tercepat terjadi pada pembicara ke-6 (lin). Adanya perbedaan waktu proses ekstraksi infol111asi terhadap masing-masing pembicara dipengamhi oleh kecepatan pengucapan dari setiap pembicara. Hal ini sebagai akibat dari penggunaan metode V AD pada tahap pemrosesan awal sinyal ucapan. Kecepatan pengucapan tersebut menentukan
jumlahframe yang terbentuk setelah melewali lahap pemrosesan awal (VAD) dan frame blocking and Windowing. Tabel 10 Waktu proses ekstraksi informasi pada lebar waktu 20 ms Overlap 25% Waktu proses (det) Total Setiap ucapan 0.951 0.095
OverlaD50% Waktu proses (det) Total Setiao ucaoan 1.582 0.158
No.
Inisial pembicara
1.
Mahyus
2.
Agus
570
1.622
0.162
840
2.864
0.286
3.
Roni
280
0.641
0.064
420
1.031
0.103
4.
Titi
200
0.461
0.046
290
0.701
0.070
5.
Ria
230
0.541
0.054
340
0.822
0.082
6.
lin
170
0.38
0.038
240
0.56
0.056
Jumlah (rame 380
Jumlah frame 560
Tabel II Waktu proses ekstraksi inforrnasi pada lebar waktu 30 ms Overlap 25% Waktu proses (det) Setiap ucapan Total 1.161 0.116
Over18050% Waktu proses (det) Total Setiao ucaoan 1.452 0.145
No.
Inisial pembicara
1.
Mahyus
2.
Agus
380
1.483
0.148
560
2.454
0.245
3.
Roni
190
0.661
0.066
280
0.971
0.097
4.
Titi
130
0.44
0.044
190
0.631
0.063
5.
Ria
160
0.531
0.053
230
0.771
0.077
6.
lin
110
0.371
0.037
160
0.521
0.052
Jumlah (rame 250
Jumlah (rame 370
44
Tabel12 Waktu proses ekstraksi informasi pada lebar waktu 40 ms No.
Inisial pembicara
Overlap 25% Waktu proses (del) Total Setiap ucaoan 0.781 Om8
Jumlah frame 190
Jumlah frame 280
Overlap 50% Waktu roses (del) Total Setiap ucapan 1.171 0.117
1.
Mahyus
2.
Agus
280
1.151
0.115
420
1.933
0.193
3.
Rani
140
0.521
0.052
210
0.781
0.078
4.
Titi
100
0.371
0.037
140
0.511
0.051
5.
Ria
120
0.44
0.044
170
0.621
0.062
6.
lin
80
0.311
0.031
120
0.43
0.043
5.2
Pelatihan pada Model HMM Pada percobaan yang dilakukan terhadap enam kelompok pembagi lebar
frame dan overlap menunjukkan bahwa waktu proses pelatihan model HMM
semakin cepat apabila lebar frame semakin besar dan pada overlap yang keci!. Waktu proses pelatihan yang tercepat terjadi pada lebar Fame 40 ms dan overlap 25% (Tabel 13), yaitu 8.2 detik (untuk 6 pembicara). Waktu proses dipengaruhi oleh banyaknyaframe (vektor observasi) yang terbentuk dan jumlah iterasi (loop) re-estimasi Viterbi yang dikerjakan untuk mencapai kekonvergenan pelatihan
mode!. Kekonvergenan pelatihan model tercapai apabila telah ditemukan barisan state yang optimal untuk setiap barisan pelatihan.
Tabel13 Waktu proses pelatihan model HMM pada enam kelompok pembagi Lebar frame
Total waktu (det)
20
Overlap (%) 25
20
50
2690
44
50.8 48.3
30
25
1220
27
13.1
30
50
1790
39
30.1
25
910
23
8.2
50
1340
35
16.6
(ms)
40 40
..•.
Total frame
Total Loop
1830
68
..
Waktu proses pelatihan model HMM juga dapat diamati untuk setiap pembicara terhadap enam kelompok pembagi lebar frame dan overlap (Lampiran 2). Waktu proses tercepat terjadi pada pembicara ke-6 (lin). Adanya perbedaan waktu proses pelatihan model HMM terhadap tiap-tiap pembicara sangat
45
dipengaruhi oleh jumlah total framenya (vektor observasi) dan jumlah iterasi (loop) re-estimasi Viterbi yang dikerjakan. Pada gambar di dalam Lampiran 5
diperlihatkan grafik kecepatan kekonvergenan setiap pembicara untuk enam kelompok pembagi lebarframe dan overlap.
5.3
Pengujian Sistem Pada percobaan awal dilakukan terhadap data pelatihan dan pengujian
yang tidak ditambahkan noise. Seluruh proses di dalam sistem dilakukan dengan kondisi data tanpa ditambahkan noise. Namun, untuk mengetahui lebih jauh besamya pengaruh noise terhadap tingkat identifikasi sistem, maka perlu adanya percobaan lebih lanjut yang dilakukan secara terpisah, khususnya untuk mengetahui tingkat ketahanan sistem. Ada empat kondisi data yang akan tercipta apabila data pelatihan dan pengujian ditambahkan noise, yaitu: Kondisi 1: data pelatihan dan pengujian tidak ditambahkan noise 2
Kondisi 2: data pelatihan tidak ditambahkan noise dan data pengujian ditambahkan noise
3
Kondisi 3: data pelatihan ditambahkan noise dan data pengujian tidak ditambahkan noise
4
Kondisi 4: data pelatihan dan pengujian ditambahkan noise
Pengujian sistem yang dilakukan terhadap empat kondisi data tersebut menunjukkan bahwa tingkat identifikasi cukup tinggi (minimal 90%) terjadi pada data kondisi I dan kondisi 4 (Tabel 14). Sedangkan tingkat identifikasi cukup rendah (maksimal 36.7%) terjadi pada data kondisi 2 dan 3 (Tabel 14). Hal ini menunjukkan bahwa sistem sangat sensitif terhadap pengaruh noise. Sensitivitas yang rendah terhadap noise inilah yang menjadi kelemahan dari sistem yang sedang dikembangkan. Kondisi nyata yang ideal untuk dicapai adalah kondisi di mana data pelatihan dan pengujian yang minim (relatifbebas) noise. Untuk maksud tersebut, metode untuk mereduksi noise perlu diterapkan di dalam suatu sistem yang
46
berhubungan dengan suara agar sistern tersebut rnenjadi tahan (robustness) terhadap noise. Pada data kondisi 1, pengujian sistern yang telah dilakukan terhadap enarn kelornpok pernbagi lebar frame dan overlap rnenunjukkan bahwa tingkat identifikasi cenderung tinggi pada lebar/rame yang sernakin sernpit (TabeI14).
Tabe! 14 Hasil pengujian identifikasi pada ernpat kondisi data pelatihan dan pengujian Kondisi 3 ¥ :KQndisi4 a i'·Ktindi.sJ,1,.• ·.. Kondisi 21 Lebar iKf kt kt k T9 Overlap .9 W~ktu Waktu T9 Waktu T9 t Waktu frame '" '\ '« identi· identi· itlenti· (%) .identi: proses proses proses proses (ms) fikasi fikasi fikasi fikasi (det) (det) (det) (det) (%) (%) (%) (%) 20 25 100 25.936 26.7 15.222 16.7 15.302 100 14.822
20
50
100
22.121
36.7
22.112
16.7
22.271
96;7
22.542
30
25
1. 96......7
10.685
.
33.3
10.455
16.7
10.455
90
10.605
30
50
100
16.013
30
15.582
16.7
15.683
96.7
15.763
40
25
100
7.861
33.3
7.841
20
7.962
93.3
8.012
40
50
96.7
11.926
23.3
11.807
16.7
12.007
90
12.197
.'
..
Data pelatlhan dan penguJlan tldak dltambahkan nOise 1 Data pelatihan tidak ditambahkan noise dan data pengujian ditambahkan noise ¥ Data pelatihan ditambahkan noise dan data pengujian tidak ditambahkan noise aData pelatihan dan pengujian ditambahkan noise
Pengujian juga dilakukan terhadap kelornpok data pelatihan dan pengujian yang berbeda. Pengujian dengan cara ini dilakukan sernata-rnata untuk rnendapatkan estirnasi tingkat identifikasi sis tern secara urnurn. Pernbentukan kelornpok data yang berbeda diperoleh rnelalui rnetode 3-Jold cross-validation. Ada tiga kelornpok data yang dihasilkan rnelalui penggunaan rnetode tersebut, yaitu: •
Kelornpok data 1: data pelatihan berindeks 1,3,5,7,9, 11, 12, 13, 14, dan 15, sedangkan data pengujian berindeks 2, 4,6,8, dan 10
•
Kelornpok data 2: Data pelatihan berindeks 1 s.d. 10, sedangkan data pengujian berindeks 11, 12, 13, 14, dan 15
47
•
Kelompok data 3: Data pelatihan berindeks 2, 4, 6, 8, 10, 11, 12, 13, 14, dan 15, sedangkan data pengujian berindeks 1,3,5,7,9
Pengujian sistem yang dilakukan terhadap tiga kelompok data, enam kelompok pembagi lebar ji-ame dan data kondisi I (data pelatihan dan pengujian tidak ditambahkan noise) menunjukkan bahwa tingkat identifikasi secara umum (rata-rata) tertinggi terjadi pada lebar frame 30 ms dan 40 ms (Tabel 15), yaitu 98.9%. Waktu proses yang tercepat dengan tingkat identifikasi tertinggi terjadi pada lebarframe 40 ms dan overlap 25% (TabeIIS), yaitu 7.875 detik.
Tabel 15 HasH pengujian identifikasi pada tiga kelompok data berbeda di mana data pelatihan dan pengujian tidak ditambahlcan noise Kelompok Kelompok Kelompok Rata-rata data 11 data 2 ¥ data 3 a Lebar Overlap 19kt 19kt 19kt frame Waktu Waktu 19kt Waktu Waktu (%) identi· identi· identi· identi· (ms) proses proses proses proses fikasi fikasi (det) fikasi (det) fikasi (det) (det) (%)
(%)
(%)
(%)
20
25
100
25.936
100
15.633
93.3
14.351
97.8
18.640
20
50
100
22.121
100
23.353
93.3
21.701
97.8
22.392
30
25
96.7
10.685
100
11.016
100
10.284
98.9
10.662
30
50
100
16.013
96.7
16.574
100
15.532
98.9
16.040
40
25
100
7.861
96.7
7.912
100
7.851
98.9
7.875
40
50
96.7
11.926
100
12.017
100
11.817
98.9
11.920
..
1 Data pelatlhan benndeks 1, 3, 5, 7, 9, 11, 12, 13, 14, dan 15, sedangkan data penguJlan berindeks 2, 4, 6, 8, dan 10 ¥ Data pelatihan berindeks 1 s.d. 10, sedangkan data pengujian berindeks 11, 12, 13, 14, dan 15 a Data pelatihan berindeks 2, 4, 6, 8, 10, 11, 12, 13, 14, dan 15, sedangkan data pengujian berindeks 1, 3, 5, 7, 9
Pengujian sistem juga dilakukan terhadap tiga kelompok data, enam kelompok pembagi lebar frame dan data kondisi 4 (data pelatihan dan pengujian ditambahkan noise) menunjukkan bahwa tingkat identifikasi secara umum (ratarata) tertinggi terjadi pada lebar frame 20 ms dan overlap 50% (Tabel 16), yaitu 96.7%. Namum, waktu prosesnya merupakan waktu proses teriama (Tabel 16), yaitu 22.021 detik.
48
Pada Tabel 16 terlihat bahwa pengujian sistem gagal dilakukan terhadap lebar waktu 40 ms, overlap 25% dan kelompok data 3. Hal ini disebabkan oleh kegagalan sistem dalam melakukan pelatihan model, Idmsusnya pada pembicara lin (lihat Tabel 4) yang memiliki sinyal ucapan pendek (5500 sampel dari total 44100 sampel awal atau memiliki kepadatan ucapan hanya 12.5%). Kondisi ini juga tidak terlepas dari adanya pengaruh noise yang menyebabkan karakteristik sinyal ucapan sedikit berubah. Hal yang demikian tidak terjadi pada data pelatihan dan pengujian yang tidak ditambahkan noise (Tabel 15).
Tabel 16 Hasil pengujian identifikasi pada tiga kelompok data berbeda di mana data pelatihan dan pengujian ditambahkan noise Kelompok Keiompok Kelompok Rata·rata data 1 data 2 data 3 Lebar Overlap Tgkt Tgkt Tgkt Tgkl frame Waktu Waktu Waktu Waktu (%) identi· identi· identi· identi· (ms) proses proses , fikasi proses proses fikasi fikasi fikasi (det) (det) (del) (del) (%) (%) (%) (%) 20 25 100 25.936 93.3 15.072 86.7 15.181 93.3 15.025
20 '
50,
"100 •
22,121'
100 "21:471
93.3,
22.05
96.7
22.021
30
25
96.7
10.685
83.3
10.986
96.7
10.315
90.0
10.635
30
50
100
16.013
93.3
15.252
15.282
95.6
15.432
40
25
100
7.861
90
7.892
96.7 .
.
.
.
40
50
96.7
11.926
93.3
11.727
93.3
11.757
92.2
11.894
BAB 6 SIMPULAN DAN SARAN 6.1
Simp ulan Dari penelitian yang telah dilakukan, dapat disimpulkan bahwa: I
Hidden Markov Model (HMM) dapat digunakan sebagai metode
pencocokkan pola pada sistem identifikasi pembicara. Linear Predictive Coding (LPC) dapat digunakan sebagai metode ekstraksi ciri pada sistem
identifikasi pembicara. 2
Pada sistem identifikasi pembicara, model HMM dibangun untuk setiap pembicara. Pada penelitian ini, terdapat enam model HMM yang mewakili enam pembicara.
3
Tingkat identifikasi tertinggi dan waktu proses tercepat dari kondisi data pelatihan dan pengujian tidak ditambahkan noise diperoleh pada lebar ji-ame 40 ms dan overlap 25%, yaitu sebesar 98.9% dan 7.875 detik.
4
Penambahan noise dengan signal-to-noise ratio (SNR) sebesar 10 dB pada kelompok data pelatihan atau pengujian memberikan tingkat identifikasi cukup rendah (maksimal 36.7%). Sedangkan penambahan noise pada kedua kelompok tersebut memberikan tingkat identifikasi
cukup tinggi (minimal 90%). 5 Nilai ambang batas (Threshold) pada lebar frame 40 ms dan overlap 25% untuk setiap pembicara secara berturut-turut adalah 8.207E-44 (Mahyus), 8.55IE-69 (Aglls), 5.l85E-40 (Roni), 8.650E-26 (Titi), l.517E-27 (Ria), dan 1.279E-20 (lin).
50 6.2
Saran Penelitian ini masih memiliki beberapa keterbatasan, khususnya dalam
meningkatkan ketahanan (robustness) sistem terhadap faktor-faktor penyebab terjadinya variasi sinyal ucapan, seperti pengaruh noise, kecepatan pengucapan, dan intonasi. Oleh karenanya, saran-saran yang dapat diberikan untuk penelitian lebih lanjut, antara lain:
• Perlu adanya kajian secara teoritis dan teknis mengenai metode reduksi noise sehingga sistem yang akan dikembangkan menjadi lebih tahan (robustness) terhadap noise.
•
Melakukan penambahan jumlah pembicara untuk melihat kinerja sistem pada populasi yang cukup besar.
•
Melakukan penambahan jumlah sampel pengujian untuk memastikan bahwa tingkat identifikasi yang diperoleh sudah representatif.
51
DAFTAR PUSTAKA Agustini, K., 2006, Perbandingan Metode Transformasi Wavelet sebagai Praproses pada Sistem Identifikasi Pembicara, Tesis, Institut Pertanian Bogor, Indonesia. Bilmes, J.A.; 1999, Natural Statistical Models for Automatic Speech Recognition, Tec1mical Report, UC Berkeley, California. Buono, A., 2005, Matematika dan Statistika Komputasi, Catatan Kuliah, Institut Pertanian Bogor, Indonesia. Campbell, J.P., 1997, Speaker Recognition: A Tutorial, Proceedings of the IEEE, Vol. 85, No.9. Costello, C., 2004, Discrete-time Markov Chains, Lecture Notes 232, University of California, Santa Barbara, California. Cox, R.V. et aI., 2000, Speech and Language Processing for Next-Millennium Communications Services, Proceedings of the IEEE, Vol. 88, No.8. Dugad, R. dan Desai, U.B., 1996, A Tutorial on Hidden Markov Models, Technical Report No. SPANN-96.1, Indian Institute of Technology, Bombay, India. Fumi, S., 1997a, Recent Advances in Speaker Recognition, Pattern Recognition Letters 18, Elsevier Science. Furui, S., 1997b, Speaker Recognition, di dalam buku: Survey of the State of the Art in Human Language Technology, Edisi Web, Cambridge University Press and Giardini, www.lt-world.orgfHLT Survey/master.pdf, [19 Sept. 2005]. Gray, R.M., 1984, Vector Quantization, IEEE ASSP Magazine. Hamaker, J. dan Picone, J., 2003, Advances in Speech Recognition Using Sparse Bayesian Methods, IEEE Transactions on Speech and Audio Processing. Jain, A.K. et al., 2004, An Introduction to Biometric Recognition, IEEE Transactions on Circuits and Systems for Video Technology, V01.14, No.!. Kustiyo, A. , 2005, Model Neural Network dengan Inisialisasi Pembobot Awal Menggunakan Regresi Logistik Biner untuk Memprediksi Jenis Penyakit
52
Elythemato-squamous, Tesis, Institut Teknologi Sepuluh Nopember,
Surabaya. Lai, H.K, 2003, Speech Processing Workstation, Project Report, University of Auckland, New Zealand. Lendasse, A. et al., 2003, Model Selection with Cross-Validations and Bootstraps -
Application
to
Time
Series
Prediction
with
RBFN Models,
ICANN/ICONIP 2003, LNCS 2714, Springer-Verlag Berlin Heidelberg 2003. Nilsson, M. dan Ejnarsson M., 2002, Speech Recognition using Hidden Markov Model, Master Thesis, Blekinge Institute of Technology, Karlskrona,
Sweden. Peacocke, R.D. dan Grat; D.H., 1990, An Introduction to Speech and Speaker Recognition, IEEE Transactions on Computer, Volume 23, Issue 8. Proakis, J.G. dan Manolakis, D.G., 1997, Digital Signal Processing: Principles, Algorithms, and Applications, Edisi 3, Prentice-Hall, Inc., New Jersey. Rabiner, L.R., 1989, A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition, Proceedings of IEEE, Vol. 77, No.2. Rabiner, L.R. dan Juang B.H., 1993, Fundamentals of Speech Recognition, Prentice Hall, New Jersey, ISBN 0-13-015157-2. Roweis, S., 1998, Speech Processing Background, University of Toronto, http://citeseer.ist.psu.edu/roweis98speech.html, [25 April 2005]. Sirl, D., 2005, Markov Chains: An Introduction/Review, Workshop Paper, The University of Queensland, Australia. Tan, Z.H., 2005, Speech Communication, Lecture Notes, Aalborg University, Denmark, http://kom.aau.dk/-ztlcources/SpeechCommnnication/index.htm, [4 Juli 2005]. The MatbWorks, Inc., 2004, Signal Processing Blockset, User's Guide, Versi 6, Hal. 888, www.mathworks.com. [2 Maret 2006].
53
LAMPIRAN
54
Lampiran 1 Tabel Estimasi jumlah sampel dan lebar frame pada metode VAD (waktu rekam 2 dtk, total sampel 44100 buah, lebar frame 5 ms, jumlah sampel per frame 110 buah dan jumlah frame 401 buah)
1.
Inisial Pembicara Mahyus
2.
Agus
3.
Rani
No.
4.
Titi
File mahyus1.wav mahyus2.wav mahyus3.wav mahyus4.wav mahyus5.wav mahyus6.wav mahyus7.wav mahyus8.wav mahyus9.wav mahyus10.wav mahyusl1.wav mahyus12.wav mahyus13.wav mahyus14.wav mahvus15.wav agus1.wav agus2.wav agus3.wav agus4.wav agus5.wav agus6.wav agus7.wav agus8.wav agus9.wav agusl0.wav agusll.wav agus12.wav agus13.wav agus14.wav aaus15.wav roni1.wav roni2.wav roni3.wav roni4.wav roni5.wav roni6.wav roni7.wav roni8.wav roni9.wav roni10.wav roni11.wav roni12.wav roni13.wav roni14.wav roni15.wav titi1.wav titi2.wav titi3.wav titi4.wav titi5.wav titi6.wav titi7.wav
Jumlah frame 107 107 102 107 100 108 103 99 101 104 99 96 105 112 114 123 130 142 146 154 149 149 153 135 139 152 156 147 145 170
72 79
72 76 78 75 83 85 80 85 71 66 68 69 67 53 52 51 57 58 59 55
Kepadatan ucaDan 26.7% 26.7% 25.4% 26.7% 24.9% 26.9% 25.7% 24.7% 25.2% 25.9% 24.7% 23.9% 26.2% 27.9% 28.4% 30.7% 32.4% 35.4% 36.4% 38.4% 37.2% 37.2% 38.2% 33.7% 34.7% 37.9% 38.9% 36.7% 36.2% 42.4% 18.0% 19.7% 18.0% 19.0% 19.5% 18.7% 20.7% 21.2% 20.0% 21.2% 17.7% 16.5% 17.0% 17.2% 16.7% 13.2% 13.0% 12.7% 14.2% 14.5% 14.7% 13.7%
Posisi akhirVAD 21230 28050 28710 25520 28160 27390 27830 22330 21560 22220 18920 24640 29700 23100 27390 30250 28380 30580 28050 30800 30910 32230 31680 31460 30360 31570 30910 30470 30580 32340 17710 20350 19250 16830 18700 18700 18810 21010 20570 17160 16170 16610 15510 19360 19030 24750 21670 24860 24970 26180 24090 29150
Jumlah samp'el akhir 12540 12540 12540 12540 12540 12540 12540 12540 12540 12540 12540 12540 12540 12540 12540 18700 18700 18700 18700 18700 18700 18700 18700 18700 18700 i8700 18700 18700 18700 18700 9350 9350 9350 9350 9350 9350 9350 9350 9350 9350 9350 9350 9350 9350 9350 6600 6600 6600 6600 6600 6600 6600
55
Lampiran 1 Lanjutan Inisial Pembicara
No.
5.
Ria
6.
lin
File
Jumlah
titi8.wav titi9.wav lili10.wav titi11.wav titi12.wav titi13.wav titi14.wav titi15.wav ria1.wav ria2.wav ria3.wav ria4.wav ria5.wav ria6.wav ria7.wav ria8.wav ria9.wav ria10.wav ria11.wav ria12.wav ria13.wav ria14.wav ria15.wav iin1.wav iin2.wav iin3.wav iin4.wav iin5.wav iin6.wav iin7.wav iin8.wav iin9.wav iin10.wav iin11.wav iin12.wav iin13.wav iin14.wav iin15.wav
54 59 60 48 54 52 57 54 66 61 66 66 66 63 69 70 70 70 69 66 64 65 62 44 43 42 42 44 50 47 46 46 47 49 46 42 48 48
frame
Kepadalan ucapan 13.5% 14.7% 15.0% 12.0% 13.5% 13.0% 14.2% 13.5% 16.5% 15.2% 16.5% 16.5% 16.5% 15.7% 17.2% 17.5% 17.5% 17.5% 17.2% 16.5% 16.0% 16.2% 15.5% 11.0%
Posisi akhirVAD 30360 28050 29480 24420 26180 24530 27170 26290 21560 21780 16170 19140 16720 15950 17930 14520 18700 32010 19250 19580 20790 18480 22660 17600
10.7% 10.5% 10.5% 11.0%
17820
12.5% 11.7% 11.5% 11.5% 11.7% 12.2% 11.5%
10.5% 12.0% 12.0%
14300 14080 15180 18920
12980 16610 16280 17600
17930 15620 14960 18480 22770
Jumlah sam pel akhir 6600 6600 6600 6600 6600 6600 6600 6600 7700 7700 7700 7700 7700 7700 7700 7700 7700 7700 7700 7700 7700 7700 7700
5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500
5500 5500 5500 5500
56 Lampiran 2 Tabel waktu proses pelatihan dan jumlah iterasi re-estimasi Viterbi untuk setiap pembicara terhadap enam kelompok pembagi
Tabel Kekonvergenan reestimasi Viterbi pada lebarframe 20 ms dan overlap 25% Nama
Jlh frame
Mahyus
380
16
7 8 9 10 11 12 13 14 15 16 99.2 99.5 99.2 99.2 97.4 98.2 98.7 99.5 99.7 100
Agus
570
19
98.8 98.9 99.5 99.5 98.6 98.9 99.1 98.8 99.5 99.6 99.8 99.8 100
Roni
280
10
99.3 99.6 99.6 100
5.6
Titi
200
11
95.5 98.5 97.0 99.0 100
4.4
Ria
230
8
99.6 100
3.7
lin
170
4
Jlh loop
Tingkat kekonvergenan (dalam %) 17
18
19
-
Total waktu (det) 12.4
23.3
1.4
Tabel Kekonvergenan reestimasi Viterbi pada lebarframe 20 ms dan overlap 50% Jlh Jlh Nama frame loop Mahyus
560
13
Total waktu 1 2 3 4 5 6 7 8 9 10 11 12 13 (det) 77.9 96.6 97.0 98.0 99.1 99.3 99.5 99.3 98.6 97.0 98.0 99.3 100 15.1
Agus
840
10
91.8 97.7 98.5 99.2 99.3 99.4 99.4 99.8 99.9 100
Roni
420
4
89.3 99.0 99.0 100
3.5
Titi
290
9
90.0 93.8 86.2 89.0 95.5 97.2 96.6 99.7 100
5.4
Ria
340
4
28.2 78.8 98.8 100
3.2
lin
240
4
79.6 99.2 99.6 100
2.2
Tingkat kekonvergenan (dalam %)
18.9
Tabel Kekonvergenan reestimasi Viterbi pada lebarframe 30 ms dan overlap 25% Total waktu (det)
Mahyus
250
7
1 69.2
Tingkat kekonvergenan (dalam %) 5 6 2 3 4 98.8 99.2 99.2 95.2 98.8
Agus
380
5
93.2
98.9
98.7
99.2
Roni
190
4
91.6
99.5
99.5
100
Titi
130
7
90.8
93.1
90.0
93.1
Ria
160
2
39.4
100
0.8
lin
110
2
78.2
100
0.5
Nama
Jlh Jlh frame loop
7 100
4.1 4.0
100
1.8 89.2
98.5
100
1.9
57
Lampiran 2 Lanjutan
Tabel Kekonvergenan reestimasi Viterbi pada lebarframe 30 ms dan overlap 50% Jlh Jlh TinQkat kekonveroenan (dalam %) frame loop 1 2 3 4 5 6 7 8 Mahyus 370 7 70.3 95.1 97.6 98.6 99.5 99.2 100 Nama
9
10
Total waktu (det)
6.0
Agus
560
10
Rani
280
6
90.0 98.9 99.6 99.6 99.6 100
3.8
Titi
190
7
88.9 84.7 79.5 90.0 98.4 98.9 100
3.1
Ria
230
7
83.9 97.8 98.3 99.6 97.8 99.6 100
3.7
lin
160
2
86.3 100
0.8
92.0 97.1 99.3 98.9 99.1 99.5 99.6 99.8 99.8 100
12.7
Tabel Kekonvergenan reestimasi Viterbi pada lebar ji-ame 40 ms dan overlap 25% Jlh frame
Nama
Tingkat kekonvergenan (dalam %)
Jlh loop
1
2
3
4
5
100
Total waktu (det) 2.2
Mahyus
190
5
88.4
96.8
99.5
99.5
Agus
280
4
93.9
98.6
99.3
100
Rani
140
2
90
100
Titi
100
5
90
98
99
99
100
1.0
Ria
120
5
80.8
96.7
95.8
99.2
100
1.3
lin
80
2
43.8
100
2.6 0.7
0.4
Tabel Kekonvergenan reestimasi Viterbi pada lebarframe 40 ms dan overlap 50% Tingkat kekonvergenan (dalam %)
Nama
Jlh frame
Jlh loop
1
2
3
4
5
6
7
Mahyus
280
7
84.6
97.9
98.2
98.6
98.9
99.6
100
Agus
420
6
93.1
99.0
98.6
99.3
99.3
100
Rani
210
4
92.4
99.5
99.5
100
Titi
140
9
78.6
85.7
90.7
88.6
Ria
170
4
46.5
81.2
97.6
100
lin
120
5
83.3
99.2
99.2
98.3
8
9
Total waktu (det) 4.4
5.2 1.8
97.9
99.3
98.6
97.9
100
2.6 1.4
100
1.2
58 Lampiran 3 Tabel nilai ambang batas (Threshold) pada enam kelompok pembagi lebar Fame dan overlap Kelompok pembagi frame
Pembicara Mahyus
Agus
Roni
Titi
Ria
lin
20 ms & 25%
2.495E-73 1.138E-139 1.331E-77 5.819E-64 1.498E-59 3.335E-47
20 ms & 50%
5.888E-126 1.706E-215 5.238E-121 6.204E-86 4.760E-125 4.668E-69
30 ms &25%
1.874E-91 5.858E-99 1.655E-50 6.932E-38 3.783E-53 3.207E-26
30 ms &50%
4.998E-98 2.403E-149 1.170E-75 9.689E-59 1.074E-56 3.257E-46
40 ms &25%
8.207E-44 8.551E-69 5.185E-40 8.650E-26 1.517E-27 1.279E-20
40 ms & 50%
3.838E-65 1.157E-111 3.278E-55 2.373E-35 5.656E-56 9.468E-31
59 Lampiran 4 Algoritma Viterbi (Rabiner 1989) Algoritma ini ingin menemnkan barisan state yang optimum, Q;{ ql, q2, q3, "', qT} jika diberikan barisan observasi 0;{01, O2 , 0 3, .. " OT}, Pada algoritma ini didefinisikan peubah bam, o,(i), sebagai skor terbaik (peluang tertinggi) yang dihitung pada path dari state periode pertama hingga state Si pada periode t. o,(i);
max
P(q"q" .. "q, =;,01,02, .. ,,0,1-')
Oleh karena itu, nilai tersebut secara induktif dapat dimmuskan sebagai :
0+1U);[n;ax
o(i)aij }b/Ot+I)
Prosedur lengkap algoritma Viterbi adalah : Inisialisasi, untuk lS:iS:N: 0, (i) = ""b,(O,) V'1(i) =0
2
Proses rekursi : untuk 2s:tS:T dan 1:jS:N
IfIi 0) = argnax [0-1 Ci)aij1
untuk 2s:tS:T dan 1:jS:N
J§$N
3
Terminasi:
p' = max 8rCi) dan q~ =argnax 8rCi) Ig$N
4
15i$N
Backtracking: untuk t;T-l, T-2, .. " 1
60 Lampiran 5 Gambar kekonvergenan setiap pembicara untuk enam kelompok pembagi lebar frame dan overlap
Grafik l(ekorrflllQonan Reeslimasi Vilerlli dangan lebar Frame'" 2Oms, ~rl~p '" 25%
100
" " "
· '"
~ "
£
'"
- I f - Mahyu$ fIG)
-+-AglIs(19) _____ Roni (10)
"
........"..... Titi (11) -Ria@)
" I
~~~ 2
7-__
__
OOOL
~__~a __~10 __~12__~=='~~lin:~=):;==~ H 16 18 20 Jumlah perulangan
Gambar Kekonvergenan reestimasi Viterbi pada lebar frame 20 ms, overlap 25%
•• ~ c ••0
Ii:
70 OJ
.,
___ Mahyu$ (1'3)
--t- Agus (10) --..- Roni (4)
40
-+-1(11(9)
_ _ Ril(4) 30
"'0
--t-lin(4)
,
,
,
10
12
14
Jumlah perulangan
Gambar Kekonvergenan reestimasi Viterbi pada lebarframe 20 ms, overlap 50%
61
Lampiran 5 Lanjutan
- - - M~hy\J~ (7) -+-AoIJ~(5)
- + - ROlli (4) ---T~I(7)
-Rla(2)
--+-- ~1l(2)
~1~----~------~3------7-----~-=====~,======~ Jumlah pelUlangan
Gambar Kekonvergenan reestimasi Viterbi pada lebarframe 30 ms, overlap 25%
____
ID
M~hyus
(7)
-+- AgU$ (10) -"-Ronl~
----- Till (7)
75
--Ri~(7)
--+-lin(2)
7 I
5
,
a
10
Jumlah perulangan
Gambar Kekonvergenan reestimasi Viterbi pada lebarframe 30 ms, overlap 50%
62 Lampiran 5 Lanjutan
tOO
Gf~fik KekilJ'Mlrgen21'1 Reestimasl Vrterbl deoqan Lebar frame '" .(Om~. o.-erlap '" 25%
___ MahYI,IS(5)
-t-- AgU$ (4} -+-Roni(2) ~Trtl(S)
_ R i a (5) -t--tin(2)
,o,·L----------2~--------_73--------~~========~ Jumlah p6fU!angan
Gambar Kekonvergenan reestimasi Viterbi pada lebar frame 40 ms, overlap 25%
___
M~hylJ$
(7)
---+- Agus (6) ___
Roni(~)
~Tili@)
50
-Ria(") --+-~n(5)
~'~--~2-----73-----'~--~5C----7'---==7;:==~O~==:J9 Jumlah perulangan
Gambar Kekonvergenan reestimasi Viterbi pada lebar frame 40 ms, overlap 50%
63 Lampiran 6 Gambar Tampilan aplikasi identifikasi pembicara
bunyf
II
,
"',
", 'Cl!~h:,
,'MahYUsJhsan G65j030034
I
; ;'~; ';~:,:;i: ':;:<~,: : """""'Y""i
:<,<, ,<,,'~ ,:,-"L:t/{(>,>"
,",,,,,',, j
","
p;,;>;:,~,
,,'
j/, ;
SEKOLAli PASCASARJANA
Gambar tampilanjorm utama
Awr ke
I
I
Oefault
Simpan
I
I
Batal
I
Gambar tampilanjorm konfigurasi sistem
Tunggu"" hingga hasH dilampHkan!!
Gambar tampilanjorm pesan menunggu proses selesai
64 Lampiran 6 Lanjutan
I
Ol<e
I
Gambar tampilanjorm hasil pelatihan
Oke
Gambar tampilanjorm hasil identifikasi pembicara
PenguJlan pada lebarframe ;roms dan overlap ~O%
Gambar tampilanjorm hasil pengujian