KLASIFIKASI GENRE PADA LAGU DENGAN METODE NAIVE

advertisement
KLASIFIKASI GENRE PADA LAGU
DENGAN METODE NAIVE BAYES
Ardi Priagung1, Siti Kurniawati F.2, Hendry A.3, I Dw Gede A.4 , Oscar Sampras T.5*)
Jurusan Teknik Informatika, Fakultas Program Teknologi Informasi dan Ilmu Komputer,
Universitas Brawijaya, Malang, 65145, Indonesia.
*)
E-Mail: [email protected],[email protected] 2, [email protected],
[email protected],[email protected]
Abstrak
Kenyataan bahwa musik terkait dengan suatu genre seperti pop, rock dan sebagainya
adalah fakta yang umum dan tidak dapat dibantah. Penggunaan musik berdasarkan genre
yang terkandung di dalamnya telah digunakan pada kehidupan sehari-hari. Akan tetapi,
analisa genre suatu musik di komputer adalah hal yang sulit dilakukan [1]. Makalah ini
menjabarkan hasil studi sistem klasifikasi genre pada suatu lagu secara otomatis. Tujuan studi
ini adalah untuk membuat sebuah sistem yang dapat mendeteksi secara otomatis genre yang
terkandung di dalam musik. Studi literatur dilakukan terhadap setiap bagian dari sistem,
kemudian dirumuskan pendekatan yang dinilai terbaik pada rancangan ini. Sistem ini
menggunakan metode naive bayes untuk menarik kesimpulan berdasarkan data yang
diperoleh. Data yang diperoleh termasuk data latih dan data tes. Prosentase akurasi
keakuratan sistem ini sebesar 83,3% untuk data latih dan 60% untuk data tes.
Kata kunci : musik, genre, sistem, klasifikasi, naive bayes
Abstract
The fact that music concerned with its genre like pop, rock and many more cannot be denied.
The use of genre based on music in daily life has been done oftenly. However, the analysis of
genre based music in computer is the hard things to do[1]. This paper exposed the result
study from automatic genre classification system. The purpose of this study is to make the
suggestion of system which can detect genre of the music automaticaly. Reference study is
done to each this design. This system uses naive bayes method to obtain conclusion based on
data we have received. Used data include training data and test data. Percentage of obtained
accuracy is 83,3% for training data and 60% for testing data.
Key Word : music,genre ,system, classification, naive bayes
1. Pendahuluan
Genre merupakan kategori dari
bentuk seni, dan kata tersebut digunakan
untuk menyebut subset dari film, televisi,
show, bahkan musik yang sesuai dengan
kriteria [10].
Musik adalah seni, hiburan dan
aktivitas manusia yang melibatkan suarasuara yang teratur. Secara khusus, musik
diartikan sebagai ilmu dan seni suara, yaitu
berupa bentuk dan sinkronisasi suara-suara
yang membentuk harmoni nada-nada
sehingga terdengar estetik [2].
Elemen terkecil dari musik adalah
nada. Nada adalah suara yang memiliki
nilai frekuensi tertentu. Dalam musik, nada
berada pada ruang dua dimensi, dimensi
vertikal dan horizontal.
Kenyataan bahwa musik dapat
terkait dengan genre tertentu adalah fakta
yang umum diketahui dan tidak dapat
dibantah.
Penelitian
eksperimental
memperkuat kenyataan ini [3]. Dari sudut
pandang seniman musik, genre merupakan
salah satu cara penggolongan musik yang
paling penting, penggolongan musik yang
paling penting adalah : style, emosi, genre
dan similarity [4].
Aplikasi Deteksi Genre pada Lagu
(Aplisitogu) adalah sistem yang dapat
melakukan klasifikasi terhadap musik
berdasarkan genre yang terkait dengan
musik tersebut.
Sistem ini memakai pendekatan
machine learning, sehingga sistem terbagi
atas dua fase, pelatihan dan penggunaan.
Penilaian subjektif ‘ground truth’,
diberikan sebagai data pelatihan sistem
Aplisitogu untuk menghasilkan suatu
model klasifikasi. Model inilah yang akan
digunakan
classifier
untuk
mengklasifikasikan musik berdasarkan
genrenya.
Selanjutnya, sistem ini masuk
dalam bahasan bidang music information
retrieval. Penangkapan genre dalam musik
bersifat subjektif. Satu individu dapat
menangkap genre yang berbeda dari
individu lain dari musik yang sama. Yang
et al. membahas khusus masalah ini.
Sehingga, pendekatan yang dapat
dilakukan untuk mengklasifikasikan musik
ke dalam kategori genre adalah dengan
bergantung pada pembelajaran terhadap
penilaian subjektif oleh manusia.
Dalam makalah ini, selanjutnya
akan membahas gambaran umum sistem
Aplisitogu ini. Bagian-bagian selanjutnya
akan
membahas
masing-masing
permasalahan yang ada pada sistem
Aplisitogu ini.
Aplikasi ini dibagun dengan
menggunakan bahasa pemrograman Java
dengan tools NetBeans 7.01, dan aplikasi
ini masih menemui keterbatasan jika lagu
yang diuji memiliki genre yang berbeda
didalamnya.
2. Latar Belakang
Keterkaitan antara musik dengan
genre ini telah banyak digunakan dalam
berbagai kesempatan oleh manusia.
Misalnya, pada film, musik digunakan
untuk mempertegas suasana pada scenescene tertentu: musik yang rock digunakan
untuk melatar belakangi scene yang
menegangkan, demikian musik dengan
genre slow untuk suasana film yang
menyedihkan.
Klasifikasi musik berdasarkan
genre dapat dilakukan secara manual dan
subjektif oleh manusia, seperti yang
banyak dilakukan pada kasus pemilihan
musik untuk latar belakang suatu film [6].
Biasanya pada tim pembuat film tersebut
terdapat tim kecil yang khusus bertugas
untuk menangani masalah pemilihan,
bahkan pembuatan, musik latar belakang.
Dapat dilihat pada film-film yang telah
dibuat bahwa emosi di dalam genre lagu
yang digerakkan oleh musik latar tersebut
seringkali benar-benar mengena sesuai
dengan suasana yang diinginkan pada
scene-scene tertentu pada film tersebut.
Pertanyaan yang sering muncul
adalah apakah klasifikasi tersebut memang
benar-benar dapat diterapkan secara
global, sehingga klasifikasi tersebut tidak
spesifik untuk segolongan manusia
tertentu dan musik-musik tertentu. Jika hal
tersebut benar, maka dapat dibuat
pengklasifikasi musik yang dibantu
dengan komputer, sehingga klasifikasi
musik berdasarkan genre dapat dilakukan
secara otomatis.
3. Metodologi
Pertama, tiap-tiap data latih
diekstraksi menjadi fitur. Hasil ekstraksi
fitur tadi akan menghasilkan fitur berupa
frequensi minimal, maksimal dan median.
Fitur yang dihasilkan pada awalnya
berbentuk data continue dimana berisi
angka numerik setiap fiturnya. Kemudian
data fitur – fitur tersebut akan
dikategorikan pada setiap fiturnya menjadi
3 bagian, dengan cara menentukan range
data tersebut, dengan cara dikelompokkan
menjadi frekuensi rendah, sedang dan
tinggi.
Sehingga
ketiga
fiturnya
merupakan
fitur
kategorikal
ditunjukan pada tabel 1.
yang
Pada fase pelatihan, diberikan sejumlah
lagu (potongan atau full) musik untuk
menjadi bahan pelatihan. Kemudian
dilakukan
preprocessing
untuk
mempermudah pemrosesan berikutnya.
Preprocessing meliputi pengumpulan klip
lagu, kemudian merubah data ke dalam
bentuk wav. Dari hasil preprocessing ini
kemudian dilakukan ekstraksi fitur. Selain
itu, dilakukan pula evaluasi secara
subjektif untuk melabeli lagu musik
pelatihan dengan label genre tertentu [7].
A. Pengumpulan Data
Musik yang dapat diolah dalam
sistem Aplisitogu ini hanya musik yang
memiliki format wav. Dengan begitu
apabila kita mempunyai format diluar wav,
harus kita ubah format lagu tersebut
menggunakan tools seperti wav converter.
Jika musik yang dimasukkan
berada dalam format selain wav misalnya
mp3, maka dalam console program akan
ada pemberitahuan mengenai error.
Kemudian
kita
melakukan
pelabelan genre secara subjektif terhadap
klip lagu tersebut dengan bersumber pada
situs web dari lagu tersebut sehingga genre
pada lagu tersebut bisa valid. Genre secara
kasar dapat diartikan sebagai jenis musik
bagi orang awam. Tidak tertutup
kemungkinan sebuah musik memiliki lebih
dari satu genre [11].
B. Pelatihan Data
Pada fase pelatihan, diberikan
sejumlah lagu (potongan atau full) musik
untuk menjadi bahan pelatihan. Kemudian
dilakukan
preprocessing
untuk
mempermudah pemrosesan berikutnya.
Dari hasil preprocessing ini kemudian
dilakukan ekstraksi feature. Selain itu,
dilakukan pula evaluasi secara subjektif
untuk melabeli lagu musik pelatihan
dengan label genre tertentu.
Fase pelatihan diawali dengan
mengektraksi setiap lagu yang dijadikan
sebagai data latih. Metode ekstraksi
menggunakan Big Endian dimana nantinya
menjadi 3 fitur yaitu fitur frekuensi
maksimum,
frekuensi
median
dan
frekuensi minimum
Diagram proses dalam melakukan
pelatihan data ditujukan pada gambar 1.
Gambar 1. Flowcart Pelatihan Data
Berikut penjelasan tahap-tahap dalam
pelatihan data :
a. Pre-processing
Tahapan awal dalam melakukan
pelatihan data adalah pre-processing
yang bertujuan untuk membuat lagu
yang akan diuji benar-benar siap
untuk diuji. Seperti melakukan
pengecekan bahwa ekstensi format
lagu yang diinputkan oleh user harus
benar-benar mempunyai format .wav.
b. Ekstraksi Fitur
Setelah proses pre-processing
dilakukan, maka dilakukan proses
ekstraksi fitur dimana proses ini akan
mengolah data dari lagu menjadi fiturfitur yaitu frekuensi maksimum,
median dan minimum, sehingga
kemudian dapat digunakan sebagai
data untuk mendukung proses
klasifikasi. Proses ekstraksi fitur
menggunakan Little endian dan big
endian.
Big endian merupakan suatu cara
untuk mengatur byte dalam suatu
word untuk disusun ke dalam memori.
Dimana di dalam aplikasi ini, metode
ini dapat mengektraksi fitur suatu lagu
menjadi frekuensi. Proses Big Endian
ditunjukkan pada gambar 2.
Table 1. Data latih dengan data kategorikal
c. Klasifikasi Naive Bayes
Gambar 2.Proses Big Endian
Kemudian Little endian menyusun
byte LSB terletak di alamat paling
rendah, sebaliknya Big Endian
menyusun byte LSB terletak di alamat
paling tinggi. Proses Little Endian
ditunjukkan pada gambar 3.
Fitur-fitur hasil ekstraksi sudah
didapat, maka fitur-fitur dari data
training yang didapat dilanjutkan
kedalam
proses
klasifikasi
menggunakan metode Naive Bayes.
Karena
data
yang
didapat
merupakan data kategorikal, maka kita
menggunakan metode Naive Bayes
dengan rumus seperti pada persamaan
1.
hNaive Bayes  arg max P(h) P(x | h)  arg max P(h) P(at | h)
h
h
t
(1)
Keterangan :
P = probabilitas
h = hipotesis suatu class spesifik
Gambar 3. Proses Little Endian
Selanjutnya akan dihasilkan data
continue pada hasil ektraksi fitur.
Untuk
mempermudah
dalam
melakukan klasifikasi, data continue
tersebut kita ubah menjadi data
kategorikal dimana rentang frekuensi
setiap fitur dibagi manjadi kategori
rendah, sedang dan tinggi. Tabel data
latih yang telah menjadi kategorikal
ditujukan pada tabel 1.
P(h) = probabilitas hipotesis h
x = klasifikasi datum baru berupa
x = ( a1,…aT)
P(x| h) = probabilitas x berdasarkan kondisi
pada hipotesis h
ai = nilai fitur at dari setiap contoh datum
P(ai | h)= probabilitas ai berdasarkan kondisi
pada hipotesis h
Untuk menghitung nilai varian (σ2)
maka rumus yang digunakan seperti
persamaan 2.
2 
1 N
( xi  x ) 2

