Pemodelan Support Vector Machine untuk Pengenalan Chord pada Alat Musik Gitar Menggunakan Metode MFCC sebagai Ekstraksi Ciri
PEMODELAN SUPPORT VECTOR MACHINE UNTUK PENGENALAN
CHORD PADA ALAT MUSIK GITAR MENGGUNAKAN METODE
MFCC SEBAGAI EKSTRAKSI CIRI
WIDO ARYO ANDHIKA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Pemodelan Support
Vector Machine untuk Pengenalan Chord pada Alat Musik Gitar Menggunakan
Metode MFCC sebagai Ekstraksi Ciri ialah benar karya saya dengan arahan dari
komisi pembimbing dan belum diajukan dalam bentuk apa pun 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 skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, April 2013
Wido aryo Andhika
NIM G64080113
ABSTRAK
WIDO ARYO ANDHIKA. Pemodelan Support Vector Machine untuk
Pengenalan Chord pada Alat Musik Gitar Menggunakan Metode MFCC sebagai
Ekstraksi Ciri. Dibimbing oleh AGUS BUONO.
Berbagai metode ekstraksi ciri dan metode klasifikasi telah banyak
dikembangkan oleh para peneliti saat ini. Penerapan metode ekstraksi ciri MFCC
dan metode klasifikasi SVM akan digunakan pada penelitian ini untuk
mengidentifikasi chord pada alat musik gitar. Langkah pertama ialah
mengekstraksi ciri dari chord yang sudah direkam. Data chord yang digunakan
sebanyak 24 chord, dengan komposisi 75% untuk data latih dan 25% untuk data
uji. Penelitian ini menggunakan SVM dengan tiga tipe kernel ialah linear,
polinomial, dan RBF. Setiap kernel mempunyai parameter-parameter yang
berbeda. Parameter yang digunakan ialah parameter terbaik yang dihasilkan dari
proses cross-validation. Hasil akhir menunjukkan bahwa kernel RBF dan
polinomial mempunyai akurasi tertinggi yang sama yaitu 93.33%.
Kata kunci: chord, MFCC, support vector machine
ABSTRACT
WIDO ARYO ANDHIKA. Support Vector Machine Modeling for Identification
of Guitar Chord using MFCC as Feature Extraction. Supervised by AGUS
BUONO.
Various methods of feature extraction and classification methods have been
developed by researchers. Application of MFCC feature extraction methods and
SVM classification methods will be used in this research to identify the chord on
the guitar instrument. The first step is extracting the characteristics of recorded
chords. As many as 24 chords were used, with a composition of 75% for training
data and 25% for the test data. This research uses SVM with three kernel types:
linear, polynomial, and RBF. Each kernel has different parameters. The
parameters used are the best parameter resulted from the cross-validation process.
The final result showed that the RBF kernel and polynomial has the same highest
accuracy of 93.33%.
Keywords: chord, MFCC, support vector machine
PEMODELAN SUPPORT VECTOR MACHINE UNTUK PENGENALAN
CHORD PADA ALAT MUSIK GITAR MENGGUNAKAN METODE
MFCC SEBAGAI EKSTRAKSI CIRI
WIDO ARYO ANDHIKA
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Ilmu Komputer
pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013
Judul Skripsi : Pemodelan Support Vector Machine untuk Pengenalan Chord pada
Alat Musik Gitar Menggunakan Metode MFCC sebagai Ekstraksi
Ciri
Nama
: Wido Aryo Andhika
NIM
: G64080113
Disetujui oleh
Dr Ir Agus Buono, MSi MKom
Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom
Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan Juni 2011 ini ialah
pengenalan suara, dengan judul Pemodelan SVM untuk Pengenalan Chord pada
Alat Musik Gitar Menggunakan Metode MFCC sebagai Ekstraksi Ciri.
Penyelesaian penelitian ini tidak luput dari dukungan dan bantuan berbagai pihak.
Oleh karena itu, penulis ingin mengucapkan terima kasih sebesar-besarnya
kepada:
1 Kedua orang tua tercinta Ayahanda M. Djamil dan Ibunda Tien Supriatin, adik
penulis yang bernama Restu Bayu Dwi Putri, dan Ramadhan Tri Gumilar dan
segenap keluarga besar penulis atas do’a, dukungan dan semangat yang tidak
pernah berhenti diberikan selama ini sehingga penulis dapat menyelesaikan
studi di Departemen Ilmu Komputer IPB.
2 Bapak Dr. Ir. Agus Buono M.Si M.Kom selaku dosen pembimbing. Bapak
Mushthofa S.Kom,. M.Sc. dan Ibu Karlisa Priandana S.T., M.Eng. selaku
dosen penguji, atas waktu, ilmu, saran, nasihat, dan masukan yang diberikan.
3 Teman-teman penulis di Departemen Ilmu Komputer khususnya Putri Dewi
Purnama Sari, Abdul Halim, Nanda Ichsan P, Ahmad Bagus D, Alif
Kurniawan, Retno Larasati, Isnan Mulia, Alfa Nugraha P, Rizki Utama P
Chandra Wangsa, Umbara Paskindra N, Yayan Fitriyan, Hadi Septian Guna
Putra, serta teman-teman lain yang tidak dapat penulis sebutkan satu per satu
atas bantuan, motivasi, serta semangat kepada penulis.
4 Departemen Ilmu Komputer, Bapak/Ibu Dosen dan Tenaga Kependidikan yang
telah begitu banyak membantu baik selama pelaksanaan penelitian ini maupun
sebelumnya.
Kepada semua pihak lainnya yang telah memberikan kontribusi yang besar selama
pengerjaan penelitian ini yang tidak dapat disebutkan satu per satu, penulis
ucapkan terima kasih banyak. Segala kesempurnaan hanya milik Allah Subhanahu
wata’ala. Semoga hasil penelitian ini dapat bermanfaat, Amin.
Bogor, April 2013
Wido Aryo Andhika
DAFTAR ISI
DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
TINJAUAN PUSTAKA
2
Nada dan Chord
2
Sinyal Analog dan Sinyal Digital
4
Ekstraksi Ciri MFCC
5
Support Vector Machine (SVM)
8
METODE
10
Pengambilan Data
10
Preprocessing
10
Pemodelan SVM (Support Vector Machine)
10
Pengujian Support Vector Machine
11
Lingkungan Pengembangan
11
HASIL DAN PEMBAHASAN
12
SIMPULAN DAN SARAN
15
Simpulan
15
Saran
15
DAFTAR PUSTAKA
16
LAMPIRAN
18
RIWAYAT HIDUP
21
DAFTAR TABEL
1 Jenis window
2 Daftar chord
3 Tingkat akurasi dari ketiga model
6
11
14
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
12
13
Notasi not pada fret gitar
Diagram nada penyusun chord
Konversi sinyal analog menjadi sinyal digital
Alur proses MFCC
Frame blocking
Windowing
Perubahan dari FFT ke cepstrum
Kasus data linear
Transformasi dari vektor input ke feature space
Tahapan metode
Hasil penggabungan dari 40 vektor
Kumpulan vektor ciri data
Grafik tingkat akurasi
3
3
4
5
5
6
7
8
9
10
12
13
14
DAFTAR LAMPIRAN
1 Matriks konfusi kernel linear
2 Matriks konfusi kernel polinomial
3 Matriks konfusi kernel RBF
18
19
20
PENDAHULUAN
Latar Belakang
Dalam ilmu pengetahuan dan teknologi khususnya bidang komunikasi,
pengolahan sinyal memegang peranan yang penting. Penelitian yang intensif
dalam bidang pengolahan sinyal menyebabkan teknologi komunikasi berkembang
dengan pesat. Salah satunya ialah pengenalan suara. Dalam pengenalan suara,
tahapan yang harus dilalui ialah pemrosesan suara. Pemrosesan sinyal suara
melibatkan 2 jenis sinyal, yaitu sinyal analog dan digital. Suara manusia sendiri
merupakan sinyal analog yang bersifat kontinu, sedangkan pemrosesan sinyal
dalam komputer harus bersifat digital yang sifatnya diskrit (Gossink dan Cook
1997). Oleh karena itu, pemrosesan sinyal analog menjadi sinyal digital harus
dilakukukan supaya komputer dapat memproses sinyal tersebut. Proses konversi
dari sinyal analog menjadi sinyal digital disebut dengan Analog to Digital
Converter (ADC). Sinyal analog harus diubah menjadi sinyal digital yang disebut
proses digitalisasi. Proses digitalisasi terdiri atas dua tahap, yaitu sampling dan
kuantisasi (Jurafsky dan Martin 2000).
Chord merupakan rangkaian nada yang membangun keharmonisasian pada
musik (Hendro 2004). Harmonis atau tidaknya suatu musik yang didengarkan,
tergantung pada rangkaian chord yang menyusunnya. Oleh karena itu, analisis
keseluruhan struktur harmonik pada suatu musik selalu diawali dengan mengenali
setiap chord yang menyusun musik tersebut. Untuk alasan inilah pengenalan
chord telah banyak dikembangkan. Aplikasi pengenal suara pengenalan chord
yang sudah dikembangkan antara lain guitar tuner, mendeteksi chord pada lagu,
dan sebagainya.
Pengenalan chord telah berhasil menarik banyak perhatian di dunia Music
Information Retrieval (MIR). Wisnudisastra (2009) melakukan pengenalan chord
pada alat musik gitar dengan menggunakan codebook dengan teknik ekstraksi ciri
Mel Frequency Cepstrum Coefficients (MFCC). Akurasi yang didapatkan dari
penelitian tersebut lebih dari 90%. Artinya, metode yang digunakan cukup baik.
Beberapa model ekstraksi ciri telah banyak dikembangkan, namun yang biasa
digunakan ialah MFCC karena MFCC mengakomodasi tingkat kritis telinga
manusia terhadap frekuensi suara yang didengar. Dalam hal ini dilakukan filter
linear pada frekuensi rendah dan filter logaritmik pada frekuensi tinggi (Ganchev
2005).
Penelitian lainnya yang dilakukan oleh Tomasouw (2012) yang berjudul
Multiclass Twin Bounded Support Vector Machine untuk Pengenalan Ucapan.
Penelitian ini menjelaskan metode one-against-all, metode one-against-one
(pairwise), metode decision directed acyclic graph, dan sebagainya untuk kasus
Support Vector Machine yang memiliki banyak kelas (multiclass). Klasifikasi
merupakan teknologi yang penting didalam cabang ilmu Artificial Intelligence,
metode yang umum ialah Neural Network, Fuzzy, KNN, dan sebagainya. Salah
satu metode yang berkembang pesat saat ini ialah Support Vector Machines
(SVM) yang akan dipakai pada perancangan aplikasi ini. Pemanfaatan Library
Support Vector Machine (LibSVM) dirancang akan membantu penyelesaian
masalah multiclass SVM karena penggunaannya mengefisiensikan klasifikasi
2
banyak kelas. Dewasa ini SVM telah berhasil diaplikasikan dalam problem dunia
nyata (real-world problems) khususnya secara multikelas, dan secara
umum memberikan solusi yang lebih baik dibandingkan dengan metode
klasifikasi lainnya (Chang dan Lin 2011). Oleh karena itu, penulis melakukan
penelitian menggunakan MFCC sebagai ekstraksi ciri dan SVM sebagai metode
klasifikasi.
Tujuan Penelitian
Tujuan dari penelitian ini ialah menerapkan model SVM untuk identifikasi
chord dengan metode MFCC sebagai Ekstraksi ciri.
Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan informasi mengenai akurasi
penggunaan metode SVM dalam pengenalan chord pada alat musik gitar.
Ruang Lingkup Penelitian
Ruang lingkup dari penelitian ini ialah:
1 Chord yang digunakan hanya 24 chord yang terdiri atas minor dan mayor
standar.
2 Chord yang dikenali hanya chord yang dibunyikan dari atas ke bawah
sebanyak satu kali.
3 Chord yang dikenali hanya chord yang berasal dari suara gitar yang telah
dilatih sebelumnya dengan spesifikasi gitar akustik, jumlah fret 20, dan jenis
senar string.
TINJAUAN PUSTAKA
Nada dan Chord
Nada merupakan suatu simbol atau bunyi yang menjadi dasar dalam
susunan musik. Masing-masing dari nada tersebut memiliki frekuensi yang
berbeda. Jarak antara dua nada disebut dengan interval. Interval dari deretan nada
C-D-E-F-G-A-B-C ialah 1-1-1/2-1-1-1-1/2. Nada-nada tersebut dapat dinaikkan
maupun diturunkan sebanyak ½ nada. Nada yang dinaikkan ½ nada biasa diberi
simbol #, sedangkan nada yang diturunkan ½ nada biasa diberi simbol b.
Misalnya nada C dinaikkan ½ nada menjadi C#. Nada C# atau bisa disebut cis ini
sama dengan nada Db. Untuk nada E bila dinaikkan ½ nada akan menjadi nada
E# atau sama dengan nada F, karena jarak interval dari kedua nada ini ialah ½.
Begitu pula pada nada B ke C.
3
Chord merupakan satuan nada-nada yang dibunyikan secara serentak yang
berfungsi sebagai pengiring dalam lagu maupun permainan music (Hendro 2004).
Chord biasanya terdiri atas tiga nada. Hal ini disebut sebagai triad. Misalnya
chord C terdiri atas nada C-E-G.
Chord tersebut direpresentasikan dengan huruf yaitu C, D, E, F, G, A, B.
Terdapat pula chord C# = Db, D# = Eb, E# = F, F# = Gb, A# = Bb, B# = C.
Illustrasi nada-nada yang ada pada gitar dapat dilihat pada Gambar 1.
Terdapat berbagai jenis chord berdasarkan nada yang menyusunnya
diantaranya ialah chord major, minor, augmented, diminished, dan sebagainya.
Oleh karena itu, chord pada gitar juga dapat dibentuk dengan berbagai posisi.
Misalnya chord C dapat dibentuk pada 3 posisi yag berbeda, yaitu pada fret I, III,
dan VIII. Struktur penyusun chords dapat dilihat pada Gambar 2.
Gambar 1 Notasi not pada fret gitar
Gambar 2 Diagram nada penyusun chord (www.tab4acustic.com)
4
Sinyal Analog dan Sinyal Digital
Sinyal didefinisikan sebagai suatu besaran fisis yang merupakan fungsi
waktu, ruangan, atau beberapa variabel. Sinyal ialah kuantitas fisik yang
bervariasi dengan waktu, ruang, maupun sembarang satu atau lebih peubah bebas
lainnya.
Sinyal analog bekerja dengan mentransmisikan suara dan gambar dalam
bentuk gelombang kontinu (continous varying). Dua parameter/karakteristik
terpenting yang dimiliki oleh isyarat analog ialah amplitudo dan frekuensi. Isyarat
analog biasanya dinyatakan dengan gelombang sinus. Sinyal ini mudah
terpengaruh oleh noise. Gelombang pada sinyal analog yang umumnya berbentuk
gelombang sinus memiliki tiga variabel dasar ialah amplitudo, frekuensi, dan fase.
Sinyal digital merupakan hasil teknologi yang dapat mengubah sinyal menjadi
kombinasi urutan bilangan 0 dan 1 sehingga tidak mudah terpengaruh oleh derau,
proses informasinya pun mudah, cepat, dan akurat. Biasanya sinyal ini dikenal
dengan sinyal diskret.
Sinyal suara merupakan suatu sinyal waktu kontinu atau sinyal analog,
sedangkan komputer hanya dapat memproses sinyal waktu diskret atau digital.
Oleh karena itu untuk dapat memroses suatu sinyal suara, sinyal tersebut harus
dikonversi menjadi sinyal digital terlebih dahulu. Proses konversi ini disebut
Analog to Digital Converter. Proses konversi ini terbagi menjadi tiga tahap yaitu:
1 Sampling merupakan proses untuk mengambil sample atau data sinyal kontinu
pada periode tertentu, sehingga diperoleh sinyal waktu diskret. Banyaknya
sample yang diambil tiap detiknya disebut sampling rate. Input suara biasanya
direkam dalam sampling rate di atas 10000 Hz (Do 1994).
2 Kuantisasi merupakan suatu proses memetakan nilai-nilai dari sinyal nilai
kontinyu pada suatu selang tertentu menjadi nilai-nilai yang diskret sehingga
didapatkan sinyal nilai diskret atau sinyal digital.
3 Coding merupakan pemberian bilangan biner pada setiap level kuantisasi.
Proses konversi tersebut dapat dilihat pada Gambar 3.
Gambar 3 Konversi sinyal analog menjadi sinyal digital (Gossink dan Cook
1997)
5
Ekstraksi Ciri MFCC
Ekstraksi ciri merupakan proses mengekstraksi sejumlah data dari sinyal
suara yang nantinya akan digunakan untuk merepresentasikan setiap sinyal
tersebut (Do 1994). Tujuannya untuk menentukan satu nilai atau vektor yang
dapat digunakan sebagai penciri obyek atau individu. MFCC merupakan teknik
yang umumnya dipakai dan memiliki kinerja yang baik. Cara kerja MFCC
didasarkan atas cara pendengaran manusia. Proses MFCC dapat dilihat pada
Gambar 4. Penjelasan dari masing-masing tahapan ialah:
1 Frame Blocking
Pada tahapan ini sinyal suara yang dibaca kemudian dibagi ke dalam bentuk
frame. Setiap frame memilki N sampel yang direpresentasikan dalam bentuk
vektor. Setiap frame yang bersebelahan saling tumpang tindih atau overlap. Hal
ini ditujukan agar tidak ada informasi yang hilang. Proses Frame Blocking dapat
dilihat pada Gambar 5.
Gambar 4 Alur proses MFCC (Buono 2009)
Gambar 5 Frame blocking (Satrya 2011)
6
2 Windowing
Setiap frame dari sinyal suara mengandung satu unit informasi. Oleh karena
itu, distorsi antar frame tersebut harus diminimalkan dengan teknik windowing.
Proses windowing dilakukan pada setiap frame untuk meminimalkan
diskontinuitas sinyal pada awal dan akhir tiap frame. Beberapa jenis window yang
digunakan dapat dilihat pada Tabel 1 (Ramirez 1984). Proses windowing dapat
dilihat pada Gambar 6.
Penelitian ini menggunakan window Hamming. Karena pertimbangan
kesederhanaan formula dan nilai kinerja window, penggunaan window Hamming
cukup beralasan. Persamaan matematika untuk pembentukan window Hamming
dapat dilihat pada persamaan:
2n
w(n) 0.54 0.46 cos
, 0 n N 1
N 1
dan
Yi(n) = Xi(n).w(n)
Xi(n) adalah frame dan Yi(n) adalah hasil perkalian dari Xi(n) dan hasil window
w(n).
Tabel 1 Jenis window
Nama Window
Daniell
Hamming
Persamaan Matematika
� n )=
� n =
sin πn
, |n| ≤ 1
πn
0
, lainnya
0.54 + 0.46 cos (πn) ,
0
,
|n| ≤ 1
lainnya
Parzen
1 - 6n2 + 6 n 3 ,
� n = 2(1 - |n|)2 ,
0
,
Priestly
sin(πn)
− cos (πn) , |n| ≤ 1
πn
� n = (πn)
0
, lainnya
|n| ≤ 0.5
0.5 ≤ n ≤ 1
lainnya
3
Sasaki
2
1
sin(πn) + 1 - n cos (πn),
|n| ≤ 1
� n = π
0
,
lainnya
Gambar 6 Windowing (Satrya 2011)
7
3 Fast Fourier Transform (FFT)
Analisis Fourier merupakan suatu teknik matematika untuk
mendekomposisi sinyal menjadi sinyal-sinyal sinusoidal. Analisis Fourier terdiri
atas dua versi, yaitu versi real dan versi imajiner. Perbedaan sinyal harus dilihat
dari domain frekuensi, karena jika dilihat dari domain waktu, perbedaannya sulit
terlihat. Untuk itu, sinyal suara yang berada pada domain waktu diubah ke domain
frekuensi dengan Fast Fourier Transform (FFT). FFT merupakan suatu algoritme
untuk mengimplementasikan Discrete Fourier Transform (DFT) (Do 1994).
Persamaan matematika untuk pembentukan FFT dapat dilihat pada persamaan:
∑
Dengan n = 0, 1, 2, …, N-1.
−
n
ialah frame.
4 Mel-frequecy Wrapping
Studi menunjukkan bahwa persepsi manusia terhadap frekuensi sinyal suara
tidak berupa skala linear. Oleh karena itu, untuk setiap nada dengan frekuensi
aktual f (dalam Hertz), tinggi subjektifnya diukur dengan skala mel (melody).
Skala mel-frequency ialah selang frekuensi di bawah 1000 Hz dan selang
logaritmik untuk frekuensi di atas 1000 Hz (Do 1994). Pendekatan berikut
digunakan dalam menghitung mel-frequency untuk frekuensi f dalam Hz:
mel(f) = 2595*log10(1 + f / 700).
Mel adalah mel- frequency dan f adalah frekuensi linear.
5 Cepstrum
Pada tahap ini, mel-frequency akan dikonversi ke dalam domain waktu
untuk menghasilkan mel-frequency cepstrum coefficient (MFCC). Representasi
cepstral dari spectrum suara menyediakan representasi yang baik dari properti
local spectral pada sinyal untuk analisis frame karena nilai koefisien mel
spectrum adalah nilai real yang dapat dikonversi lagi ke dalam domain waktu
dengan menggunakan Discrete Cosine Transform (DCT). Proses tersebut dapat
dilihat pada Gambar 7. Selanjutnya MFCC dapat dihitung sebagai cn dengan
̃
∑
̃
[
−
]
K ialah banyaknya koefisien cepstral, k = 0,1,…., K-1 dan n = 0,1,…., K-1.
Gambar 7 Perubahan dari FFT ke cepstrum (Satrya 2011)
8
Support Vector Machine (SVM)
Support Vector Machine (SVM) ialah sistem pembelajaran yang
menggunakan ruang hipotesis berupa fungsi-fungsi linear dalam sebuah ruang
fitur (feature space) berdimensi tinggi, dilatih dengan algoritme pembelajaran
yang didasarkan pada teori optimasi dengan mengimplementasikan learning bias
yang berasal dari teori pembelajaran statistik (Cristianini dan Taylor 2000).
SVM ialah salah satu teknik yang relatif baru dibandingkan dengan teknik
lain, tetapi memiliki performansi yang lebih baik di berbagai bidang aplikasi
seperti bioinformatics, pengenalan tulisan tangan, klasifikasi teks dan lain
sebagainya (Cristianini dan Taylor 2000). Teori yang mendasari SVM sendiri
sudah berkembang sejak 1960-an, tetapi baru diperkenalkan oleh Vapnik, Boser
dan Guyon pada tahun 1992 dan sejak itu SVM berkembang dengan pesat.
SVM pada Linearly Separable Data
Linearly separable data merupakan data yang dapat dipisahkan secara
linear. Misalkan{xi ,..., xn}ialah data set dan yi ∈{+1,−1} ialah label kelas dari data
xi. Pada Gambar 8 dapat dilihat berbagai alternatif bidang pemisah yang dapat
memisahkan semua data set sesuai dengan kelasnya. Namun, bidang pemisah
terbaik tidak hanya dapat memisahkan data tetapi juga memiliki margin paling
besar.
SVM pada Nonlinearly Separable Data
Klasifikasi data yang tidak dapat dipisahkan secara linear formula SVM
harus dimodifikasi karena tidak akan ada solusi yang ditemukan. Oleh karena itu,
kedua bidang pembatas harus diubah sehingga lebih fleksibel (untuk kondisi
tertentu) dengan penambahan variabel ξi (ξi ≥ 0,∀ i : ξi = 0 jika x i diklasifikasikan
dengan benar) menjadi x i .w + b ≥1 - ξi untuk kelas 1 dan x i .w + b ≤ −1 + ξi
untuk kelas 2. Pencarian bidang pemisah terbaik dengan dengan penambahan
variabel ξi sering juga disebut soft margin hyperplane. Dengan demikian formula
pencarian bidang pemisah terbaik berubah menjadi:
(∑ )
−
C adalah parameter yang menentukan besar penalti akibat kesalahan dalam
Gambar 8 Kasus data linear (Sembiring 2007)
9
klasifikasi data dan nilainya ditentukan oleh pengguna. Metode lain untuk
mengklasifikasikan data yang tidak dapat dipisahkan secara linear ialah dengan
mentransformasikan data ke dalam dimensi ruang fitur (feature space) sehingga
margin dapat dipisahkan secara linear pada feature space.
Data dipetakan dengan menggunakan fungsi pemetaan (transformasi) xk →φ
(xk) ke dalam feature space sehingga terdapat bidang pemisah yang dapat
memisahkan data sesuai dengan kelasnya (Gambar 9). Feature space dalam
prakteknya biasanya memiliki dimensi yang lebih tinggi dari vektor input (input
space). Hal ini mengakibatkan komputasi pada feature space mungkin sangat
besar, karena ada kemungkinan feature space dapat memiliki jumlah feature yang
tidak terhingga. Selain itu, sulit mengetahui fungsi transformasi yang tepat. Untuk
mengatasi masalah ini, pada SVM digunakan ”kernel trick”. Fungsi kernel yang
umum digunakan ialah sebagai berikut (Hsu et al. 2003):
a Linear kernel: K(xi, x) = xT, x
b Polinomial kernel: K(xi, x) = (γ.xiT xi + r)p, γ > 0
c Radial Basis Function (RBF) kernel : K(xi, x) = exp(-γ|xi – x|2), γ > 0
d Sigmoid kernel : K(xi, x) = tanh(γxiT xi + r)
Dengan solusi persamaan:
∑
L adalah jumlah vektor, α adalah Lagrange multiplier, adalah label kelas, dan b
adalah bias.
Menurut (Hsu et al. 2003) fungsi kernel yang direkomendasikan untuk diuji
pertama kali ialah fungsi kernel RBF karena memiliki performa yang sama
dengan kernel linear pada parameter tertentu, memiliki perilaku seperti fungsi
kenel sigmoid dengan parameter tentu dan rentang nilainya kecil [0,1]. SVM saat
pertama kali diperkenalkan oleh Vapnik, hanya dapat mengklasifikasikan data ke
dalam dua kelas (klasifikasi biner). Namun, penelitian lebih lanjut untuk
mengembangkan SVM sehingga bisa mengklasifikasi data yang memiliki lebih
dari dua kelas, terus dilakukan. Ada dua pilihan untuk mengimplementasikan
multiclass SVM, yaitu dengan one-against-one dan one-against-all.
Gambar 9 Transformasi dari vektor input ke feature space (Sembiring 2007)
10
METODE
Penelitian ini dilakukan dengan beberapa tahapan proses, yaitu studi pustaka,
pengambilan data suara, ekstraksi ciri menggunakan MFCC, pemodelan chord
dengan SVM, dan pengujian. Proses tersebut dapat dilihat pada Gambar 10.
Tahapan studi pustaka ialah awal dilakukannya penelitian ini yaitu
melakukan pencarian dan pembelajaran mengenai pustaka-pustaka yang
dibutuhkan untuk penelitian ini, sumbernya berasal dari buku-buku, jurnal,
artikel-artikel, dan skripsi penelitian sebelumnya yang dilakukan untuk
memahami langkah-langkah dalam metode atau teknik yang digunakan dalam
penelitian ini.
Pengambilan Data
Pada tahap ini dilakukan pengambilan data dengan merekam suara dari
masing-masing chord gitar menjadi berkas yang bertipe WAV. Data yang
digunakan hanya 24 chord gitar yang terdiri dari major dan minor dari setiap
chord. Proses pengambilan suara gitar dilakukan dalam keadaan sunyi agar tidak
ada noise yang terekam. Pengambilan data pun harus dilakukan secara benar,
yaitu memetik senar gitar dari atas ke bawah sebanyak satu kali. Tabel 2
menunjukkan daftar chord yang digunakan dalam penelitian ini.
Preprocessing
Proses selanjutnya ialah pemotongan pada awal dan akhir tiap frame, setelah
terpotong dilakukan ekstraksi ciri menggunakan metode MFCC. Hasil akhir dari
proses ini ialah berupa matrik hasil operasi rataan yang terdiri dari data latih dan
data uji.
Pemodelan Support Vector Machine (SVM)
Tahap ini dilakukan menggunakan data latih dari hasil ekstraksi ciri.
Penelitian ini akan dicari kombinasi kernel dan parameternya yang menghasilkan
model pengenalan chord dengan akurasi yang terbaik. Parameter yang digunakan
Gambar 10 Tahapan metode
11
Tabel 2 Daftar chord
Chord dasar
C
C#
D
D#
E
F
F#
G
G#
A
A#
B
Mayor
CM
C#M
DM
D#M
EM
FM
F#M
GM
G#M
AM
A#M
BM
Minor
Cm
C#m
Dm
D#m
Em
Fm
F#m
Gm
G#m
Am
A#m
Bm
ialah parameter yang terbaik dari hasil proses cross-validation dengan nilai fold
ialah 5. Kernel yang digunakan pada penelitian ini ialah linear, polinomial, dan
RBF. Penelitian ini menggunakan Library for Support Vector Machine (LIBSVM),
LIBSVM sudah dilengkapi oleh fitur multikelas yaitu metode one-against-one.
Pengujian Support Vector Machine
Proses pengujian chord pada penelitian ini dilakukan untuk mendapatkan
nilai akurasi dari setiap chord yang diujikan. Nilai akurasi dihitung dengan fungsi
berikut:
Hasil =
Jumlah chord yang benar
x 100%
Jumlah chord yang diuji
Lingkungan Pengembangan
Pada penelitian ini digunakan perangkat keras dan perangkat lunak dengan
spesifikasi sebagai berikut :
a) Perangkat Keras
Processor Pentium(R) dual – core CPU T4300 @ 2.10 GHz
Memory 1024 MB RAM
Hardisk 250 GB
b) Perangkat Lunak
Sistem Operasi Windows 7 Ultimate 32-bit
Matlab R2008b
Notepad
c) Peralatan
Gitar akustik dengan jenis senar string dengan jumlah frets 20
Microphone
Aktiv speaker
12
HASIL DAN PEMBAHASAN
Preprocessing
Proses preprocessing diawali dengan memasukan data suara chord,
kemudian dilakukan ekstraksi ciri MFCC dengan menggunakan lima parameter,
yaitu input suara, sampling rate, time frame, overlap, dan cepstral coefficient.
Pemilihan nilai untuk sampling rate ialah 22050 Hz, time frame ialah 256 ms dan
overlap ialah 25%, sedangkan jumlah cepstral coefficient yang digunakan ialah 13
koefisien.
Hasil ekstraksi ciri menggunakan MFCC memiliki hasil berupa matriks ciri
(n x k), n ialah jumlah frame dan k ialah koefisien. Untuk menghasilkan vektor
yang berukuran (1 x 13) di setiap ulangan suara, dilakukan perata-rataan koefisien
pada setiap baris. Data latih yang digunakan dalam penelitian untuk satu chord
ada 40 data, maka matrik yang dihasilkan berukuran (40 x 13). Gambar 11
menunjukan grafik penggabungan data satu chord.
Pemodelan Support Vector Machine (SVM)
Frame
Proses cross-validation dilakukan pada data latih menghasilkan parameter
terbaik, pada kernel linear menghasilkan parameter c (cost) = 2 pada rentang
2-5 ≤ c ≤ 215 dengan akurasi cross-validation = 88.33%, k = 5.
Pada kernel polinomial parameter terbaik c = 512 pada rentang 2-5 ≤ c ≤ 215.
Parameter γ (gamma) = 3.05176e-005 pada rentang 2-15 ≤ g ≤ 23. Parameter d
(degree) = 4 pada rentang 1 ≤ d ≤ 4. Parameter r (coef0)= 3 pada rentang 0 ≤ x ≤ 4,
dengan akurasi cross-validation = 89.44%, k = 5.
Pada kernel RBF parameter terbaik c = 1 pada rentang 2-5 ≤ c ≤ 215.
Parameter γ (gamma) = 1 pada rentang 2-15 ≤ g ≤ 23, dengan akurasi crossvalidation = 82.91%, k = 5. Dengan demikian dari hasil cross-validation
Koefisien
Gambar 11 Hasil penggabungan dari 40 vektor
13
dihasilkan parameter terbaik dari masing – masin g kernel. Pemodelan SVM
menggunakan data latih sebanyak 720 data. Dilakukan penggabungan dari seluruh
vektor menjadi matrik yang berukuran (720 x 13). Gambar 12 menunjukan
kumpulan vektor ciri data latih yang telah digabung dari semua chord.
Begitu pula data uji yang berukuran (240 x 13). Setelah mendapatkan matrik
data latih dan data uji, dilakukan pemodelan. Pemodelan dilakukan dengan
menggunakan parameter terbaik dari masing – masing kernel. Terbentuknya 3
model yang terdiri atas model SVM linear, model SVM polinomial, dan model
SVM RBF.
Pengujian
Frame
Pengujian dilakukan dengan menggunakan 240 data uji terhadap ketiga
model tersebut. Tabel 3 menunjukkan hasil identifikasi SVM dengan kernel
linear, polinomial, RBF.
Dari Tabel 3 dapat diketahui bahwa akurasi pendeteksian chord
menggunakan metode SVM dan kernel linear, kernel polinomial, dan kernel RBF
masing – masing 92.91% (223/240), 93.33% (224/240), dan 93.33% (224/240).
Hasil tersebut merepresentasikan akurasi dari setiap kernel, yaitu jumlah chord
yang benar dibagi jumlah chord yang diujikan. Pada Gambar 13 terlihat chord
yang dikenal baik oleh sistem dengan akurasi 100% ialah chord A, Am, A#m, B,
Bm, C, Cm, D, Dm, D#, E, Em, F, Fm, F#, F#m,G, Gm. Chord A#, C#, C#m, D#,
E memiliki akurasi di atas 80%. Chord yang dikenali oleh sistem dengan akurasi
terendah, yaitu di bawah 70% ialah chord G# dan G#m.
Matriks konfusi yang menunjukkan hasil klasifikasi dari setiap chord
dengan menggunakan kernel linear, polimonial, dan RBF dapat dilihat pada
Lampiran 1, 2, dan 3.
Jumlah data
Gambar 12 Kumpulan vektor ciri data
Koefisien
14
Gambar 13 Grafik tingkat akurasi
Tabel 3 Tingkat akurasi dari ketiga model
Kode
Chord
1
A
2
Am
3
A#
4
A#m
5
B
6
Bm
7
C
8
Cm
9
C#
10
C#m
11
D
12
Dm
13
D#
14
D#m
15
E
16
Em
17
F
18
Fm
19
F#
20
F#m
21
G
22
Gm
23
G#
24
G#m
Akurasi
Linear
100%
100%
90%
100%
100%
100%
100%
100%
70%
90%
100%
100%
100%
90%
90%
100%
100%
100%
100%
100%
100%
100%
50%
50%
92.91%
Polinomial
100%
100%
90%
100%
100%
100%
100%
100%
70%
90%
100%
100%
100%
100%
90%
100%
100%
100%
100%
100%
100%
100%
60%
40%
93.33%
RBF
100%
100%
80%
100%
100%
100%
100%
100%
80%
90%
100%
100%
100%
100%
90%
100%
100%
100%
100%
100%
100%
100%
70%
30%
93.33%
15
SIMPULAN DAN SARAN
Simpulan
Berdasarkan penelitian yang dilakukan didapatkan kesimpulan sebagai
berikut:
1 Fungsi kernel yang diterapkan dalam penelitian ini ialah model kernel linear,
kernel polinomial, dan kernel RBF. Hasil menunjukan bahwa dengan metode
klasifikasi SVM dengan menggunakan kernel polinomial dan RBF hasilnya
sama baik, yaitu 93.33 % dibandingkan dengan metode SVM kernel linear
yang memiliki akurasi 92.91%.
2 Chord yang memiliki tingkat akurasi diatas 80% berarti chord tersebut dapat
dikenali cukup baik oleh sistem. Sebaliknya chord yang mempunyai tingkat
akurasi yang rendah berarti chord tersebut tidak dapat dikenali dengan baik
oleh sistem. Chord yang mempunyai tingkat akurasi paling rendah ialah chord
G#m dan G#. Hal ini disebabkan karena susunan yang menyusun chord major
dan minor hanyalah setengah nada, susunan nada pada chord G# ialah nada g#c-d# sedangkan susunan pada chord G#m ialah nada g#-b-d#, artinya hanya
setengah nada yang membedakannya.
Saran
Penelitian ini masih memiliki banyak kekurangan yang memerlukan
pengembangan lebih lanjut. Beberapa saran yang dapat ditambahkan di antaranya:
1 Dalam penelitian ini chord yang tidak dapat dikenali dengan baik perlu
dilakukan klasifikasi khusus, yaitu klasifikasi untuk mengenali chord yang
mempunyai pembeda setengah nada dalam susunan nadanya. Misalnya
klasifikasi khusus untuk mengenali chord G# dan G#m, C# dan C#m.
2 Mencoba menggunakan parameter MFCC lain seperti frekuensi dan koefisien
guna meningkatkan akurasi.
16
DAFTAR PUSTAKA
Buono A. 2009. Representasi nilai HOS dan model MFCC sebagai ekstraksi ciri
pada sistem identifikasi pembicara di lingkungan ber-noise menggunakan
HMM. [Disertasi]. Depok (ID): Universitas Indonesia.
Chang CC, Lin CJ. 2011. ACM transactions on intelligent systems and technology.
A
Library
for
Support
Vector
Machines.
2(3):1-10.doi:
10.1145/1961189.1961199.
Cristianini N, Taylor JS. 2000. An Introduction to Support Vector Machines and
Other Kernel-Based Learning Methods. Cambridge (GB): Cambridge Press
University.
Do MN. 1994. An automatic speaker recognition system audio visual
communications laboratory. Di dalam: Digital Signal Processing MiniProject. Lausanne (CH): Swiss Federal Institute of Technology.
Furey TS, Cristianini N, Duffy N, Bednarski DW, Schummer M, Haussler D.
2000. Support vector machine classification and validation of cancer tissue
samples using microarray expression data. Bioinformatics. 16(10)906-914. doi:
10.1093/bioinformatics/16.10.906.
Ganchev TD. 2005. Speaker recognition [Tesis]. Wire Communications
Laboratory, Department of Computer and Electrical Engineering. Patras (GR):
University of Patras.
Gossink DE, Cook SC 1997. A novel synchronisation scheme for spread-spectrum
communications. Di dalam: Wysocki T, Razavi H, dan Honary B, editor.
Digital Signal Processing for Communications. ISBN 0-7923-9932-3. Boston
(US): Kluwer Academic Publishers
Hendro. 2004. Panduan Praktis Improvisasi Gitar. Jakarta: Penerbit Puspa Swara.
Hsu CW, Chang CC, Lin CJ. 2003. A Practical Guide to Support Vector
Classification. Department of Computer Science and Information Engineering
(TW): National Taiwan University.
Jurafsky D, Martin JH. 2000. Speech and Language Processing An Introduction
to Natural Language Processing. Computational Linguistic, and Specch
Recognition, New Jersey (US): Prentice Hall.
Mulia I. 2012. Pengenalan aksara sunda menggunakan ekstraksi ciri zoning dan
klasifikasi support vector machine [Skripsi]. Bogor (ID): Institut Pertanian
Bogor.
17
Satrya R. 2011. Sistem indentifikasi suara pria dan wanita berdasarkan usia
menggunakan MFCC dan k-mean clustering [Skripsi]. Bandung (ID): IT
Telkom.
Sembiring K. 2007. Penerapan teknik support vector machine untuk pendektesian
intrusi pada jaringan [Skripsi]. Bandung (ID): Institut Teknologi Bandung.
Ramirez RW. 1984. The FFT, Fundamentals and Concepts. New Jersey (US):
Prentice-Hall.
Tomasouw BP. 2012. Multiclass twin bounded support vector machine untuk
pengenalan ucapan [Disertasi]. Surabaya (ID): Institut Teknologi Sepuluh
Nopember.
Wisnudisastra E. 2009. Pengenalan chord pada alat musik gitar menggunakan
codebook dengan teknik ekstrasi ciri MFCC [Skripsi]. Bogor (ID): Institut
Pertanian Bogor.
18
Lampiran 1 Matriks konfusi kernel linear
Chord
A
Am
A#
A#m
B
Bm
C
Cm
C#
C#m
D
Dm
D#
D#m
E
Em
F
Fm
F#
F#m
G
Gm
G#
G#m
A
10
-
Am
10
-
A#
9
-
A#m
10
-
B
10
-
Bm
1
10
-
C
10
1
-
Cm
10
-
C#
7
1
-
Hasil Klasifikasi Kernel Linear
C#m D Dm D# D#m E
3
9
10
10
10
1
9
9
-
Em
10
-
F
10
-
Fm
10
-
F#
10
-
F#m
10
-
G
10
-
Gm
10
-
G#
5
5
G#m
5
5
Lampiran 2 Matriks konfusi kernel polinomial
Chord
A
Am
A#
A#m
B
Bm
C
Cm
C#
C#m
D
Dm
D#
D#m
E
Em
F
Fm
F#
F#m
G
Gm
G#
G#m
A
10
-
Am
10
-
A#
9
-
A#m
10
-
B
10
-
Bm
1
10
-
C
10
1
-
Cm
10
-
C#
7
1
-
Hasil Klasifikasi Kernel Polinomial
C#m D Dm D# D#m E
3
9
10
10
10
10
9
-
Em
10
-
F
10
-
Fm
10
-
F#
10
-
F#m
10
-
G
10
-
Gm
10
-
G#
6
6
G#m
4
4
19
20
Lampiran 3 Matriks konfusi kernel RBF
Chord
A
Am
A#
A#m
B
Bm
C
Cm
C#
C#m
D
Dm
D#
D#m
E
Em
F
Fm
F#
F#m
G
Gm
G#
G#m
A
10
-
Am
10
-
A#
8
-
A#m
10
-
B
10
-
Bm
10
-
C
10
1
-
Cm
10
-
C#
1
8
1
-
Hasil Klasifikasi Kernel RBF
C#m D Dm D# D#m E
2
9
10
10
10
10
9
-
Em
10
-
F
10
-
Fm
10
-
F#
10
-
F#m
10
-
G
10
-
Gm
10
-
G#
7
7
G#m
1
3
3
21
RIWAYAT HIDUP
Penulis bernama Wido Aryo Andhika dilahirkan di Sukabumi pada tanggal
8 Januari 1990 sebagai anak pertama dari 3 bersaudara dari pasangan Bapak
Moch. Djamil dan Ibu Tien Supriatin. Penulis menyelesaikan pendidikan
lanjutan atas di SMU Negeri 3 Kota Sukabumi pada tahun 2008.
Pada tahun yang sama, penulis diterima sebagai mahasiswa di Institut
Pertanian Bogor (IPB) pada Program Studi Ilmu Komputer, Fakultas
Matematika dan Ilmu Pengetahuan Alam melalui jalur SNMPTN.
CHORD PADA ALAT MUSIK GITAR MENGGUNAKAN METODE
MFCC SEBAGAI EKSTRAKSI CIRI
WIDO ARYO ANDHIKA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Pemodelan Support
Vector Machine untuk Pengenalan Chord pada Alat Musik Gitar Menggunakan
Metode MFCC sebagai Ekstraksi Ciri ialah benar karya saya dengan arahan dari
komisi pembimbing dan belum diajukan dalam bentuk apa pun 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 skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, April 2013
Wido aryo Andhika
NIM G64080113
ABSTRAK
WIDO ARYO ANDHIKA. Pemodelan Support Vector Machine untuk
Pengenalan Chord pada Alat Musik Gitar Menggunakan Metode MFCC sebagai
Ekstraksi Ciri. Dibimbing oleh AGUS BUONO.
Berbagai metode ekstraksi ciri dan metode klasifikasi telah banyak
dikembangkan oleh para peneliti saat ini. Penerapan metode ekstraksi ciri MFCC
dan metode klasifikasi SVM akan digunakan pada penelitian ini untuk
mengidentifikasi chord pada alat musik gitar. Langkah pertama ialah
mengekstraksi ciri dari chord yang sudah direkam. Data chord yang digunakan
sebanyak 24 chord, dengan komposisi 75% untuk data latih dan 25% untuk data
uji. Penelitian ini menggunakan SVM dengan tiga tipe kernel ialah linear,
polinomial, dan RBF. Setiap kernel mempunyai parameter-parameter yang
berbeda. Parameter yang digunakan ialah parameter terbaik yang dihasilkan dari
proses cross-validation. Hasil akhir menunjukkan bahwa kernel RBF dan
polinomial mempunyai akurasi tertinggi yang sama yaitu 93.33%.
Kata kunci: chord, MFCC, support vector machine
ABSTRACT
WIDO ARYO ANDHIKA. Support Vector Machine Modeling for Identification
of Guitar Chord using MFCC as Feature Extraction. Supervised by AGUS
BUONO.
Various methods of feature extraction and classification methods have been
developed by researchers. Application of MFCC feature extraction methods and
SVM classification methods will be used in this research to identify the chord on
the guitar instrument. The first step is extracting the characteristics of recorded
chords. As many as 24 chords were used, with a composition of 75% for training
data and 25% for the test data. This research uses SVM with three kernel types:
linear, polynomial, and RBF. Each kernel has different parameters. The
parameters used are the best parameter resulted from the cross-validation process.
The final result showed that the RBF kernel and polynomial has the same highest
accuracy of 93.33%.
Keywords: chord, MFCC, support vector machine
PEMODELAN SUPPORT VECTOR MACHINE UNTUK PENGENALAN
CHORD PADA ALAT MUSIK GITAR MENGGUNAKAN METODE
MFCC SEBAGAI EKSTRAKSI CIRI
WIDO ARYO ANDHIKA
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Ilmu Komputer
pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013
Judul Skripsi : Pemodelan Support Vector Machine untuk Pengenalan Chord pada
Alat Musik Gitar Menggunakan Metode MFCC sebagai Ekstraksi
Ciri
Nama
: Wido Aryo Andhika
NIM
: G64080113
Disetujui oleh
Dr Ir Agus Buono, MSi MKom
Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom
Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan Juni 2011 ini ialah
pengenalan suara, dengan judul Pemodelan SVM untuk Pengenalan Chord pada
Alat Musik Gitar Menggunakan Metode MFCC sebagai Ekstraksi Ciri.
Penyelesaian penelitian ini tidak luput dari dukungan dan bantuan berbagai pihak.
Oleh karena itu, penulis ingin mengucapkan terima kasih sebesar-besarnya
kepada:
1 Kedua orang tua tercinta Ayahanda M. Djamil dan Ibunda Tien Supriatin, adik
penulis yang bernama Restu Bayu Dwi Putri, dan Ramadhan Tri Gumilar dan
segenap keluarga besar penulis atas do’a, dukungan dan semangat yang tidak
pernah berhenti diberikan selama ini sehingga penulis dapat menyelesaikan
studi di Departemen Ilmu Komputer IPB.
2 Bapak Dr. Ir. Agus Buono M.Si M.Kom selaku dosen pembimbing. Bapak
Mushthofa S.Kom,. M.Sc. dan Ibu Karlisa Priandana S.T., M.Eng. selaku
dosen penguji, atas waktu, ilmu, saran, nasihat, dan masukan yang diberikan.
3 Teman-teman penulis di Departemen Ilmu Komputer khususnya Putri Dewi
Purnama Sari, Abdul Halim, Nanda Ichsan P, Ahmad Bagus D, Alif
Kurniawan, Retno Larasati, Isnan Mulia, Alfa Nugraha P, Rizki Utama P
Chandra Wangsa, Umbara Paskindra N, Yayan Fitriyan, Hadi Septian Guna
Putra, serta teman-teman lain yang tidak dapat penulis sebutkan satu per satu
atas bantuan, motivasi, serta semangat kepada penulis.
4 Departemen Ilmu Komputer, Bapak/Ibu Dosen dan Tenaga Kependidikan yang
telah begitu banyak membantu baik selama pelaksanaan penelitian ini maupun
sebelumnya.
Kepada semua pihak lainnya yang telah memberikan kontribusi yang besar selama
pengerjaan penelitian ini yang tidak dapat disebutkan satu per satu, penulis
ucapkan terima kasih banyak. Segala kesempurnaan hanya milik Allah Subhanahu
wata’ala. Semoga hasil penelitian ini dapat bermanfaat, Amin.
Bogor, April 2013
Wido Aryo Andhika
DAFTAR ISI
DAFTAR TABEL
vi
DAFTAR GAMBAR
vi
DAFTAR LAMPIRAN
vi
PENDAHULUAN
1
Latar Belakang
1
Tujuan Penelitian
2
Manfaat Penelitian
2
Ruang Lingkup Penelitian
2
TINJAUAN PUSTAKA
2
Nada dan Chord
2
Sinyal Analog dan Sinyal Digital
4
Ekstraksi Ciri MFCC
5
Support Vector Machine (SVM)
8
METODE
10
Pengambilan Data
10
Preprocessing
10
Pemodelan SVM (Support Vector Machine)
10
Pengujian Support Vector Machine
11
Lingkungan Pengembangan
11
HASIL DAN PEMBAHASAN
12
SIMPULAN DAN SARAN
15
Simpulan
15
Saran
15
DAFTAR PUSTAKA
16
LAMPIRAN
18
RIWAYAT HIDUP
21
DAFTAR TABEL
1 Jenis window
2 Daftar chord
3 Tingkat akurasi dari ketiga model
6
11
14
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
12
13
Notasi not pada fret gitar
Diagram nada penyusun chord
Konversi sinyal analog menjadi sinyal digital
Alur proses MFCC
Frame blocking
Windowing
Perubahan dari FFT ke cepstrum
Kasus data linear
Transformasi dari vektor input ke feature space
Tahapan metode
Hasil penggabungan dari 40 vektor
Kumpulan vektor ciri data
Grafik tingkat akurasi
3
3
4
5
5
6
7
8
9
10
12
13
14
DAFTAR LAMPIRAN
1 Matriks konfusi kernel linear
2 Matriks konfusi kernel polinomial
3 Matriks konfusi kernel RBF
18
19
20
PENDAHULUAN
Latar Belakang
Dalam ilmu pengetahuan dan teknologi khususnya bidang komunikasi,
pengolahan sinyal memegang peranan yang penting. Penelitian yang intensif
dalam bidang pengolahan sinyal menyebabkan teknologi komunikasi berkembang
dengan pesat. Salah satunya ialah pengenalan suara. Dalam pengenalan suara,
tahapan yang harus dilalui ialah pemrosesan suara. Pemrosesan sinyal suara
melibatkan 2 jenis sinyal, yaitu sinyal analog dan digital. Suara manusia sendiri
merupakan sinyal analog yang bersifat kontinu, sedangkan pemrosesan sinyal
dalam komputer harus bersifat digital yang sifatnya diskrit (Gossink dan Cook
1997). Oleh karena itu, pemrosesan sinyal analog menjadi sinyal digital harus
dilakukukan supaya komputer dapat memproses sinyal tersebut. Proses konversi
dari sinyal analog menjadi sinyal digital disebut dengan Analog to Digital
Converter (ADC). Sinyal analog harus diubah menjadi sinyal digital yang disebut
proses digitalisasi. Proses digitalisasi terdiri atas dua tahap, yaitu sampling dan
kuantisasi (Jurafsky dan Martin 2000).
Chord merupakan rangkaian nada yang membangun keharmonisasian pada
musik (Hendro 2004). Harmonis atau tidaknya suatu musik yang didengarkan,
tergantung pada rangkaian chord yang menyusunnya. Oleh karena itu, analisis
keseluruhan struktur harmonik pada suatu musik selalu diawali dengan mengenali
setiap chord yang menyusun musik tersebut. Untuk alasan inilah pengenalan
chord telah banyak dikembangkan. Aplikasi pengenal suara pengenalan chord
yang sudah dikembangkan antara lain guitar tuner, mendeteksi chord pada lagu,
dan sebagainya.
Pengenalan chord telah berhasil menarik banyak perhatian di dunia Music
Information Retrieval (MIR). Wisnudisastra (2009) melakukan pengenalan chord
pada alat musik gitar dengan menggunakan codebook dengan teknik ekstraksi ciri
Mel Frequency Cepstrum Coefficients (MFCC). Akurasi yang didapatkan dari
penelitian tersebut lebih dari 90%. Artinya, metode yang digunakan cukup baik.
Beberapa model ekstraksi ciri telah banyak dikembangkan, namun yang biasa
digunakan ialah MFCC karena MFCC mengakomodasi tingkat kritis telinga
manusia terhadap frekuensi suara yang didengar. Dalam hal ini dilakukan filter
linear pada frekuensi rendah dan filter logaritmik pada frekuensi tinggi (Ganchev
2005).
Penelitian lainnya yang dilakukan oleh Tomasouw (2012) yang berjudul
Multiclass Twin Bounded Support Vector Machine untuk Pengenalan Ucapan.
Penelitian ini menjelaskan metode one-against-all, metode one-against-one
(pairwise), metode decision directed acyclic graph, dan sebagainya untuk kasus
Support Vector Machine yang memiliki banyak kelas (multiclass). Klasifikasi
merupakan teknologi yang penting didalam cabang ilmu Artificial Intelligence,
metode yang umum ialah Neural Network, Fuzzy, KNN, dan sebagainya. Salah
satu metode yang berkembang pesat saat ini ialah Support Vector Machines
(SVM) yang akan dipakai pada perancangan aplikasi ini. Pemanfaatan Library
Support Vector Machine (LibSVM) dirancang akan membantu penyelesaian
masalah multiclass SVM karena penggunaannya mengefisiensikan klasifikasi
2
banyak kelas. Dewasa ini SVM telah berhasil diaplikasikan dalam problem dunia
nyata (real-world problems) khususnya secara multikelas, dan secara
umum memberikan solusi yang lebih baik dibandingkan dengan metode
klasifikasi lainnya (Chang dan Lin 2011). Oleh karena itu, penulis melakukan
penelitian menggunakan MFCC sebagai ekstraksi ciri dan SVM sebagai metode
klasifikasi.
Tujuan Penelitian
Tujuan dari penelitian ini ialah menerapkan model SVM untuk identifikasi
chord dengan metode MFCC sebagai Ekstraksi ciri.
Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan informasi mengenai akurasi
penggunaan metode SVM dalam pengenalan chord pada alat musik gitar.
Ruang Lingkup Penelitian
Ruang lingkup dari penelitian ini ialah:
1 Chord yang digunakan hanya 24 chord yang terdiri atas minor dan mayor
standar.
2 Chord yang dikenali hanya chord yang dibunyikan dari atas ke bawah
sebanyak satu kali.
3 Chord yang dikenali hanya chord yang berasal dari suara gitar yang telah
dilatih sebelumnya dengan spesifikasi gitar akustik, jumlah fret 20, dan jenis
senar string.
TINJAUAN PUSTAKA
Nada dan Chord
Nada merupakan suatu simbol atau bunyi yang menjadi dasar dalam
susunan musik. Masing-masing dari nada tersebut memiliki frekuensi yang
berbeda. Jarak antara dua nada disebut dengan interval. Interval dari deretan nada
C-D-E-F-G-A-B-C ialah 1-1-1/2-1-1-1-1/2. Nada-nada tersebut dapat dinaikkan
maupun diturunkan sebanyak ½ nada. Nada yang dinaikkan ½ nada biasa diberi
simbol #, sedangkan nada yang diturunkan ½ nada biasa diberi simbol b.
Misalnya nada C dinaikkan ½ nada menjadi C#. Nada C# atau bisa disebut cis ini
sama dengan nada Db. Untuk nada E bila dinaikkan ½ nada akan menjadi nada
E# atau sama dengan nada F, karena jarak interval dari kedua nada ini ialah ½.
Begitu pula pada nada B ke C.
3
Chord merupakan satuan nada-nada yang dibunyikan secara serentak yang
berfungsi sebagai pengiring dalam lagu maupun permainan music (Hendro 2004).
Chord biasanya terdiri atas tiga nada. Hal ini disebut sebagai triad. Misalnya
chord C terdiri atas nada C-E-G.
Chord tersebut direpresentasikan dengan huruf yaitu C, D, E, F, G, A, B.
Terdapat pula chord C# = Db, D# = Eb, E# = F, F# = Gb, A# = Bb, B# = C.
Illustrasi nada-nada yang ada pada gitar dapat dilihat pada Gambar 1.
Terdapat berbagai jenis chord berdasarkan nada yang menyusunnya
diantaranya ialah chord major, minor, augmented, diminished, dan sebagainya.
Oleh karena itu, chord pada gitar juga dapat dibentuk dengan berbagai posisi.
Misalnya chord C dapat dibentuk pada 3 posisi yag berbeda, yaitu pada fret I, III,
dan VIII. Struktur penyusun chords dapat dilihat pada Gambar 2.
Gambar 1 Notasi not pada fret gitar
Gambar 2 Diagram nada penyusun chord (www.tab4acustic.com)
4
Sinyal Analog dan Sinyal Digital
Sinyal didefinisikan sebagai suatu besaran fisis yang merupakan fungsi
waktu, ruangan, atau beberapa variabel. Sinyal ialah kuantitas fisik yang
bervariasi dengan waktu, ruang, maupun sembarang satu atau lebih peubah bebas
lainnya.
Sinyal analog bekerja dengan mentransmisikan suara dan gambar dalam
bentuk gelombang kontinu (continous varying). Dua parameter/karakteristik
terpenting yang dimiliki oleh isyarat analog ialah amplitudo dan frekuensi. Isyarat
analog biasanya dinyatakan dengan gelombang sinus. Sinyal ini mudah
terpengaruh oleh noise. Gelombang pada sinyal analog yang umumnya berbentuk
gelombang sinus memiliki tiga variabel dasar ialah amplitudo, frekuensi, dan fase.
Sinyal digital merupakan hasil teknologi yang dapat mengubah sinyal menjadi
kombinasi urutan bilangan 0 dan 1 sehingga tidak mudah terpengaruh oleh derau,
proses informasinya pun mudah, cepat, dan akurat. Biasanya sinyal ini dikenal
dengan sinyal diskret.
Sinyal suara merupakan suatu sinyal waktu kontinu atau sinyal analog,
sedangkan komputer hanya dapat memproses sinyal waktu diskret atau digital.
Oleh karena itu untuk dapat memroses suatu sinyal suara, sinyal tersebut harus
dikonversi menjadi sinyal digital terlebih dahulu. Proses konversi ini disebut
Analog to Digital Converter. Proses konversi ini terbagi menjadi tiga tahap yaitu:
1 Sampling merupakan proses untuk mengambil sample atau data sinyal kontinu
pada periode tertentu, sehingga diperoleh sinyal waktu diskret. Banyaknya
sample yang diambil tiap detiknya disebut sampling rate. Input suara biasanya
direkam dalam sampling rate di atas 10000 Hz (Do 1994).
2 Kuantisasi merupakan suatu proses memetakan nilai-nilai dari sinyal nilai
kontinyu pada suatu selang tertentu menjadi nilai-nilai yang diskret sehingga
didapatkan sinyal nilai diskret atau sinyal digital.
3 Coding merupakan pemberian bilangan biner pada setiap level kuantisasi.
Proses konversi tersebut dapat dilihat pada Gambar 3.
Gambar 3 Konversi sinyal analog menjadi sinyal digital (Gossink dan Cook
1997)
5
Ekstraksi Ciri MFCC
Ekstraksi ciri merupakan proses mengekstraksi sejumlah data dari sinyal
suara yang nantinya akan digunakan untuk merepresentasikan setiap sinyal
tersebut (Do 1994). Tujuannya untuk menentukan satu nilai atau vektor yang
dapat digunakan sebagai penciri obyek atau individu. MFCC merupakan teknik
yang umumnya dipakai dan memiliki kinerja yang baik. Cara kerja MFCC
didasarkan atas cara pendengaran manusia. Proses MFCC dapat dilihat pada
Gambar 4. Penjelasan dari masing-masing tahapan ialah:
1 Frame Blocking
Pada tahapan ini sinyal suara yang dibaca kemudian dibagi ke dalam bentuk
frame. Setiap frame memilki N sampel yang direpresentasikan dalam bentuk
vektor. Setiap frame yang bersebelahan saling tumpang tindih atau overlap. Hal
ini ditujukan agar tidak ada informasi yang hilang. Proses Frame Blocking dapat
dilihat pada Gambar 5.
Gambar 4 Alur proses MFCC (Buono 2009)
Gambar 5 Frame blocking (Satrya 2011)
6
2 Windowing
Setiap frame dari sinyal suara mengandung satu unit informasi. Oleh karena
itu, distorsi antar frame tersebut harus diminimalkan dengan teknik windowing.
Proses windowing dilakukan pada setiap frame untuk meminimalkan
diskontinuitas sinyal pada awal dan akhir tiap frame. Beberapa jenis window yang
digunakan dapat dilihat pada Tabel 1 (Ramirez 1984). Proses windowing dapat
dilihat pada Gambar 6.
Penelitian ini menggunakan window Hamming. Karena pertimbangan
kesederhanaan formula dan nilai kinerja window, penggunaan window Hamming
cukup beralasan. Persamaan matematika untuk pembentukan window Hamming
dapat dilihat pada persamaan:
2n
w(n) 0.54 0.46 cos
, 0 n N 1
N 1
dan
Yi(n) = Xi(n).w(n)
Xi(n) adalah frame dan Yi(n) adalah hasil perkalian dari Xi(n) dan hasil window
w(n).
Tabel 1 Jenis window
Nama Window
Daniell
Hamming
Persamaan Matematika
� n )=
� n =
sin πn
, |n| ≤ 1
πn
0
, lainnya
0.54 + 0.46 cos (πn) ,
0
,
|n| ≤ 1
lainnya
Parzen
1 - 6n2 + 6 n 3 ,
� n = 2(1 - |n|)2 ,
0
,
Priestly
sin(πn)
− cos (πn) , |n| ≤ 1
πn
� n = (πn)
0
, lainnya
|n| ≤ 0.5
0.5 ≤ n ≤ 1
lainnya
3
Sasaki
2
1
sin(πn) + 1 - n cos (πn),
|n| ≤ 1
� n = π
0
,
lainnya
Gambar 6 Windowing (Satrya 2011)
7
3 Fast Fourier Transform (FFT)
Analisis Fourier merupakan suatu teknik matematika untuk
mendekomposisi sinyal menjadi sinyal-sinyal sinusoidal. Analisis Fourier terdiri
atas dua versi, yaitu versi real dan versi imajiner. Perbedaan sinyal harus dilihat
dari domain frekuensi, karena jika dilihat dari domain waktu, perbedaannya sulit
terlihat. Untuk itu, sinyal suara yang berada pada domain waktu diubah ke domain
frekuensi dengan Fast Fourier Transform (FFT). FFT merupakan suatu algoritme
untuk mengimplementasikan Discrete Fourier Transform (DFT) (Do 1994).
Persamaan matematika untuk pembentukan FFT dapat dilihat pada persamaan:
∑
Dengan n = 0, 1, 2, …, N-1.
−
n
ialah frame.
4 Mel-frequecy Wrapping
Studi menunjukkan bahwa persepsi manusia terhadap frekuensi sinyal suara
tidak berupa skala linear. Oleh karena itu, untuk setiap nada dengan frekuensi
aktual f (dalam Hertz), tinggi subjektifnya diukur dengan skala mel (melody).
Skala mel-frequency ialah selang frekuensi di bawah 1000 Hz dan selang
logaritmik untuk frekuensi di atas 1000 Hz (Do 1994). Pendekatan berikut
digunakan dalam menghitung mel-frequency untuk frekuensi f dalam Hz:
mel(f) = 2595*log10(1 + f / 700).
Mel adalah mel- frequency dan f adalah frekuensi linear.
5 Cepstrum
Pada tahap ini, mel-frequency akan dikonversi ke dalam domain waktu
untuk menghasilkan mel-frequency cepstrum coefficient (MFCC). Representasi
cepstral dari spectrum suara menyediakan representasi yang baik dari properti
local spectral pada sinyal untuk analisis frame karena nilai koefisien mel
spectrum adalah nilai real yang dapat dikonversi lagi ke dalam domain waktu
dengan menggunakan Discrete Cosine Transform (DCT). Proses tersebut dapat
dilihat pada Gambar 7. Selanjutnya MFCC dapat dihitung sebagai cn dengan
̃
∑
̃
[
−
]
K ialah banyaknya koefisien cepstral, k = 0,1,…., K-1 dan n = 0,1,…., K-1.
Gambar 7 Perubahan dari FFT ke cepstrum (Satrya 2011)
8
Support Vector Machine (SVM)
Support Vector Machine (SVM) ialah sistem pembelajaran yang
menggunakan ruang hipotesis berupa fungsi-fungsi linear dalam sebuah ruang
fitur (feature space) berdimensi tinggi, dilatih dengan algoritme pembelajaran
yang didasarkan pada teori optimasi dengan mengimplementasikan learning bias
yang berasal dari teori pembelajaran statistik (Cristianini dan Taylor 2000).
SVM ialah salah satu teknik yang relatif baru dibandingkan dengan teknik
lain, tetapi memiliki performansi yang lebih baik di berbagai bidang aplikasi
seperti bioinformatics, pengenalan tulisan tangan, klasifikasi teks dan lain
sebagainya (Cristianini dan Taylor 2000). Teori yang mendasari SVM sendiri
sudah berkembang sejak 1960-an, tetapi baru diperkenalkan oleh Vapnik, Boser
dan Guyon pada tahun 1992 dan sejak itu SVM berkembang dengan pesat.
SVM pada Linearly Separable Data
Linearly separable data merupakan data yang dapat dipisahkan secara
linear. Misalkan{xi ,..., xn}ialah data set dan yi ∈{+1,−1} ialah label kelas dari data
xi. Pada Gambar 8 dapat dilihat berbagai alternatif bidang pemisah yang dapat
memisahkan semua data set sesuai dengan kelasnya. Namun, bidang pemisah
terbaik tidak hanya dapat memisahkan data tetapi juga memiliki margin paling
besar.
SVM pada Nonlinearly Separable Data
Klasifikasi data yang tidak dapat dipisahkan secara linear formula SVM
harus dimodifikasi karena tidak akan ada solusi yang ditemukan. Oleh karena itu,
kedua bidang pembatas harus diubah sehingga lebih fleksibel (untuk kondisi
tertentu) dengan penambahan variabel ξi (ξi ≥ 0,∀ i : ξi = 0 jika x i diklasifikasikan
dengan benar) menjadi x i .w + b ≥1 - ξi untuk kelas 1 dan x i .w + b ≤ −1 + ξi
untuk kelas 2. Pencarian bidang pemisah terbaik dengan dengan penambahan
variabel ξi sering juga disebut soft margin hyperplane. Dengan demikian formula
pencarian bidang pemisah terbaik berubah menjadi:
(∑ )
−
C adalah parameter yang menentukan besar penalti akibat kesalahan dalam
Gambar 8 Kasus data linear (Sembiring 2007)
9
klasifikasi data dan nilainya ditentukan oleh pengguna. Metode lain untuk
mengklasifikasikan data yang tidak dapat dipisahkan secara linear ialah dengan
mentransformasikan data ke dalam dimensi ruang fitur (feature space) sehingga
margin dapat dipisahkan secara linear pada feature space.
Data dipetakan dengan menggunakan fungsi pemetaan (transformasi) xk →φ
(xk) ke dalam feature space sehingga terdapat bidang pemisah yang dapat
memisahkan data sesuai dengan kelasnya (Gambar 9). Feature space dalam
prakteknya biasanya memiliki dimensi yang lebih tinggi dari vektor input (input
space). Hal ini mengakibatkan komputasi pada feature space mungkin sangat
besar, karena ada kemungkinan feature space dapat memiliki jumlah feature yang
tidak terhingga. Selain itu, sulit mengetahui fungsi transformasi yang tepat. Untuk
mengatasi masalah ini, pada SVM digunakan ”kernel trick”. Fungsi kernel yang
umum digunakan ialah sebagai berikut (Hsu et al. 2003):
a Linear kernel: K(xi, x) = xT, x
b Polinomial kernel: K(xi, x) = (γ.xiT xi + r)p, γ > 0
c Radial Basis Function (RBF) kernel : K(xi, x) = exp(-γ|xi – x|2), γ > 0
d Sigmoid kernel : K(xi, x) = tanh(γxiT xi + r)
Dengan solusi persamaan:
∑
L adalah jumlah vektor, α adalah Lagrange multiplier, adalah label kelas, dan b
adalah bias.
Menurut (Hsu et al. 2003) fungsi kernel yang direkomendasikan untuk diuji
pertama kali ialah fungsi kernel RBF karena memiliki performa yang sama
dengan kernel linear pada parameter tertentu, memiliki perilaku seperti fungsi
kenel sigmoid dengan parameter tentu dan rentang nilainya kecil [0,1]. SVM saat
pertama kali diperkenalkan oleh Vapnik, hanya dapat mengklasifikasikan data ke
dalam dua kelas (klasifikasi biner). Namun, penelitian lebih lanjut untuk
mengembangkan SVM sehingga bisa mengklasifikasi data yang memiliki lebih
dari dua kelas, terus dilakukan. Ada dua pilihan untuk mengimplementasikan
multiclass SVM, yaitu dengan one-against-one dan one-against-all.
Gambar 9 Transformasi dari vektor input ke feature space (Sembiring 2007)
10
METODE
Penelitian ini dilakukan dengan beberapa tahapan proses, yaitu studi pustaka,
pengambilan data suara, ekstraksi ciri menggunakan MFCC, pemodelan chord
dengan SVM, dan pengujian. Proses tersebut dapat dilihat pada Gambar 10.
Tahapan studi pustaka ialah awal dilakukannya penelitian ini yaitu
melakukan pencarian dan pembelajaran mengenai pustaka-pustaka yang
dibutuhkan untuk penelitian ini, sumbernya berasal dari buku-buku, jurnal,
artikel-artikel, dan skripsi penelitian sebelumnya yang dilakukan untuk
memahami langkah-langkah dalam metode atau teknik yang digunakan dalam
penelitian ini.
Pengambilan Data
Pada tahap ini dilakukan pengambilan data dengan merekam suara dari
masing-masing chord gitar menjadi berkas yang bertipe WAV. Data yang
digunakan hanya 24 chord gitar yang terdiri dari major dan minor dari setiap
chord. Proses pengambilan suara gitar dilakukan dalam keadaan sunyi agar tidak
ada noise yang terekam. Pengambilan data pun harus dilakukan secara benar,
yaitu memetik senar gitar dari atas ke bawah sebanyak satu kali. Tabel 2
menunjukkan daftar chord yang digunakan dalam penelitian ini.
Preprocessing
Proses selanjutnya ialah pemotongan pada awal dan akhir tiap frame, setelah
terpotong dilakukan ekstraksi ciri menggunakan metode MFCC. Hasil akhir dari
proses ini ialah berupa matrik hasil operasi rataan yang terdiri dari data latih dan
data uji.
Pemodelan Support Vector Machine (SVM)
Tahap ini dilakukan menggunakan data latih dari hasil ekstraksi ciri.
Penelitian ini akan dicari kombinasi kernel dan parameternya yang menghasilkan
model pengenalan chord dengan akurasi yang terbaik. Parameter yang digunakan
Gambar 10 Tahapan metode
11
Tabel 2 Daftar chord
Chord dasar
C
C#
D
D#
E
F
F#
G
G#
A
A#
B
Mayor
CM
C#M
DM
D#M
EM
FM
F#M
GM
G#M
AM
A#M
BM
Minor
Cm
C#m
Dm
D#m
Em
Fm
F#m
Gm
G#m
Am
A#m
Bm
ialah parameter yang terbaik dari hasil proses cross-validation dengan nilai fold
ialah 5. Kernel yang digunakan pada penelitian ini ialah linear, polinomial, dan
RBF. Penelitian ini menggunakan Library for Support Vector Machine (LIBSVM),
LIBSVM sudah dilengkapi oleh fitur multikelas yaitu metode one-against-one.
Pengujian Support Vector Machine
Proses pengujian chord pada penelitian ini dilakukan untuk mendapatkan
nilai akurasi dari setiap chord yang diujikan. Nilai akurasi dihitung dengan fungsi
berikut:
Hasil =
Jumlah chord yang benar
x 100%
Jumlah chord yang diuji
Lingkungan Pengembangan
Pada penelitian ini digunakan perangkat keras dan perangkat lunak dengan
spesifikasi sebagai berikut :
a) Perangkat Keras
Processor Pentium(R) dual – core CPU T4300 @ 2.10 GHz
Memory 1024 MB RAM
Hardisk 250 GB
b) Perangkat Lunak
Sistem Operasi Windows 7 Ultimate 32-bit
Matlab R2008b
Notepad
c) Peralatan
Gitar akustik dengan jenis senar string dengan jumlah frets 20
Microphone
Aktiv speaker
12
HASIL DAN PEMBAHASAN
Preprocessing
Proses preprocessing diawali dengan memasukan data suara chord,
kemudian dilakukan ekstraksi ciri MFCC dengan menggunakan lima parameter,
yaitu input suara, sampling rate, time frame, overlap, dan cepstral coefficient.
Pemilihan nilai untuk sampling rate ialah 22050 Hz, time frame ialah 256 ms dan
overlap ialah 25%, sedangkan jumlah cepstral coefficient yang digunakan ialah 13
koefisien.
Hasil ekstraksi ciri menggunakan MFCC memiliki hasil berupa matriks ciri
(n x k), n ialah jumlah frame dan k ialah koefisien. Untuk menghasilkan vektor
yang berukuran (1 x 13) di setiap ulangan suara, dilakukan perata-rataan koefisien
pada setiap baris. Data latih yang digunakan dalam penelitian untuk satu chord
ada 40 data, maka matrik yang dihasilkan berukuran (40 x 13). Gambar 11
menunjukan grafik penggabungan data satu chord.
Pemodelan Support Vector Machine (SVM)
Frame
Proses cross-validation dilakukan pada data latih menghasilkan parameter
terbaik, pada kernel linear menghasilkan parameter c (cost) = 2 pada rentang
2-5 ≤ c ≤ 215 dengan akurasi cross-validation = 88.33%, k = 5.
Pada kernel polinomial parameter terbaik c = 512 pada rentang 2-5 ≤ c ≤ 215.
Parameter γ (gamma) = 3.05176e-005 pada rentang 2-15 ≤ g ≤ 23. Parameter d
(degree) = 4 pada rentang 1 ≤ d ≤ 4. Parameter r (coef0)= 3 pada rentang 0 ≤ x ≤ 4,
dengan akurasi cross-validation = 89.44%, k = 5.
Pada kernel RBF parameter terbaik c = 1 pada rentang 2-5 ≤ c ≤ 215.
Parameter γ (gamma) = 1 pada rentang 2-15 ≤ g ≤ 23, dengan akurasi crossvalidation = 82.91%, k = 5. Dengan demikian dari hasil cross-validation
Koefisien
Gambar 11 Hasil penggabungan dari 40 vektor
13
dihasilkan parameter terbaik dari masing – masin g kernel. Pemodelan SVM
menggunakan data latih sebanyak 720 data. Dilakukan penggabungan dari seluruh
vektor menjadi matrik yang berukuran (720 x 13). Gambar 12 menunjukan
kumpulan vektor ciri data latih yang telah digabung dari semua chord.
Begitu pula data uji yang berukuran (240 x 13). Setelah mendapatkan matrik
data latih dan data uji, dilakukan pemodelan. Pemodelan dilakukan dengan
menggunakan parameter terbaik dari masing – masing kernel. Terbentuknya 3
model yang terdiri atas model SVM linear, model SVM polinomial, dan model
SVM RBF.
Pengujian
Frame
Pengujian dilakukan dengan menggunakan 240 data uji terhadap ketiga
model tersebut. Tabel 3 menunjukkan hasil identifikasi SVM dengan kernel
linear, polinomial, RBF.
Dari Tabel 3 dapat diketahui bahwa akurasi pendeteksian chord
menggunakan metode SVM dan kernel linear, kernel polinomial, dan kernel RBF
masing – masing 92.91% (223/240), 93.33% (224/240), dan 93.33% (224/240).
Hasil tersebut merepresentasikan akurasi dari setiap kernel, yaitu jumlah chord
yang benar dibagi jumlah chord yang diujikan. Pada Gambar 13 terlihat chord
yang dikenal baik oleh sistem dengan akurasi 100% ialah chord A, Am, A#m, B,
Bm, C, Cm, D, Dm, D#, E, Em, F, Fm, F#, F#m,G, Gm. Chord A#, C#, C#m, D#,
E memiliki akurasi di atas 80%. Chord yang dikenali oleh sistem dengan akurasi
terendah, yaitu di bawah 70% ialah chord G# dan G#m.
Matriks konfusi yang menunjukkan hasil klasifikasi dari setiap chord
dengan menggunakan kernel linear, polimonial, dan RBF dapat dilihat pada
Lampiran 1, 2, dan 3.
Jumlah data
Gambar 12 Kumpulan vektor ciri data
Koefisien
14
Gambar 13 Grafik tingkat akurasi
Tabel 3 Tingkat akurasi dari ketiga model
Kode
Chord
1
A
2
Am
3
A#
4
A#m
5
B
6
Bm
7
C
8
Cm
9
C#
10
C#m
11
D
12
Dm
13
D#
14
D#m
15
E
16
Em
17
F
18
Fm
19
F#
20
F#m
21
G
22
Gm
23
G#
24
G#m
Akurasi
Linear
100%
100%
90%
100%
100%
100%
100%
100%
70%
90%
100%
100%
100%
90%
90%
100%
100%
100%
100%
100%
100%
100%
50%
50%
92.91%
Polinomial
100%
100%
90%
100%
100%
100%
100%
100%
70%
90%
100%
100%
100%
100%
90%
100%
100%
100%
100%
100%
100%
100%
60%
40%
93.33%
RBF
100%
100%
80%
100%
100%
100%
100%
100%
80%
90%
100%
100%
100%
100%
90%
100%
100%
100%
100%
100%
100%
100%
70%
30%
93.33%
15
SIMPULAN DAN SARAN
Simpulan
Berdasarkan penelitian yang dilakukan didapatkan kesimpulan sebagai
berikut:
1 Fungsi kernel yang diterapkan dalam penelitian ini ialah model kernel linear,
kernel polinomial, dan kernel RBF. Hasil menunjukan bahwa dengan metode
klasifikasi SVM dengan menggunakan kernel polinomial dan RBF hasilnya
sama baik, yaitu 93.33 % dibandingkan dengan metode SVM kernel linear
yang memiliki akurasi 92.91%.
2 Chord yang memiliki tingkat akurasi diatas 80% berarti chord tersebut dapat
dikenali cukup baik oleh sistem. Sebaliknya chord yang mempunyai tingkat
akurasi yang rendah berarti chord tersebut tidak dapat dikenali dengan baik
oleh sistem. Chord yang mempunyai tingkat akurasi paling rendah ialah chord
G#m dan G#. Hal ini disebabkan karena susunan yang menyusun chord major
dan minor hanyalah setengah nada, susunan nada pada chord G# ialah nada g#c-d# sedangkan susunan pada chord G#m ialah nada g#-b-d#, artinya hanya
setengah nada yang membedakannya.
Saran
Penelitian ini masih memiliki banyak kekurangan yang memerlukan
pengembangan lebih lanjut. Beberapa saran yang dapat ditambahkan di antaranya:
1 Dalam penelitian ini chord yang tidak dapat dikenali dengan baik perlu
dilakukan klasifikasi khusus, yaitu klasifikasi untuk mengenali chord yang
mempunyai pembeda setengah nada dalam susunan nadanya. Misalnya
klasifikasi khusus untuk mengenali chord G# dan G#m, C# dan C#m.
2 Mencoba menggunakan parameter MFCC lain seperti frekuensi dan koefisien
guna meningkatkan akurasi.
16
DAFTAR PUSTAKA
Buono A. 2009. Representasi nilai HOS dan model MFCC sebagai ekstraksi ciri
pada sistem identifikasi pembicara di lingkungan ber-noise menggunakan
HMM. [Disertasi]. Depok (ID): Universitas Indonesia.
Chang CC, Lin CJ. 2011. ACM transactions on intelligent systems and technology.
A
Library
for
Support
Vector
Machines.
2(3):1-10.doi:
10.1145/1961189.1961199.
Cristianini N, Taylor JS. 2000. An Introduction to Support Vector Machines and
Other Kernel-Based Learning Methods. Cambridge (GB): Cambridge Press
University.
Do MN. 1994. An automatic speaker recognition system audio visual
communications laboratory. Di dalam: Digital Signal Processing MiniProject. Lausanne (CH): Swiss Federal Institute of Technology.
Furey TS, Cristianini N, Duffy N, Bednarski DW, Schummer M, Haussler D.
2000. Support vector machine classification and validation of cancer tissue
samples using microarray expression data. Bioinformatics. 16(10)906-914. doi:
10.1093/bioinformatics/16.10.906.
Ganchev TD. 2005. Speaker recognition [Tesis]. Wire Communications
Laboratory, Department of Computer and Electrical Engineering. Patras (GR):
University of Patras.
Gossink DE, Cook SC 1997. A novel synchronisation scheme for spread-spectrum
communications. Di dalam: Wysocki T, Razavi H, dan Honary B, editor.
Digital Signal Processing for Communications. ISBN 0-7923-9932-3. Boston
(US): Kluwer Academic Publishers
Hendro. 2004. Panduan Praktis Improvisasi Gitar. Jakarta: Penerbit Puspa Swara.
Hsu CW, Chang CC, Lin CJ. 2003. A Practical Guide to Support Vector
Classification. Department of Computer Science and Information Engineering
(TW): National Taiwan University.
Jurafsky D, Martin JH. 2000. Speech and Language Processing An Introduction
to Natural Language Processing. Computational Linguistic, and Specch
Recognition, New Jersey (US): Prentice Hall.
Mulia I. 2012. Pengenalan aksara sunda menggunakan ekstraksi ciri zoning dan
klasifikasi support vector machine [Skripsi]. Bogor (ID): Institut Pertanian
Bogor.
17
Satrya R. 2011. Sistem indentifikasi suara pria dan wanita berdasarkan usia
menggunakan MFCC dan k-mean clustering [Skripsi]. Bandung (ID): IT
Telkom.
Sembiring K. 2007. Penerapan teknik support vector machine untuk pendektesian
intrusi pada jaringan [Skripsi]. Bandung (ID): Institut Teknologi Bandung.
Ramirez RW. 1984. The FFT, Fundamentals and Concepts. New Jersey (US):
Prentice-Hall.
Tomasouw BP. 2012. Multiclass twin bounded support vector machine untuk
pengenalan ucapan [Disertasi]. Surabaya (ID): Institut Teknologi Sepuluh
Nopember.
Wisnudisastra E. 2009. Pengenalan chord pada alat musik gitar menggunakan
codebook dengan teknik ekstrasi ciri MFCC [Skripsi]. Bogor (ID): Institut
Pertanian Bogor.
18
Lampiran 1 Matriks konfusi kernel linear
Chord
A
Am
A#
A#m
B
Bm
C
Cm
C#
C#m
D
Dm
D#
D#m
E
Em
F
Fm
F#
F#m
G
Gm
G#
G#m
A
10
-
Am
10
-
A#
9
-
A#m
10
-
B
10
-
Bm
1
10
-
C
10
1
-
Cm
10
-
C#
7
1
-
Hasil Klasifikasi Kernel Linear
C#m D Dm D# D#m E
3
9
10
10
10
1
9
9
-
Em
10
-
F
10
-
Fm
10
-
F#
10
-
F#m
10
-
G
10
-
Gm
10
-
G#
5
5
G#m
5
5
Lampiran 2 Matriks konfusi kernel polinomial
Chord
A
Am
A#
A#m
B
Bm
C
Cm
C#
C#m
D
Dm
D#
D#m
E
Em
F
Fm
F#
F#m
G
Gm
G#
G#m
A
10
-
Am
10
-
A#
9
-
A#m
10
-
B
10
-
Bm
1
10
-
C
10
1
-
Cm
10
-
C#
7
1
-
Hasil Klasifikasi Kernel Polinomial
C#m D Dm D# D#m E
3
9
10
10
10
10
9
-
Em
10
-
F
10
-
Fm
10
-
F#
10
-
F#m
10
-
G
10
-
Gm
10
-
G#
6
6
G#m
4
4
19
20
Lampiran 3 Matriks konfusi kernel RBF
Chord
A
Am
A#
A#m
B
Bm
C
Cm
C#
C#m
D
Dm
D#
D#m
E
Em
F
Fm
F#
F#m
G
Gm
G#
G#m
A
10
-
Am
10
-
A#
8
-
A#m
10
-
B
10
-
Bm
10
-
C
10
1
-
Cm
10
-
C#
1
8
1
-
Hasil Klasifikasi Kernel RBF
C#m D Dm D# D#m E
2
9
10
10
10
10
9
-
Em
10
-
F
10
-
Fm
10
-
F#
10
-
F#m
10
-
G
10
-
Gm
10
-
G#
7
7
G#m
1
3
3
21
RIWAYAT HIDUP
Penulis bernama Wido Aryo Andhika dilahirkan di Sukabumi pada tanggal
8 Januari 1990 sebagai anak pertama dari 3 bersaudara dari pasangan Bapak
Moch. Djamil dan Ibu Tien Supriatin. Penulis menyelesaikan pendidikan
lanjutan atas di SMU Negeri 3 Kota Sukabumi pada tahun 2008.
Pada tahun yang sama, penulis diterima sebagai mahasiswa di Institut
Pertanian Bogor (IPB) pada Program Studi Ilmu Komputer, Fakultas
Matematika dan Ilmu Pengetahuan Alam melalui jalur SNMPTN.