Pengembangan Model Codebook untuk Identifikasi Chord Gitar

PENGEMBANGAN MODEL CODEBOOK
UNTUK IDENTIFIKASI CHORD GITAR

TONI HARYONO

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
INSTITUT PERTANIAN BOGOR
BOGOR
2013

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan Model
Codebook Untuk Identifikasi Chord Gitar adalah 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, Agustus 2013
Toni Haryono
NIM G64104075

ABSTRAK
TONI HARYONO. Pengembangan Model Codebook untuk Identifikasi Chord
Gitar. Dibimbing oleh AGUS BUONO.
Gitar akustik dapat menghasilkan gelombang bunyi dengan berbagai jenis
nada. Tinggi-rendahnya nada ditentukan oleh frekuensi dasar gelombang bunyi.
Indera pendengaran manusia dapat membedakan tinggi-rendahnya nada, namun
tidak dapat mengetahui secara pasti jenis nada apa yang didengar olehnya.
Penelitian ini mengembangkan sistem pengenalan chord gitar. Penelitian ini
menggunakan MFCC sebagai metode ekstraksi ciri dan codebook sebagai metode
pengenalan pola untuk identifikasi chord gitar. Teknik kluster yang digunakan
pada penelitian ini adalah k-means. Data hasil MFCC diklasterkan menggunakan
k-means, kemudian dibuat modelnya dengan metode codebook. Parameter yang
digunakan dalam proses MFCC adalah jumlah koefisien cepstral, overlap, dan
time frame, sedangkan parameter penting dalam k-means adalah jumlah kluster.
Penelitian ini menggunakan 8640 data suara gitar dengan banyaknya chord 24

kelas. Masing-masing data tersebut tersusun atas 2 chord yang akan diuji secara
terpisah. Hasil simulasi menunjukkan bahwa akurasi maksimum yang diperoleh
adalah 98.89% yang diperoleh pada jumlah koefisien cepstral 26, overlap 0.4,
time frame 30 ms, dan jumlah kluster 100.
Kata kunci: chord, codebook,
(MFCC)

k-means, mel frequency cepstral coefficients

ABSTRACT
TONI HARYONO. Codebook Development Model To Identify Guitar Chord.
Supervised by AGUS BUONO.
Acoustic guitar can produce sound waves with different types of tones.
High-low tone is determined by the fundamental frequency of the sound wave.
Human sense of hearing can distinguish high-and low tones, but can not know for
sure what kind of tone is heard by him. This study developed a guitar chord
recognition system. This study uses MFCC as feature extraction methods and the
codebook as pattern recognition method for identification of the guitar chord.
Cluster technique used in this study is the K-means clustering. Data obtained from
MFCC are clustered using the K-Means method, and the model for classification

is constructed using the codebook method. The parameters used in MFCC is the
number of cepstral coefficients, overlap, and the time frame, while an important
parameter in the K-Means is the number of clusters. This study uses 8640 guitar
chord sounds from 24 classes. Each of the data is made up of two chords which
will be tested. Simulation results show that the maximum accuracy obtained is
98.89% obtained on 26 cepstral coefficients, overlap 0.4, time frame is 30 ms, on
100 clusters.
Keywords: chord, codebook,
(MFCC)

k-means, mel frequency cepstral coefficients

PENGEMBANGAN MODEL CODEBOOK
UNTUK IDENTIFIKASI CHORD GITAR

TONI HARYONO

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Ilmu Komputer

pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN
INSTITUT PERTANIAN BOGOR
BOGOR
2013

Penguji:
1. Karlisa, ST MEng
2. Mushthofa, SKom MSc

Judul Skripsi : Pengembangan Model Codebook untuk Identifikasi Chord Gitar
Nama
: Toni Haryono
NIM
: G64104075

Disetujui oleh


Dr Ir Agus Buono, MSi MKom
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom
Ketua Departemen Ilmu Komputer

Tanggal Lulus:

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wata’ala atas
segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang
dipilih dalam penelitian yang dilaksanakan sejak bulan Maret 2012 ini ialah
ekstraksi ciri dan pengenalan pola, dengan judul Pengembangan Model Codebook
untuk Identifikasi Chord Gitar.
Terima kasih penulis ucapkan kepada Bapak Dr Ir Agus Buono, MSi
MKom selaku pembimbing yang telah memberikan arahan dan saran selama
penelitian ini berlangsung, serta kepada Bapak Mushthofa, SKom MSc dan Ibu

Karlisa, ST MEng selaku penguji untuk penelitian ini. Ungkapan terima kasih
juga disampaikan kepada orang tua, kakak, serta seluruh keluarga, atas segala doa
dan kasih sayangnya.
Penulis menyadari bahwa masih terdapat kekurangan dalam penulisan
skripsi ini. Semoga karya ilmiah ini bermanfaat.

Bogor, Agustus 2013
Toni Haryono

DAFTAR ISI
DAFTAR TABEL

vi

DAFTAR GAMBAR

vi

PENDAHULUAN


1

Latar Belakang

1

Tujuan Penelitian

2

Manfaat Penelitian

2

Ruang Lingkup Penelitian

2

METODE PENELITIAN


2

Data Latih

6

Data Uji

6

Ekstraksi Ciri dengan MFCC

7

Pengenalan Pola dengan Codebook

8

Pengujian


10

Lingkungan Pengembangan Sistem

11

