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