APLIKASI DETEKSI GENRE SECARA OTOMATIS DENGAN NAIVE BAYES

Download Abstrak. Kenyataan bahwa musik terkait dengan suatu genre seperti pop, rock dan sebagainya adalah fakta yang umum dan tidak dapat dibantah...

0 downloads 409 Views 336KB Size
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.