HASIL DAN PEMBAHASAN

11

Pengumpulan Data

11

Ekstraksi Ciri dengan MFCC

12

Pemodelan Codebook


12

Hasil Pengujian

13

SIMPULAN DAN SARAN

15

Simpulan

15

Saran

15

DAFTAR PUSTAKA


16

RIWAYAT HIDUP

21

DAFTAR TABEL
1 Daftar chord gitar
2 Komposisi data chord
3 Nilai akurasi koefisien cepstral 13 dengan k-cluster 8, 12, 16,
20, 24, 28, 32, dan 100
4 Hasil pengujian koefisien cepstral berdasarkan nilai K

5
6
13
14

DAFTAR GAMBAR
1
2
3
4
5
6
7
8

Tahapan transformasi sinyal suara menjadi informasi (Buono 2009)
Diagram alur penelitian proses identifikasi chord gitar
Proses segmentasi chord C dan G
Diagram alur MFCC (Buono 2009)
Proses pembuatan codebook dari data latih
Ukuran jarak antara sebuah frame dengan sebuah codebook
Vektor sinyal suara chord C dan Chord B
Grafik akurasi koefisien cepstral 13 dan 26 dengan k-cluster 8,
12, 16, 20, 24, 28, 32, dan 100

3
4
6
7
9
10
12
14

DAFTAR LAMPIRAN
1 Bentuk Chord yang digunakan pada pelatihan dan pengujian
2 Diagram proses pengenalan tak berstruktur
3 Confusion matrix kesalahan dalam pengenalan chord pada
koefisien 26 dengan nilai K 100

17
19
20

PENDAHULUAN
Latar Belakang
Perkembangan teknologi dan ilmu pengetahuan sangat cepat mempengaruhi
perkembangan seni musik, termasuk alat musiknya. Dalam perkembangan seni
musik, banyak alat musik yang dihasilkan untuk menunjangnya. Gitar merupakan
salah satu alat musik yang mampu menyediakan nada yang jumlahnya tidak
terbatas. Pengetahuan kunci gitar atau dikenal chord sangat diperlukan untuk
memainkan gitar. Chord merupakan rangkaian nada yang membangun
keharmonisasian pada musik (Wisnudisastra dan Buono 2009). Berbeda hal dalam
mengenali sebuah kata atau kalimat, mengenali sebuah chord gitar lebih sulit
dilakukan oleh indera pendengaran manusia khususnya bagi mereka yang awam
terhadap suara gitar.
Salah satu solusi yang dapat dilakukan untuk menanggulangi masalah
tersebut adalah dengan cara komputerisasi, yaitu penggunaan komputer sebagai
sistem pengenalan chord pada alat gitar. Fungsi untuk mengenali chord secara
otomatis sangat penting dalam beberapa aplikasi, diantaranya seperti sistem musik
interaktif, maupun aplikasi edukasi. Karakter komputer yang konsisten pada setiap
eksekusi perintah yang diberikan, memudahkan pengguna sistem untuk
mendapatkan hasil pengenalan chord gitar yang akurat. Secara sederhana cara
kerja sistem adalah dengan mencari ciri dari setiap chord dengan mel frequency
cepstrum coefficient (MFCC) dan pengenalan pola untuk identifikasinya
menggunakan codebook.
Penelitian sebelumnya disebutkan bahwa metode linear prediction ceptrum
coefficient (LPCC) memiliki keunggulan dalam hal komputasi yang lebih
sederhana. Namun, tingkat akurasinya tidak sebaik MFCC (Li dan Chang 2003).
Pernyataan ini diperkuat dengan pernyataan bahwa dalam pengenalan suara,
MFCC dapat merepresentasikan sinyal lebih baik dibandingkan dengan LPCC dan
teknik lainnya (Buono 2009). Penelitian lain menyimpulkan bahwa penggunaan
metode wavelet sebagai ekstraksi ciri pada pengenalan pola tidak memberikan
hasil yang lebih baik daripada penggunaan metode MFCC (Taufani 2011).
Oleh karena itu, metode MFCC digunakan pada penelitian ini sebagai
metode ekstraksi ciri. Teknik ini menghitung koefisien cepstral dengan
mempertimbangkan persepsi sistem pendengaran manusia terhadap frekuensi
suara. Teknik MFCC sebagai ekstraksi ciri suara telah banyak digunakan pada
berbagai bidang dalam pemrosesan suara. Kelebihan utama dari MFCC adalah
dapat meniru perilaku dari telinga manusia. Setelah ekstraksi ciri, langkah
selanjutnya adalah pengenalan pola. Beberapa contoh metode pengenalan pola
yaitu codebook, jaringan syaraf tiruan, probabilistic neural network, dan hidden
Markov model. Pada penelitian ini, metode codebook akan digunakan untuk
melakukan pengenalan pola.
Pada penelitian ini akan dibangun sebuah sistem pengenalan chord secara
otomatis untuk mengidentifikasi chord gitar dengan akurasi yang baik. Pemilihan
MFCC sebagai metode ekstraksi ciri dan codebook sebagai metode identifikasi
suara diharapkan dapat membantu seorang pemain gitar atau pengguna sistem
dalam memainkan chord gitar dan mengenali suara gitar yang kontinyu.

