Ekstraksi Ciri Perbandingan metode voting feature intervals dengan jaringan saraf tiruan dalam mengklasifikasi genre musik
Bagaimana vektor ciri y dibentuk adalah penting bagi akurasi klasifikasi. Vektor ciri yang dibentuk secara efektif memudahkan
pengklasifikasian dan juga memudahkan perancangan pengklasifikasi. Oleh karena itu, ciri apa yang akan diekstrak tergantung dari konteks.
Adapun tujuan dari ekstraksi ciri feature extraction adalah untuk mengurangi jumlah data yang sebenarnya dengan melakukan pengukuran
terhadap properti atau ciri tertentu yang membedakan pola masukan input yang satu dengan yang lainnya Duda et al. 2001.
Dalam sistem klasifikasi musik, ciri diekstrak oleh algoritma pemproses sinyal untuk mendapatkan informasi diskriminatif sebanyak
mungkin dari tahap pengamatan. Ciri yang sering dipakai dalam penelitian sitem klasifikasi musik seperti pada penelitian Costa et al. 2004,
Tzanetakis et al. 2002, dan Norowi et al. 2005 adalah Mel-Frequency Cepstral Coefficents MFCC.
Ciri MFCC
menghitung koefisien
cepstral dengan
mempertimbangkan persepsi sistem pendengaran manusia terhadap frekuensi suara.
Gambar 4. Ilustrasi dari perhitungan MFCC
Diagram alir yang terlihat pada Gambar 4 mengilustrasikan langkah- langkah dalam menghitung MFCC dari sinyal audio mentah menjadi ciri
MFCC. Sinyal audio dibaca frame demi frame, dan dilakukan windowing untuk setiap frame untuk berikutnya dilakukan transformasi Fourier. Dari
nilai hasil transformasi Foruier ini selanjutnya dihitung spektrum mel menggunakan sejumlah filter yang dibentuk sedemikian sehingga jarak
antar pusat filter adalah konstan pada ruang frekuensi mel. Dari literatur yang ada, skala mel ini dibentuk untuk mengikuti persepsi sistem
Hamming Window
Dicsrete Fourier
Transform Mel-
Frequency Wrapping
Dicsrete Cosine
Transform Sinyal
Ciri MFCC
pendengaran manusia yang bersifat linear untuk frekuensi rendah dan logaritmik untuk frekuensi tinggi, dengan batas pada nilai frekuensi akustik
sebesar 1000 Hz. Proses ini dikenal dengan nama Mel-Frequency Wrapping. Koefisien MFCC merupakan hasil transformasi kosinus dari spektrum mel
tersebut, dan dipilih K koefisien. Transformasi kosinus berfungsi untuk mengembalikan domain, dari frekuensi ke domain waktu Buono 2009.
Setelah menerapkan window Hamming pada frame, maka langkah berikutnya untuk menghitung MFCC adalah sebagai berikut :
a. Discrete Fourier Transform DFT DFT merupakan analisis sinyal suara yang berkaitan dengan sinyal
periodik-diskret, yaitu sinyal diskret yang dapat diperlebar tanpa batas ke kiri dan ke kanan, dengan pola yang berulang.
Pada analisis sinyal digital, dilakukan sampling sinyal sebanyak N. Anggap bahwa sampel ini sebagai satu periode dan dapat diduplikasi terus-
menerus ke kiri dan ke kanan, sehingga dapat dianalisis dengan menggunakan DFT. DFT mentransformasikan N titik sinyal sebagai input
menjadi N2+1 titik sinyal output, seperti yang diilustrasikan pada Gambar 5.
Gambar 5. Ilustrasi transformasi DFT Buono 2009
Time Domain Frequency Domain
N-1 N sampel
Dari x[0] s.d. x[N-1] Decomposition
Analysis Forward DFT
DFT Re X[ ]
0 N2 N2+1 sampel
Cosine Wave amplitudes Dari Re X[0] s.d. Re X[N2]
x[ ]
Im X[ ] 0 N2
N2+1 sampel Sine Wave amplitudes
Dari Im X[0] s.d. Im X[N2]
Secara bersama dinotasikan X[ ] Synthesis
Inverse DFT
Notasi untuk domain frekuensi adalah Re X[k] dan Im X[k] untuk k
[0,N2] atau Re X[f] dan Im X[f] untuk f=kN atau f [0, 0,5]. Hal ini
dikarenakan sinyal diskret hanya mengandung frekuensi antara 0 dan 0,5 dari sampling rate. Atau bisa juga Re X[
] dan Im X[] untuk
=2πkN [0, π]. Oleh karena itu, gelombang kosinus pada domain
frekuensi tersebut bisa dituliskan sebagai berikut : c[n] = cos2πknN = cos2πfn = cosn
9 Fungsi basis basis function dalam DFT adalah gelombang sinus dan
kosinus dengan amplitudo satu. Fungsi basis ini dituliskan dengan rumus sebagai berikut :
c
k
[i] = cos2πkiN dan s
k
[i] = s in2πkiN
10 untuk i = 0, 1, 2, ..., N-1, dan k = 0, 1, 2, ..., N2 dalam hal ini k adalah
banyaknya gelombnag pada N sampel. Sebagai contoh untuk 32 titik sampel, DFT direpresentasikan dengan basis gelombang sinus dan kosinus
masing-masing sebanyak 17 buah, yaitu untuk k = 0, 1, 2, ..., 16. Dalam hal ini sinyal dalam domain waktu dapat dirumuskan sebagai penjumlahan
terboboti dari fungsi basis dengan formula : [ ] ∑
̅ [ ] ⁄
⁄
∑ ̅ [ ]
⁄
⁄
11 dengan i = 0, 1, 2, ..., N-1 yang disebut persamaan sintesa. Sinyal sampel
sebanyak N titik dibentuk oleh N2+1 gelombang kosinus dan N2+1 gelombang sinus dengan amplitudo untuk kosinus dan sinus masing-masing
adalah array ̅[ ] dan ̅[ ], yang dalam hal ini :
̅[ ]
[ ] ⁄
dan ̅ [ ]
[ ] ⁄
12 Sedangkan untuk k = 0 dan k = N2, bagian real adalah :
̅[ ]
[ ]
dan ̅[
⁄ ]
[ ⁄ ]
13 Nilai-nilai DFT untuk k = 0, 1, 2, ..., N2 dihitung dari sinyal input dengan
rumus sebagai berikut : [ ] ∑
[ ] ⁄
14 [ ] ∑
[ ] ⁄
15
Yang disebut sebagai persamaan analisis. Ada kalanya array dalam domain frekuensi direpresentasikan dengan koordinat polar. Dalam
koordinat polar, pasangan [ ] dan [ ] digantikan oleh pasangan
magnitudo, Mag [ ], dan fase X[k].
Gambar 6. Ilustrasi fase X[k]
Berdasarkan ilustrasi pada Gambar 6, maka domain frekuensi dapat dirumuskan sebagai berikut :
Mag X[k] = Re X[k]
2
+ Im X[k]
2 12
dalam amplitudo Fase X[k] = arctan
[ ] [ ]
dalam radian Juga sebaliknya :
Re X[k] = Mag X[k] cosFase X[k] Im X[k] = Mag X[k] sinFase X[k]
Oleh karena itu, sinyal input dalam domain waktu dapat ditransformasikan menjadi domain frekuensi melalui analisis DFT, baik
dalam bentuk komponen real dan imajiner, maupun dalam bentuk koordinat polar magnitudo dan fase tanpa mengubah informasi yang terkandung
dalam sinyal. Secara umum ada tiga cara untuk menghitung DFT, yaitu mealui persamaan simultan, korelasi dan algoritma FFT. Dengan algoritma
FFT, kompleksitas menjadi rendah dari n
2
menjadi nlog
2
n. b.
Mel-Frequency Wrapping dan Transformasi Kosinus Untuk proses wrapping, diperlukan beberapa filter yang saling overlap
dalam domain frekuensi. Filter yang digunakan adalah berbentuk segitiga dengan tinggi satu dan rentang filter segitiga tersebut ditentukan
berdasarkan hasil studi psikologi mengenai persepsi manusia dalam menerima frekuensi bunyi.
B
A M
θ A cos x + B sin x = M cox x+
θ M = A
2
+B
2 12
Θ = arctan BA A = M cos
θ dan B = M sin θ
Dari studi psikologi, telinga manusia mempunyai persepsi terhadap frekuensi suara secara tidak linear pada frekuensi di atas 1000 Hz. Ukuran
persepsi ini dinyatakan dalam skala mel melody. Hubungan skala mel
dengan frekuensi yang dirumuskan oleh Nilsson dan Ejnarsson 2002 adalah sebagai berikut :
{ 16
Dan diilustrasikan seperti pada Gambar 7. Dari formula di atas, maka nilai frekuensi F
Hz
sebagai fungsi dari skala mel adalah : 17
Gambar 7. Grafik hubungan frekuensi dengan skala mel
Terlihat bahwa untuk frekuensi rendah, filter yang digunakan menggunakan skala linear, sehingga lebarnya konstan. Sedangkan untuk
frekuensi tinggi 1000 Hz, filter dibentuk dengan skala logaritma. Sesuai dengan perkembangannya, teknik MFCC mengalami beberapa
variasi terutama dalam bentuk filter dan jumlahnya. Bentuk filter mengalami perubahan dalam hal tinggi, sedangkan bentuk yang digunakan
500 1000
1500 2000
2500
1000 2000
3000 4000
5000
S k
al a
M e
l
Frekuensi Akustik Hz
linear
⬚
tetap segitiga dengan jumlah 20, 24 atau 40. Gambar 8 menyajikan contoh filter yang diperkenalkan oleh Davis dan Mermelstein pada tahun 1980.
Berikut akan diuraikan tahapan pembentukan filter yang pertama kali diperkenalkan oleh Davis dan Mermelstein. Pada penjelasan ini dimisalkan
frekuensi suara yang akan dicakup adalah pada rentang 0 hingga 5000 Hz. Secara umum ada tiga tahapan yaitu :
1 Gambarkan fungsi F
mel
mulai frekuensi terendah hingga F
Hz
= 5000 Hz dengan menggunakan persamaan 16, dan tentukan nilai mel untuk
frekuensi akustik 5000 Hz misal M2 dan nilai mel untuk frekuensi akustik 1000 Hz misal M1.
2 Sumbu mel dari 0 hingga M1 dan M1 ke M2 disekat masing-masing menjadi M2 sekatan yang sama lebarnya.
3 Dari setiap batas sekatan ditarik garis ke kurva fungsi dan diproyeksikan ke sumbu F
Hz
sehingga diperoleh titik tengah filter pada sumbu F
Hz
.
Gambar 8. Filter yang diperkenalkan oleh Davis dan Mermelstein
Algoritma detail untuk membentuk M filter pada teknik MFCC yang disarankan oleh Davis dan Mermelstein adalah sebagai berikut :
a Pilih jumlah filter yang akan dibuat M b Pilih frekuensi terbesar f
high
. Dari nilai ini, maka nilai tertinggi dari adalah :
A mp
li tu
d o
Frekuensi
c Pusat filter ke i adalah f
i
: c.1.
untuk i = 1, 2, 3, ..., M2 c.2. untuk i = M2, M2+1, ..., M, maka f
i
dihitung dengan prosedur berikut :
1. skala mel disekat dengan lebar yang sama, yaitu sebesar ,
dengan :
Dari point b, maka nilai dapat ditulis sebagai :
2. nilai mel untuk pusat filter ke i adalah :
3. pusat dari filter ke i adalah :
⁄
Dari M filter yang sudah dibentuk, maka dilakukan wrapping terhadap sinyal dalam domain frekuensi dan menghasilkan satu komponen untuk
setiap filter dengan formula sebagai berikut : ∑
| | 18
Dalam hal ini i = 1, 2, 3, ..., M M adalah jumlah filter segitiga dan adalah nilai filter segitga ke i untuk frekuensi akustik sebesar k. Nilai
koefisien MFCC ke j akhirnya diperoleh menggunakan transformasi kosinus dengan formula sebagai berikut :
∑ 19
dengan j = 1, 2, 3, ..., K, K adalah jumlah koefisien MFCC yang diinginkan dan M adalah jumlah filter. Gambar 9 memberikan ilustrasi ekstraksi ciri
menggunakan teknik MFCC dari suatu sinyal audio.
dibangun pada setiap dimensi feature pada tahap pembelajaran dan interval- interval berkoresponden pada setiap feature memberikan suara vote untuk
setiap kelas pada tahap klasifikasi algoritma VFI Demiroz 1997. Algoritma VFI telah dikembangkan menjadi lima versi, yaitu VFI1, VFI2,
VFI3, VFI4, dan VFI5. Pada penelitian ini akan digunakan algoritma yang terakhir yaitu VFI5.
Algoritma VFI5 adalah versi terakhir dari algoritma VFI yang menggeneralisasi pembentukan point intervals pada seluruh end points.
Algoritma VFI5 membentuk point interval dari setiap end point yang berbeda dan range interval antara sepasang end point yang berbeda
mengecualikan end points. Algoritma pembelajaran dari VFI5 dapat dilihat pada Gambar 10.
Gambar 10. Tahap pembelajaran pada algoritma VFI5 Demiroz 1997
Interval-interval beserta kelas yang diperoleh dari contoh dataset pembelajaran pada Gambar 11 dapat dilihat pada Gambar 12. Batas bawah
dari semua interval adalah point intervals dan terdapat range intervals antara batas bawah tersebut meniadakan batas bawah.
trainTrainingSet: begin
for each feature f for each class c
EndPoints[f] = EndPoints[f]
find_end_pointsTrainingSet,f,c; sortEndPoints[f];
if f is linear for each end point p in EndPoints[f]
form a point interval from end point p form a range interval between p
and the next endpoint ≠ p else f is nominal
each distinct point in EndPoints[f] forms a point interval for each interval i on feature dimension f
for each class c interval_class_count[f,i,c] = 0
count_instancesf, TrainingSet; for each interval i on feature dimension f
for each class c
interval_class_vote[f,i,c] =
_� _� [ �] � _� [�]
normalize interval_class_vote[f, i, c]; such that ∑
c
interval_class_vote[f, i, c] = 1
interval i
26
dengan batas bawah 6 dan dimensi feature f
2
. Hal ini dapat dilihat pada Gambar 13. Karena terdapat point intervals dimana t
1
= 5 dan t
2
= 6 keduanya terletak, vote feature individu diambil dari point intervals yang berkoresponden.
Gambar 13. Contoh pengklsifikasian pada algoritma VFI5 dengan contoh pengujian t=5,6
Vote point interval i
16
dari feature f
1
dimana t
1
= 5 terletak sama dengan interval_class_vote[f
1
, i
16
, A] = 0 dan interval_class_vote[f
1
, i
16
, B] = 1 untuk kelas A dan juga kelas B. Sehingga, vektor vote individu f
1
adalah v
1
= 0;1. Jika f
1
diberikan kesempatan untuk memprediksi sendirian, maka ia akan memprediksi kelas B dengan pasti karena B menerima seluruh
vote feature f
1
dan kelas A tidak mendapatkan vote. Pada dimensi feature f
2
, point interval i
26
dimana t
2
= 6 terletak memiliki vote yang sama dengan interval_class_vote[f
1
, i
26
, A] = 0,57 untuk kelas A dan vote yang sama dengan interval_class_vote[f
1
, i
26
, B] = 0,43 untuk kelas B. Sehingga vektor vote individu f
2
adalah v
2
= 0,57;0,43. Jika f
2
diberikan kesempatan untuk memprediksi, maka ia akan memprediksi kelas A.
Pada tahap akhir, vote individu dari kedia feature dijumlahkan dan jumlah vektor vote v = 0,57;1,43. Algoritma VFI5 memberikan vote 0,57
untuk kelas A dan 1,43 untuk kelas B, sehingga kelas B dengan nilai vote tertinggi diprediksikan sebagai kelas dari contoh pengujian.