N  1 i 1
(2)
Keterangan:

N = banyak datum yang dihitung

xi = datum ke i

x = mean dari seluruh data
Berikut adalah algoritma dari Naive
Bayes :

Tentukan Data Latih dan Data
Testing

Cari Mean

Cari Nilai Varians

Cari nilai Densitas

Cari Posteriornya dengan rumus
Naive Bayes

Cari Nilai maksimal dari hasil
posteriornya, tentukan termasuk
class mana
C. Pengujian Data
Untuk melakukan pengujian data
dalam proses mendeteksi genre pada lagu,
dilakukan beberapa tahapan mulai dari
observasi hingga validasi sehingga
didapatkan hasil pelabelan genre pada lagu
yang sesuai [9].
a. Penginputan Klip Musik
Proses ini dilakukan dengan menginputkan lagu, dimana proses ini
berfungsi untuk mengambil lagu yang
akan kita proses di dalam hardisk
komputer, dimana format lagu yang
diinputkan harus berekstensi .wav.
b. Post-Processing
Pada tahap ini akan dilakukan
validasi
terhadap
hasil
yang
didapatkan dari tahap klasifikasi.
Proses validasi kita lakukan dengan
mencocokkan bahwa inputan sebuah
klip lagu apakah cocok antara genre
lagu
yang sebenarnya
dengan
pelabelan genre yang dilakukan oleh
program. Dimana genre yang tersedia
yaitu punk, rock, pop, slow dan
dangdut. Pada jendela aplikasi akan
tampil probabilitas genre pada lagu
tersebut, dan nilai probabilitas yang
terbesar merupakan genre lagu yang
diinputkan tersebut.
5. HASIL DAN PEMBAHASAN
Aplikasi
Aplikasi ini merupakan aplikasi
yang bertujuan untuk mendeteksi genre
suatu lagu yakni rock, punk, pop, slow dan
dangdut. Aplikasi ini menerima inputan
berupa klip musik dalam format (.wav)
dengan menggunakan sistem open dialog
file, sehingga dapat menginputkan klip
lagu yang diinginkan.
Gambar 4.Flowcart Data Testing
Gambar 4 di atas merupakan
penggambaran flowchart pada saat
pengetesan
data.
Berikut
adalah
penjabaran tahap – tahap pada flowchart :
Aplikasi akan menghitung peluang
setiap genre untuk lagu yang diinputkan
dengan menggunakan algoritma naïve
bayes, dan kemudian di cari nilai yang
paling masksimal pada setiap probablitas
kelas genre yang telah ditentukan yakni
punk, rock, slow, pop dan dangdut [8], dan
pada nilai maksimal itulah data yang diuji
akan diberikan pelabelan genre sesuai
probabilitas genre yang bernilai maksimal
tersebut.
Analisa dan Pengujian
Pengujian yang akan dilakukan
terhadap
aplikasi
adalah
dengan
menginputkan beberapa klip lagu yang
dipilih secara acak dan kemudian
dilakukan preprocessing dimana mengecek
bahwa inputan harus bertipe .wav
Pada pengujian ini kita melakukan
dua uji akurasi data dimana yang pertama
kita melakukan test terhadap data latih
yang berjumlah 30 lagu dan didapat hasil
yakni terdapat 5 lagu yang pelabelan
genrenya salah sehingga ada 25 lagu benar
dan didapat prosentase keakuratan sebesar
83,3%
Untuk pengejian akurasi aplikasi yang
kedua dilakukan terhadap klip lagu yang
dipilih secara acak dan tidak terdapat pada
data latih. Kita menggunakan 5 sampel
klip lagu dan didapat hasil 3 lagu benar
sehingga didapatkan prosentase akurasi
sebesar 60%.
KESIMPULAN
 Sistem Aplikasi pendeteksi Genre