2
Tujuan Penelitian
Tujuan dari penelitian ini ialah:
1 Mengembangkan metode codebook dan teknik ekstraksi ciri MFCC untuk
identifikasi chord gitar.
2 Mengidentifikasi 2 chord gitar.
3 Mengetahui akurasi dari identifikasi chord gitar dengan menggunakan
ekstraksi ciri MFCC dan pengenalan model codebook.

Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan informasi mengenai akurasi
pengembangan metode codebook dalam identifikasi chord gitar.

Ruang Lingkup Penelitian
Adapun ruang lingkup dari penelitian ini antara lain:
1 Chord yang akan dikenali hanyalah chord mayor dan minor yang diperoleh
dari suara gitar yang direkam.
2 Chord yang akan dikenali dimainkan dengan cara dipukul serentak dari atas ke
bawah dalam satu posisi untuk masing-masing chord.
3 Chord yang akan dikenali maksimal 2 chord dan satu oktaf.
4 Suara chord yang dikenali hanya suara chord yang dimainkan dengan
menggunakan jenis gitar akustik dengan senar string.

METODE PENELITIAN
Terdapat beberapa tahap agar komputer dapat memroses suara gitar menjadi
suatu informasi. Sinyal suara merupakan suatu sinyal waktu kontinyu atau sinyal
analog, sedangkan komputer hanya dapat memroses sinyal digital. Oleh karena itu
untuk dapat memroses suatu sinyal suara maka sinyal suara tersebut harus
dikonversi menjadi sinyal digital terlebih dahulu.Proses konversi ini disebut
analog to digital conversion (ADC). Proses ADC terbagi menjadi dua tahap, yaitu
sampling dan kuantisasi.
Sampling merupakan pengamatan nilai sinyal waktu kontinyu (sinyal
analog) pada suatu waktu tertentu, sehingga diperoleh sinyal waktu diskret.
Banyaknya sample yang diambil tiap detiknya disebut sampling rate. Besarnya
sampling rate yang digunakan minimal dua kali dari jumlah frekuensi maksimum
yang dapat dihasilkan oleh sumber suara. Hal ini bertujuan untuk meminimalkan
efek aliasing, yaitu suatu efek dimana sinyal yang dihasilkan memiliki frekuensi
yang berbeda dengan sinyal aslinya. Sampling rate yang biasa digunakan adalah 8
KHz dan 16 KHz (Jurafsky dan Martin 2000). Hubungan antara panjang vektor
data yang dihasilkan dengan sampling rate dan panjangnya data suara yang
digitalisasikan dapat dinyatakan sebagai berikut:
S = Fs T

3
S = panjang vektor
Fs = sampling rate yang digunakan (Hertz)
T = panjang suara (detik)
Tahap kuantisasi, yaitu suatu proses memetakan nilai-nilai amplitudo yang
bersifat kontinyu pada suatu selang tertentu menjadi nilai-nilai yang diskret,
sehingga didapatkan sinyal nilai diskret atau sinyal digital dalam representasi
nilai 8 bit atau 16 bit (Jurafsky dan Martin 2000).
Tahap selanjutnya adalah pembacaan sinyal digital untuk dipartisi menjadi
beberapa frame yang saling tumpang tindih dengan tujuan menghindari
kehilangan informasi. Kemudian didapatkan vektor ciri dari ekstraksi ciri yang
dilakukan pada setiap frame. Setiap vektor ciri dikenai pengenalan pola agar
diperoleh informasi yang diharapkan.
Tahapan proses suara gitar menjadi suatu informasi terdiri dari digitalisasi
sinyal analog, pembacaan sinyal, ekstraksi ciri, dan pengenalan pola seperti yang
disajikan pada Gambar 1.

Gambar 1 Tahapan transformasi sinyal suara menjadi informasi (Buono
2009)
Sistem pengenalan kata suara dapat diwujudkan melalui suatu program
dengan menggunakan perangkat lunak MATLAB R2008b. Pembuatan program
dibagi menjadi beberapa tahap sesuai diagram alur penelitian yang ditunjukkan
pada Gambar 2.

4

Gambar 2 Diagram alur penelitian proses identifikasi chord gitar
Pengambilan data suara
Suara yang akan digunakan pada penelitian ini berasal dari suara 24 chord
gitar yang dimainkan dengan cara dipukul serentak dari atas ke bawah, kemudian
direkam. Suara transisi 2 chord dari 24 chord akan diulang sebanyak 15 kali
perekaman. Dari hasil perkalian antara 24 chord kunci pertama, 24 chord kunci
kedua, dan 15 kali perekaman maka dihasilkan data sebanyak 8640 untuk data
latih 5760 dan data uji 2880. Untuk mendapatkan hasil perekaman yang terdapat
sedikit noise, perekaman dilakukan pada ruangan yang hening.
Pengambilan data suara dilakukan dengan cara merekam suara 2 chord gitar
setiap satu chord ke chord lainnya sebanyak 15 kali, sehingga masing-masing
chord memiliki 10 data suara untuk data latih dan 5 data suara untuk data uji.
Jumlah keseluruhan untuk data latih adalah sebanyak 5760 data suara dan untuk
data uji sebanyak 2880 data suara, sehingga total data keseluruhan sebanyak 8640
data suara.

5
File data suara direkam selama 3 detik dalam format WAV. Setiap
perekaman suara menggunakan sampling rate sebesar 11000 Hz dan bit rate
sebesar 16 bit. Chord-chord yang dipakai adalah 24 jenis terdiri dari chord mayor
dan minor. Jenis chord mayor dan minor yang dipakai seperti pada Tabel 1. Ke-24
chord mayor dan minor tersebut hanya dimainkan pada satu posisi saja. Bentuk
24 chord mayor dan minor yang digunakan untuk proses pelatihan dan pengujian
pada penelitian ini dapat dilihat pada Lampiran 1.
Tabel 1 Daftar chord gitar
Chord Gitar

Mayor

Minor

C

C

Cm

C#

C#

C#m

D

D

Dm

D#

D#

D#m

E

E

Em

F

F

Fm

F#

F#

F#m

G

G

Gm

G#

G#

G#m

A

A

Am

A#

A#

A#m

B

B

Bm

Praproses
Tahapan praproses terdiri dari segmentasi chord. Pada tahap ini dilakukan
deteksi jeda pada setiap transisi 2 chord. Langkah awal tahap ini adalah dengan
mengabsolutkan setiap nilai chord, sehingga didapatkan hasil semua nilai positif.
Selanjutnya, dari nilai tersebut dicari nilai threshold sebagai batas tinggi sinyal
untuk jeda dan bukan jeda.
Setelah mendapatkan nilai threshold, data kontinyu yang panjang pada
bagian jeda akan dipotong. Jeda akan dijadikan data latih begitu juga untuk bagian
bukan jeda. Dua data set tersebut akan dibuat batas kritis untuk membedakan jeda
dan bukan jeda. Batas kritis menentukan batas panjang sinyal chord satu dengan
chord lainnya. Setelah selesai, akan dilanjutkan dengan ekstraksi ciri pada setiap
data yang digunakan dengan menggunakan metode MFCC. Pada tahap segmentasi
dapat dilihat pemotongan nada transisi 2 chord dari C ke G menjadi 3 bagian,
yaitu chord C, jeda, dan chord G. Tiga bagian data itu akan dimasukkan semua
menjadi data latih. Chord C ke G akan mendapatkan hasil segmentasi chord C ke
G seperti pada Gambar 3.

6

Sinyal 2 chord

Nilai chord
di-absolutkan

Nilai threshold

Batas kritis chord

Gambar 3 Proses segmentasi chord C dan G
Data Latih
Data latih merupakan perkalian dari 24 transisi 2 chord dengan 24 jumlah
chord mayor dan minor yang masing-masing direkam 10 suara. Kemudian dipilih
10 data suara secara acak dari masing-masing transisi chord untuk dijadikan
sebagai data latih. Data latih ini selanjutnya akan diproses pada tahap MFCC dan
codebook untuk menghasilkan suatu model. Model ini berfungsi sebagai alat
penentu keputusan dari hasil pengujian.
Data Uji
Data uji merupakan 5 buah data suara dari 15 data suara 2 chord. Data uji
ini akan diproses dengan tahap MFCC, selanjutnya data tersebut akan diuji
menggunakan model yang telah terbentuk dari tahap pelatihan. Data uji tambahan
diperoleh dari suara asli chord gitar secara langsung yang berjumlah 10 jenis.
Komposisi data chord yang dipakai dalam penelitian seperti pada Tabel 2.
Tabel 2 Komposisi data chord
Komposisi
Chord

Jumlah
24

Kombinasi

576

Data latih

5760

Data uji

2880

7
Ekstraksi Ciri dengan MFCC
Ciri-ciri file suara yang diperoleh akan diekstraksi menggunakan metode
feature extraction MFCC. Tahap-tahap dalam teknik MFCC lebih jelasnya
disajikan pada Gambar 4 (Buono 2009).
Sinyal Suara
Frame ke
t
O=

…,