(Aplisitogu) adalah aplikasi yang
mampu mengklasifikasikan genre
musik secara otomatis dengan
menggunakan komputer. Sistem ini
menggunakan metode Big Endian dan
Little Endian dalam melakukan
ekstraksi
fitur,
kemudian

mengklasifikasikan genre pada lagu
menggunakan metode Naive Bayes
dimana genre yang diklasifikasikan
adalah rock, punk, slow, pop dan
dangdut. Hasil akurasi kebenaran data
didapat sebesar 83,3% untuk data latih
dan 60 % untuk data test. Hal ini
disebabkan dikarenakan antara satu
lagu dengan lagu lainnya mempunyai
frekuensi yang tidak menentu. Jika
dirata-ratakan ketiga nilai fitur dari
frequensinya, ada yang memiliki nilai
hampir sama meskipun memiliki
genre yang berbeda.
Frequensi merupakan fitur yang tidak
selamanya benar dalam menentukan
genre sebuah lagu. Tetapi sudah cukup
lumayan dalam hal akurasi terhadap
menganalisa genre sebuah lagu.
Frequensi bukan satu – satuya fitur
yang dapat untuk mendeteksi sebuah
genre. Masih banyak fitur lagi yang
dapat dipakai.
DAFTAR PUSTAKA :
[1] C.-C Liu, Y.-H. Yang, P.-H. Wu, H.-H.
Chen. (2006). Detecting and classifying
emotion in popular music. Proc. 9th Joint
Int. Conf. Information Sciences / 7th Int.
Conf.
Computer
Vision,
Pattern
Recognitionand
Image
Processing
2006(JCIS/CVPRIP'06),
Kaohsiung,
Taiwan, pp. 996-999.
[2] B. Klein. (2007). Music Definition.
http://www.bklein.de/music_definition.ht
m. Diakses: Desember 2012.
[3] CTV News. (2002). Study explains link
between
music
and
genre.
http://www.ctv.ca/servlet/ArticleNews/stor
y/CTVNews/1039741748103_21/?hub=H
ealth . Diakses: Desember 2012.
[4] D.Huron.
(2000).
Perceptual
and
Cognitive
Applications
in
Music
Information
Retrieval.
International
Symposium on Music Information
Retrieval (ISMIR) 2000.
[5] Y.-H. Yang, Y.-F. Su, Y.-C. Lin, H.-H.
Chen. (2007). Music emotion recognition:
The role of individuality. Proc. ACM
SIGMM Int. Workshop on Humancentered Multimedia 2007, in conjunction
with
ACM
Multimedia
(ACM
MM/HCM'07), Augsburg, Germany, pp.
13-21.
[6] J. Skowronek, M.E. McKinney, S. van de
Par. (2006). Ground Truth for Automatic
Music Genre Classification. International
Symposium on Music Information
Retrieval (ISMIR) 2006.
[7] Caruana, R.; Niculescu-Mizil, A. (2006).
"An empirical comparison of supervised
learning algorithms". Proceedings of the
23rd international conference on Machine
learning. CiteSeerX: 10.1.1.122.5901
[8] Samson, Jim. "Genre". In Grove Music
Online. Oxford Music Online.
[9] van der Merwe, Peter (1989). Origins of
the Popular Style: The Antecedents of
Twentieth-Century
Popular
Music.
Oxford: Clarendon Press. p. 3. ISBN 0-19316121-4.
[10]http://www.wisegeek.org/what-is-a-musicgenre.htm
[11] Akbar, Ali.(2010).”Sistem Automatic
Music Emotion Classification”. Institut
Teknologi Bandung.
Download