Windowing (Do 1994) :
n
= t n * w (n , 0 ≤ n ≤ N-1
t
w(n) = 0.54 – 0.46 cos (2 n/(N-1))
dalam domain waktu
N = jumlah sampel pada setiap frame, n = frame ke-…
W = formula hamming window,
= nilai data ke n
Fast Fourier Transform (FFT) (Do 1994):
n

-



e

a n tude
n
N = jumlah data pada domain frekuensi, j=bilangan imajiner, k = N/2 + 1, i = n x t
Mel Frequency Wrapping (Nilsson dan Ejnarsson 2002): mel(f) = 2595 log (1 + f / 700)
dari sini diperoleh M filter, dan dihitung spektrum Mel:
(∑|

|

)

(k) = nilai filter segitiga ke i,
M = jumlah filter, N = banyaknya data

Cepstrum Coefficients : Discrete Cosine Transform (Do 1994)


c s
, j = jumlah koefisien cepstral

M = jumlah filter ,

,
i = jumlah wrapping

Gambar 4 Diagram alur MFCC (Buono 2009)
Teknik MFCC sebagai ekstraksi ciri dan teknik parameterisasi sinyal suara
telah banyak digunakan pada berbagai bidang area pemrosesan suara. Teknik ini
berbasis power spectrum dalam domain frekuensi sebagai penentu ciri sinyal
suara. Berdasarkan Gambar 4, sinyal dibaca dari frame ke frame dengan nilai
overlap tertentu lalu dilakukan windowing untuk setiap frame. Kemudian,
transformasi Fourier dilakukan untuk mengubah dimensi suara dari domain waktu
ke domain frekuensi.

8
Dari hasil transformasi Fourier, spektrum mel dihitung menggunakan
sejumlah filter yang dibentuk untuk mengikuti persepsi sistem pendengaran
manusia yang bersifat linear. Proses ini dikenal dengan mel-frequency wrapping.
Koefisien MFCC merupakan hasil transformasi Kosinus dari spektrum mel
tersebut dan dipilih koefisien cepstral. Transformasi Kosinus berfungsi untuk
mengembalikan dari domain frekuensi ke domain waktu.
Frame Blocking
Pada tahapan ini sinyal suara yang dibaca kemudian dibagi ke dalam bentuk
frame. Setiap frame memiliki 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. Pada penelitian ini, akan
digunakan time frame 30 ms, overlap 40%, dan koefisien cepstral akan dicoba
sebesar 13 dan 26.
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
diskontinyuitas sinyal pada awal dan akhir tiap frame (Do 1994). Metodenya
adalah dengan mengalikan tiap frame dengan fungsi window.
Transformasi Fourier (Fast Fourier Transform [FFT])
Proses selanjutnya adalah FFT yang akan mengonversi setiap frame dengan
N sampel dari domain waktu ke domain frekuensi. Konversi ini dilakukan karena
pendengaran manusia didasarkan atas domain frekuensi.
Mel Frequency Wrapping
Persepsi manusia dalam frekuensi sinyal suara tidak mengikuti skala linear.
Untuk setiap bunyi dengan frekuensi aktual f, dalam satuan Hz, nilai subyektif dari
pitch-nya diukur dengan menggunakan skala “
’’. S
mel-frequency adalah
selang frekuensi linear di bawah 1000 Hz dan selang logaritmik untuk frekuensi di
atas 1000 Hz. Mel-frequency wrapping umumnya dilakukan dengan menggunakan
filterbank.
Transformasi Kosinus (Discrete Cosine Transform [DCT])
Pada tahap ini akan dikonversi mel-frequency ke dalam domain waktu
dengan menggunakan DCT. Hasilnya disebut dengan MFCC.
Pengenalan Pola dengan Codebook
Pengenalan pola dengan codebook dilakukan untuk data latih, setelah vektor
ciri diperoleh dari proses MFCC. Codebook adalah kumpulan titik (vektor) yang
mewakili distribusi suara dari suara tertentu dalam ruang suara. Setiap titik pada
codebook dikenal sebagai codeword. Codebook merupakan cetakan yang
dihasilkan suara setelah melakukan proses training. Setiap suara yang sudah
direkam dibuat codebook yang terdiri dari beberapa codeword untuk

9
merepresentasikan ciri suaranya. Gambar 5 merupakan
codebook dari data latih.
Chord A1

Frame 1

Chord A15

Chord A2

Sampel 1

Sampel 15

Sampel 2

Frame T1

Frame T2

Frame 1

C1

C1

C1

C13

C13

C13

Frame T15

Frame 1

MFCC

MFCC

MFCC

MFCC

proses pembuatan

MFCC

MFCC

C1

C1

C1

C13

C13

C13

Concatenation

1

+

2

w1

w2

wk

C11

C21

Ck1

C12

C22

Ck2

C113

C213
2

Ck13

+ 3+ … +

5

Gambar 5 Proses pembuatan codebook dari data latih
Codebook dibentuk dengan cara membentuk cluster semua vektor ciri yang
dijadikan sebagai training set dengan menggunakan algoritme clustering.
Algoritme clustering yang akan dipakai adalah K-means. Langkah pertama yang
dilakukan oleh algoritme ini adalah menentukan K-initial centroid, dengan K
adalah parameter spesifik yang ditentukan user, yang merupakan jumlah cluster
yang diinginkan. Setiap titik atau objek kemudian ditempatkan pada centroid
terdekat. Kumpulan titik atau objek pada tiap centroid disebut cluster. Kemudian
langkah penempatan objek dan perubahan centroid diulangi sampai tidak ada
objek yang berpindah cluster. Gambar 6 merupakan ilustrasi sebaran data suara di
sekitar codebook.

10

w2

w3

w1

w4

w6

f

w5

d(f,w5)

w7

,

,…,
,

, ,..,

,

Gambar 6 Ukuran jarak antara sebuah frame dengan sebuah codebook
Setiap suara yang masuk, akan dihitung jaraknya dengan codebook setiap
kelas. Kemudian jarak setiap sinyal suara ke codebook dihitung sebagai jumlah
jarak setiap frame sinyal suara tersebut ke setiap codeword yang ada pada
codebook. Kemudian dipilih codeword dengan jarak minimum. Jika dalam sinyal
suara input O terdapat T frame dan codewordk merupakan masing-masing
codeword yang ada pada codebook, jarak sinyal input dengan codebook dapat
dirumuskan:
(

,

,…,

,

,

,…,

) ∑

, ,..,

( ,

)

Setelah itu, setiap sinyal suara yang masuk akan diidentifikasi berdasarkan
jumlah dari jarak minimum tersebut x dan y adalah vektor yang ada sepanjang
vector dimension (D). Perhitungan jarak dilakukan dengan menggunakan jarak
Euclid yang didefinisikan sebagai berikut (Buono dan Kusumoputro, 2007):
,

√∑

-

Pengujian
Pengujian dilakukan pada MFCC data uji dengan codebook data latih.
Setiap data yang diuji, akan dilihat jumlah suara chord gitar yang teridentifikasi
dari 24 jenis/kelas chord gitar. Sistem pengenalan suara gitar otomatis ini akan
mengklasifikasikan suara chord gitar tadi masuk ke kelas yang sesuai. Output
yang akan dihasilkan berupa 2 chord gitar.
Proses pengujian chord pada penelitian ini dilakukan dengan menggunakan
metode pengenalan tak berstruktur. Pengenalan tak berstruktur dilakukan dengan
membandingkan langsung setiap chord pada data uji ke setiap codebook chord
yang telah dibuat. Proses pengenalan tesebut dilakukan dengan cara menghitung
total jarak minimal dari setiap frame sinyal data uji pada setiap codeword dalam

11
codebook chord yang dibuat. Secara lebih jelas proses tak berstruktur dapat dilihat
pada Lampiran 2.
Pengujian dilakukan pada data uji yang telah dipersiapkan. Tingkat akurasi
sistem akan dihitung untuk mengevaluasi hasil penelitian. Setiap data yang diuji
akan dilihat apakah data tersebut teridentifikasi pada chord yang semestinya.
Persentase tingkat akurasi dihitung dengan fungsi berikut:

Lingkungan Pengembangan Sistem
Lingkungan pengembangan adalah kumpulan fasilitas yang diperlukan
dalam melaksanakan penelitian, baik berupa perangkat keras maupun perangkat
lunak. Pada penelitian ini lingkungan pengembangan menggunakan perangkat
keras CPU Dual-Core Processor E-350 dan 4 GB RAM sedangkan perangkat
lunak menggunakan Windows 7 Ultimate, Matlab R2010b, dan Audacity 1.3.

HASIL DAN PEMBAHASAN
Pengumpulan Data
Suara 2 chord gitar direkam selama 3 detik. Seluruh data chord yang telah
dikumpulkan berjumlah 8640 data suara dengan komposisi 5760 data latih dan
2880 data uji. Sinyal suara dikenakan segmentasi chord terlebih dahulu sebelum
diekstraksi ciri dengan menggunakan MFCC. Segmentasi dilakukan dengan cara
nilai chord diabsolutkan, kemudian mengambil semua nilai yang di atas nol dan
dihitung nilai rata-ratanya.
Langkah selanjutnya dengan menyeleksi nilai chord yang di bawah rata-rata
terpanjang untuk dihapus. Hasil yang digunakan dalam proses pengolahan MFCC
merupakan data-data berupa vektor, sehingga sebelum diolah data yang berisi
sinyal-sinyal chord gitar tersebut harus dikonversi. Software Matlab dapat
mengatasinya dengan mengubah nilai dari sinyal-sinyal yang menyusun data
tersebut menjadi vektor. Gambar 7 merupakan contoh vektor dari sinyal chord C
dan chord B.

12

Gambar 7 Vektor sinyal suara chord C dan chord B
Setelah mendapatkan semua data dalam bentuk vektor yang diharapkan,
maka proses dilanjutkan dengan tahap MFCC.

Ekstraksi Ciri dengan MFCC
Proses MFCC pada penelitian ini menggunakan fungsi pada auditory
toolbox Matlab. Fungsi MFCC tersebut didapat dari Buono (2009). Dari semua
data yang diperoleh akan dilakukan ekstraksi ciri MFCC. Parameter yang
dibutuhkan pada proses MFCC ini yaitu sampling rate, time frame, overlap, dan
cepstral coefficient. Pemilihan nilai untuk time frame dan overlap berturut-turut
adalah 30 ms dan 40%. Jumlah koefisien cepstral yang digunakan sebanyak 13
dan 26.
Proses ekstraksi ciri ini dilakukan terhadap semua data. MFCC mengubah
sinyal suara ke dalam suatu matriks yang berukuran jumlah koefisien yang
digunakan dikali dengan banyaknya frame suara yang terbentuk. Matriks ini
menunjukkan ciri spectral dari sinyal suara tersebut. Pada penelitian ini, masingmasing data suara yang telah diproses dengan MFCC memiliki jumlah frame
berbeda-beda.

Pemodelan Codebook
Tahap pemodelan codebook dilakukan dengan menggabungkan setiap data
latih pada masing-masing chord. Data yang digunakan merupakan data latih yang
sudah berupa ciri dari suara chord gitar yang telah diperoleh pada tahap MFCC.
Setelah data digabungkan, dilakukan proses clustering dengan menggunakan kmeans. Data yang diklasterkan merupakan gabungan koefisien dari setiap data uji
pada tiap jenis chord gitar. Jumlah k yang digunakan adalah 8, 12, 16, 20, 24, 28,
32 dan 100. Dengan demikian, setiap chord gitar memiliki codebook dengan 13
dan 26 koefisien cepstral dimana setiap codebook tersebut dibuat dengan k-cluster
sebanyak 8, 12, 16, 20, 24, 28, 32, dan 100.

13
Hasil Pengujian
Tahap pengujian dilakukan dengan menggunakan kombinasi parameter
yang berbeda-beda, sehingga terlihat perbandingan akurasi dan dapat dipilih hasil
yang baik. Parameter-parameter yang diujicobakan adalah sebagai berikut:
1 Time frame sebesar 30 ms.
2 Overlap 0.40.
3 Jumlah koefisien cepstral 13 dan 26.
4 Jumlah klaster pada k-means 8, 12, 16, 20, 24, 28, 32, dan 100 pada codebook.
Tabel 3 menunjukkan perbandingan akurasi penggunaan koefisien cepstral
13 dan 26 terhadap nilai k-cluster 8, 12, 16, 20, 24, 28, 32, dan 100. Percobaan
dengan koefisien cepstral 13 dengan nilai k 8, 12, 16, 20, 24, 28, 32, dan 100,
rataan akurasi terrendah berada pada pemakaian k-cluster 8 yaitu sebesar 35.97%
dan tertinggi pada pemakaian k-cluster 100 yaitu sebesar 92.5%.
Tabel 3 Nilai akurasi koefisien cepstral 13 dengan k-cluster 8, 12, 16, 20, 24, 28,
32, dan 100
Koefisien
Cepstral
13
26

8

12

16

k-cluster
20
24

35.97%

41.11%

47.64%

52.78%

54.03%

60.83%

64.17%

92.50%

51.94%

59.17%

67.22%

75.83%

79.17%

84.03%

85.83%

98.89%

28

32

100

Tabel 3 di atas juga menunjukkan bahwa untuk percobaan dengan
koefisien cepstral 26, rataan akurasi terrendah berada pada pemakain k-cluster 8
yaitu sebesar 51.94% dan tertinggi pada pemakaian k-cluster 100 yaitu sebesar
98.89%. Pengaruh nilai k-cluster kembali terlihat seperti pada pengujian
menggunakan koefisien cepstral 13 dengan nilai k 8, 12, 16, 20, 24, 28, 32, dan
100. Pada percobaan ini, nilai k-cluster berbanding lurus dengan akurasi yang
dihasilkan sistem.
Pada Tabel 3 penggunaan koefisien ceptral 13 maupun 26, akurasi terrendah
sama-sama dihasilkan dengan nilai k-cluster 8 dan akurasi tertinggi dihasilkan
dengan nilai k-cluster 100. Pada percobaan ini nilai k-cluster sangat berpengaruh
terhadap kenaikan akurasi, semakin besar nilai k-cluster maka semakin besar pula
akurasi yang dihasilkan oleh sistem.
Kecenderungan peningkatan jumlah koefisien cepstral dan k-cluster
terhadap tingkat akurasi ketika nilai overlap dan time frame tetap, yaitu 0.4 dan 30
ms. Tingkat akurasi maksimum yang diperoleh adalah sebesar 98.89% yaitu pada
saat nilai koefisien cepstral 26 dan jumlah cluster sebanyak 100, sedangkan
tingkat akurasi minimum yang diperoleh adalah sebesar 51.94% ketika jumlah kcluster sebanyak 8. Hal ini terjadi karena cluster yang membentuk vektor ciri
lebih sedikit sehingga sering terjadi kesalahan dalam pengenalan chord. Gambar 8
merepresentasikan data dari Tabel 3 agar dapat terlihat perbandingannya secara
jelas.

Tingkat akurasi (%)

14
100
90
80
70
60
50
40
30
20
10
0
8

12

16

20

24

28

32

100

k-cluster

Gambar 8 Grafik akurasi koefisien cepstral 13 dan 26 dengan k-cluster 8,
12, 16, 20, 24, 28, 32, dan 100
Analisis Percobaan
Hasil yang didapat dari pengujian identifikasi chord gitar terdapat hasil
akurasi yang berbeda antara koefisien cepstral 13 dan 26 dengan rata-rata akurasi
dari setiap pengujian yang didapat ditunjukan pada Tabel 4. Tingkat akurasi
terbaik terjadi pada koefisien 26 terjadi pada saat nilai k 100 sebesar 98.89%,
sedangkan akurasi terrendah terjadi pada saat nilai k 8 sebesar 35.97%.
Tabel 4 Hasil rata-rata akurasi koefisien cepstral berdasarkan nilai k
k-cluster
8
12
16
20
24
28
32
100
Rata – Rata

Koefisien cepstral
13
26
35.97%
51.94%
41.11%
59.17%
47.64%
67.22%
52.78%
75.83%
54.03%
79.17%
60.83%
84.03%
64.17%
85.83%
92.50%
98.89%
56.37%
75.26%

Rata-rata akurasi koefisien cepstral berdasarkan nilai k dapat dilihat pada
Tabel 4. Koefisien cepstral 26 menghasilkan akurasi yang lebih baik dari
koefisien cepstral 13 pada setiap pengujian dengan nilai k-cluster yang telah
ditentukan. Data pada Tabel 4 menghasilkan rata-rata akurasi secara keseluruhan
dengan nilai k-cluster yang diujikan sebesar 56.37% untuk koefisien cepstral 13
dan 75.26% untuk koefisien cepstral 26.

15
Analisis Kesalahan
Terlihat dari pembahasan di atas bahwa pengembangan metode codebook
untuk identifikasi chord gitar, analisa kesalahan untuk koefisien 26 dengan nilai kcluster 100 mampu menghasilkan hasil rata-rata akurasi yang baik. Confusion
matrix dengan koefisien 26 dan nilai k-cluster 100 dapat dilihat pada Lampiran 3.
Kesalahan identifikasi chord gitar pada koefisien 26 dengan nilai k-cluster
100, yaitu sebanyak 6 kesalahan. Kesalahan tersebut terjadi pada chord A data uji
ke 23 dan 28 yang dikenali sebagai chord Am, chord Am data uji ke 27 yang
dikenali sebagai chord G#, chord C data uji ke 4 dan 19 yang dikenali sebagai
chord F# dan Fm, chord E data uji ke 28 yang dikenali sebagai chord Em, chord
F# data uji ke 12 yang dikenali sebagai chord F, dan chord Gm data uji ke 15
yang dikenali sebagai chord F#.

SIMPULAN DAN SARAN
Simpulan
Penelitian ini menunjukkan bahwa nilai-nilai parameter sangat
memengaruhi akurasi sistem. Berdasarkan penelitian yang telah dilakukan dapat
diambil kesimpulan sebagai berikut:
1 Penelitian ini telah berhasil mengembangkan implementasi metode codebook
dan teknik ekstraksi ciri MFCC dalam identifikasi chord gitar.
2 Akurasi tertinggi yang dihasilkan sebesar 98.89% dengan penggunaan time
frame 30 ms, overlap 40%, koefisien cepstral 26, dan k-cluster 100.
3 Sistem ini mampu mengidentifikasi 2 chord gitar menggunakan model
codebook dengan penggunaan koefisien cepstral 26 menghasilkan akurasi yang
lebih tinggi dibandingkan dengan 13 koefisien cepstral.
Saran
Penelitian ini masih memiliki kekurangan sehingga dapat dikembangkan
lebih lanjut untuk mendapatkan hasil yang lebih baik pada penelitian selanjutnya.
Beberapa saran itu di antaranya:
1 Melakukan pembersihan data (praproses) sebelum MFCC, seperti normalisasi
dan menghilangkan kekosongan nada di awal dan di akhir chord.
2 Menambahkan jumlah chord gitar yang mampu diidentifikasi, yaitu sebanyak 3
chord atau lebih.

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.
Buono A, Kusumoputro B. 2007. Pengembangan model HMM berbasis
maksimum lokal menggunakan jarak Euclid untuk sistem identifikasi
pembicara. Di dalam: Prosiding pada Workshop NACSIIT; 2007 Jan 29-30;
Depok (ID), hlm 52.
Do MN. 1994. Digital signal processing mini-project: an automatic recognition
system. Laussane (CH): Federal Institute of Technology.
Jurafsky D, Martin JH. 2000. Speech and Language Processing an Introduction to
Natural Language Processing, Computational Linguistic, and Speech
Recognition. New Jersey (US): Prentice Hall.
Li TF, Chang SC. 2007. Speech recognition of mandarin syllables using both
linear predict coding cepstra and mel frequency. Di dalam: Proceeding of
the 19th Conference on computational Linguistic and Speech processing.
ROCLING; 2007 Sep 6-7; Taipei. Taiwan. Taipei (TW): ACLCLF.
Taufani MF. 2011. Perbandingan pemodelan wavelet dan MFCC sebagai ekstraksi
ciri pada pengenalan fonem dengan teknik jaringan syaraf tiruan sebagai
classifier [skripsi]. Bogor (ID): Institut Pertanian Bogor.
Wisnudisastra E, Buono A. 2010. Pengenalan chord pada alat musik gitar
menggunakan codebook dengan teknik ekstraksi ciri MFCC. Jurnal Ilmiah
Ilmu Komputer. 14 (1):16-21.

17
Lampiran 1 Bentuk chord yang digunakan pada pelatihan dan pengujian

18
Lampiran 1 Lanjutan

19
Lampiran 2 Diagram proses pengenalan tak berstruktur

Data Uji

MFCC

Data Ciri
Chord

24
Codebook
Chord

Min jarak
model chord 1
Min jarak
model chord 2
.
.
.
.
Min jarak
model chord 24

min

Identifikasi
chord

20

Lampiran 3 Confusion matrix kesalahan dalam pengenalan chord pada koefisien 26 dengan nilai k 100
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
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Am
2
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

A#
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

A#m
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

B
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Bm
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

C
0
0
0
0
0
0
118
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Cm
0
0
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

C#
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

C#m
0
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0
0

D
0
0
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
0

Dm
0
0
0
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0
0
Rata-rata

D#
0
0
0
0
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0
0

D#m
0
0
0
0
0
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0
0
0
0
0

E
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
0
0
0
0
0
0
0
0
0

Em
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
120
0
0
0
0
0
0
0
0

F
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
0
1
0
0
0
0
0

Fm
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
120
0
0
0
0
0
0

F#
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
0
0
1
0
0

F#m
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
120
0
0
0
0

G
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
0
0
0

Gm
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
119
0
0

G#
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120
0

G#m
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
120

Akurasi(%)
93.34
96.67
100.00
100.00
100.00
100.00
93.34
100.00
100.00
100.00
100.00
100.00
100.00
100.00
96.67
100.00
100.00
100.00
96,67
100.00
100.00
96.67
100.00
100.00
98.89

RIWAYAT HIDUP
Penulis dilahirkan di Serang tanggal 7 Oktober 1988 dari Ibu Suwartini dan
Bapak Sugiono. Penulis merupakan anak pertama dari tiga bersaudara. Pada tahun
2007, penulis lulus dari SMA Negeri 3 Cilegon dan pada tahun yang sama
diterima di Diploma IPB Program Keahlian Teknik Komputer melalui jalur
Undangan Seleksi Masuk IPB. Pada tahun 2010 penulis lulus dari Diploma
Institut Pertanian Bogor dan melanjutkan pendidikan di Program Alih Jenis Ilmu
Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, IPB.