KLASIFIKASI LAGU BERDASARKAN GENRE MUSIK
DENGAN JARINGAN SARAF TIRUAN PROPAGASI BALIK
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Informatika
Oleh:
Sony Setiawan
055314108
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
SONG CLASSIFICATION BASED MUSIC GENRE
WITH BACK PROPAGATION NEURAL NETWORK
A THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Department of Informatics Engineering
By:
Sony Setiawan
055314108
INFORMATICS ENGINEERING STUDY PROGRAM
INFORMATICS ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
MOTTO
Kebanggaan kita yang terbesar adalah
bukan tidak pernah gagal,
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat
karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka,
sebagaimana layaknya karya ilmiah.
Yogyakarta, 23 Juni 2010
Penulis
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Sony Setiawan
NIM : 055314108
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Universitas Sanata Dharma karya ilmiah saya yang berjudul :
KLASIFIKASI LAGU BERDASARKAN GENRE MUSIK
DENGAN JARINGAN SARAF TIRUAN PROPAGASI BALIK
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet maupun di media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat sebenarnya. Dibuat di Yogyakarta
Pada tanggal : 23 Juni 2010 Yang menyatakan
ABSTRAK
Penelitian ini bertujuan untuk menciptakan sebuah sistem pengenalan genre
musik secara otomatis pada sinyal audio digital, yang dijabarkan dengan penjelasan
singkat teori - teori yang berhubungan, mencakup pengenalan pola, suara, musik,
pemrosesan sinyal digital khususnya pemrosesan sinyal audio, dan jaringan saraf tiruan
khususnya metode propagasi balik. Metode yang digunakan adalah dengan studi pustaka,
merancang arsitektur yang akan diujicobakan, serta melakukan penelitian terhadap
rancangan arsitektur tersebut. Penelitian mencakup dua tahap, yaitu tahap ekstraksi fitur
dan tahap klasifikasi / pengenalan. Tahap ekstraksi fitur menggunakan metode Music
Genre Recognition by Analysis of Texture (MUGRAT) yang membahas perhitungan
sembilan fitur yang berhubungan dengan permukaan spectral musik dan enam fitur yang
berhubungan dengan bit / irama musik. Tahap pengenalan / klasifikasi menggunakan
Jaringan Saraf Tiruan Propagasi Balik dengan kombinasi berbagai nilai parameter untuk
mencapai hasil yang optimal. Berdasarkan evaluasi dari arsitektur yang telah
diujicobakan, diperoleh hasil penelitian yang optimal yaitu sebuah sistem yang
menghasilkan akurasi pengenalan 4 genre (house, jazz, pop, rock) sebesar 94.34% dengan
1 lapis tersembunyi, 225 unit tersembunyi, target error 0.01 dan batas epoch 3000. Dari
hasil penelitian diperoleh kesimpulan bahwa JSTPB merupakan metode yang baik atau
ABSTRACT
This research aims to create a musical genre recognition system automatically
generates digital audio signals, which are translated by a brief description theory - the
theory related, including pattern recognition, sound, music, especially digital signal
processing audio signal processing and neural network methods, particularly back
propagation. The method used is to study literature, designed the architecture to be tested,
and to conduct research on the architectural design. The study includes two stages,
namely feature extraction stage and stage classification / recognition. Feature extraction
stage using Music Genre Recognition by Analysis of Texture (MUGRAT) to discuss the
calculation of the nine features associated with the surface of music and six spectral
features associated with bit / music. Phase identification / classification using a
Backpropagation Neural Network with a combination of various values of the parameters
to achieve optimal results. Based on the evaluation of the architecture that has been
tested, obtained the optimal result is a system that produces accurate introduction of four
genres (house, jazz, pop, rock), amounting to 94.34% with one hidden layer, 225 hidden
units, targets and limits of error of epoch 3000 and 0.01 . From the research we
KATA PENGANTAR
Puji syukur kepada ALLAH SWT atas segala berkat dan rahmat-Nya sehingga
penulis dapat menyelesaikan skripsi dengan judul “Klasifikasi Lagu Berdasarkan Genre
Musik dengan Jaringan Saraf Tiruan Propagasi Balik”.
Penulisan skripsi ini diajukan untuk memenuhi salah satu syarat memperoleh
Gelar Sarjana Teknik Program Studi Teknik Informatika Universitas Sanata Dharma
Yogyakarta.
Dengan terselesaikannya penulisan skripsi ini, penulis mengucapkan terima kasih
kepada pihak-pihak yang telah membantu dan memberikan dukungan baik berupa
masukan ataupun saran. Ucapan terima kasih yang sebesar-besarnya ditujukan pada :
1. Tuhan Yang Maha Esa, yang telah memberikan pertolongan dan kekuatan dalam
proses pembuatan tugas akhir ini.
2. Yosef Agung Cahyanto, S.T., M.T., selaku Dekan Fakultas Sains dan Teknologi
Universitas Sanata Dharma.
3. Puspaningtyas Sanjaya Adi, S.T., M.T., selaku ketua program studi Teknik
Informatika yang telah banyak membantu penulis selama studi.
4. Dr. C. Kuntoro Adi, SJ., M.A., M.Sc. selaku dosen pembimbing atas kesabaran,
bimbingan, waktu dan saran yang diberikan kepada penulis.
5. Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku dosen pembimbing akademik
Teknik Informatika angkatan 2005 yang selalu sabar menghadapi penulis.
6. Drs. Jong Jek Siang, M.Sc. dan Alb. Agung Hadhiatma, S.T., M.T. sebagai dosen
7. Laboran Labolatorium Komputer atas bantuan kepada penulis dalam melaksanakan
tugas akhir.
8. Orang tua dan keluarga yang telah memberikan dukungan kepada penulis baik
spiritual maupun material.
9. Karin, Orpa, Sisca, Nitnot, Bengs, Opix, Arimbi, Bulet, Radna dan semua teman yang
tidak dapat penulis sebutkan satu-persatu, terima kasih telah banyak membantu
penulis sehingga skripsi ini dapat terselesaikan.
Dalam penulisan skripsi ini, dirasa masih banyak kekurangannya. Oleh karena itu
segala saran ataupun kritik yang bersifat membangun dari pembaca sekalian sangat
diharapkan guna menyempurnakan isi dari skripsi ini.
Akhir kata, semoga penulisan skripsi ini berguna bagi para pembaca sekalian
khususnya para mahasiswa Teknik Informatika, dan dapat menambah wawasan para
pembaca sekalian.
Yogyakarta, 23 Juni 2010
DAFTAR ISI
HALAMAN JUDUL ... i
HALAMAN JUDUL ... ii
HALAMAN PERSETUJUAN... iii
HALAMAN PENGESAHAN ... iv
HALAMAN MOTTO ... v
HALAMAN PERNYATAAN KEASLIAN KARYA ... vi
HALAMAN PERSETUJUAN PUBLIKASI ... vii
ABSTRAK ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
Bab I. PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Tujuan ... 2
1.4. Batasan Masalah ... 2
1.5. Metodologi Penelitian ... 3
1.6. Sistematika Penulisan ... 3
Bab II. LANDASAN TEORI ... 6
2.1. Teori - Teori Umum ... 6
2.1.2.1 Genre Musik………....9
2.2. Teori - Teori Khusus ... 11
2.2.1 Pemrosesan Sinyal Digital. ... 11
2.2.2 Ekstraksi Fitur. ... 16
2.2.3 Normalisasi. ... 25
2.2.4 Jaringan Saraf Tiruan. ... 25
Bab III. ANALISA DAN DESAIN SISTEM ... 43
3.1 Analisa Kebutuhan ... 43
3.1.1 Analisa Genre Musik. ... 43
3.1.2 Analisa Aplikasi Tambahan. ... 44
3.1.3 Analisa Sampel Lagu. ... 44
3.1.4 Analisa Metode ... 44
3.2 Perancangan Sistem ... 47
3.2.1 Perancangan Ekstraksi Fitur ... 47
3.2.1.1 Perancangan Hamming Window ... 48
3.2.1.2 Perancangan FFT ... 48
3.2.1.3 Perancangan IFFT ... 48
3.2.1.4 Perancangan Modul Ekstraksi Fitur ... 49
3.2.2 Perancangan Back Propagation dan Five Fold ... 61
3.2.3 Perancangan Analisa Hasil ... 64
3.3 Perancangan Desain Layar ... 64
3.3.1 Perancangan Layar Utama ... 65
3.4.2.1 Perancangan Layar Ekstraksi ... 65
3.4.2.2 Perancangan Layar Ekstraksi Banyak ... 66
3.4.3 Perancangan Layar Pengenalan ... 67
3.4.4 Perancangan Layar Pengujian ... 68
3.4.5 Perancangan Layar Bantuan ... 69
Bab IV. IMPLEMENTASI DAN EVALUASI ... 70
4.1 Kebutuhan Sistem ... 70
4.1.1 Kebutuhan Perangkat Keras ... 70
4.1.2 Kebutuhan Perangkat Lunak ... 71
4.2 Hasil Penelitian ... 71
4.3.1 Analisa Hasil 1 Lapis Tersembunyi ... 74
4.3.1 Analisa Hasil 2 Lapis Tersembunyi ... 75
4.3.1 Evaluasi Arsitektur ... 80
4.3 Tampilan Layar dan Penggunaan Program ... 81
4.2.1 Tampilan Layar Utama ... 81
4.2.2 Tampilan Layar Ekstraksi ... 82
4.2.3 Tampilan Layar Ekstraksi Banyak ... 82
4.2.4 Tampilan Layar Pengenalan ... 83
4.2.5 Tampilan Layar Pengujian ... 84
4.2.1 Tampilan Layar Bantuan ... 85
Bab V. PENUTUP... 86
5.1 Kesimpulan ... 86
Daftar Pustaka ... 88
DAFTAR GAMBAR
Gambar 2.1 Sinyal Amplitudo Sebelum Proses Windowing ... 15
Gambar 2.2 Sinyal Amplitudo dalam Sebuah Window ... 15
Gambar 2.3 Sinyal Amplitudo dari Keseluruhan Window ... 15
Gambar 2.4 Modul Ekstraksi Fitur untuk Irama dan Envelope Extraction ... 21
Gambar 2.5 Gelombang Sinus dengan Noise (Sebelum Autocorrelation) ... 23
Gambar 2.6 Gelombang Sinus Setelah Autocorrelation ... 23
Gambar 2.7 Jaringan Lapis Tunggal ... 28
Gambar 2.8 Jaringan Lapis Majemuk ... 29
Gambar 2.9 Hubungan Antar Lapis ... 30
Gambar 2.10 Hubungan Antar Nodes ... 30
Gambar 2.11 Global dan Local Minima ... 38
Gambar 2.12 Fungsi Sigmoid Biner ... 39
Gambar 2.13 Fungsi Sigmoid Bipolar ... 30
Gambar 3.1 Blok Diagram Sistem ... 47
Gambar 3.2 Blok Diagram Modul Utama... 48
Gambar 3.3 Perancangan Modul Hamming Window ... L1 Gambar 3.4 Perancangan Modul FFT ... L2 Gambar 3.5 Perancangan Modul IFFT ... L3 Gambar 3.6 Perancangan Modul Ekstraksi Fitur ... 50
Gambar 3.7 Perancangan Fase Spectral Centroid ... L4
Gambar 3.10 Perancangan Fase Flux ... L7
Gambar 3.11 Perancangan Fase Low Energy ... L8
Gambar 3.12 Perancangan Fase Full Wave Rectification ... L9
Gambar 3.13 Perancangan Fase Low Pas Filtering ... L9
Gambar 3.14 Perancangan Fase Downsampling ... L10
Gambar 3.15 Perancangan Fase Autocorrelation ... L10
Gambar 3.16 Perancangan Fase Pencarian Tiga Puncak Tertinggi ... L11
Gambar 3.17 Puncak Tertinggi Pertama ... 55
Gambar 3.18 Perancangan Fase Pencarian Titi Tertinggi Pertama ... L12
Gambar 3.19 Pencarian Titik Terendah Sebelah Kiri dengan Membandingkan
Selisih Ketinggian Gelombang ... 56
Gambar 3.20 Perancangan Fase Pencarian Titik Terendah Sebelah Kiri Titik
Tertinggi Pertama... L13
Gambar 3.21 Pencarian Titik Terendah Sebelah Kanan dengan Membandingkan
Selisih Ketinggian Gelombang ... 57
Gambar 3.22 Perancangan Fase Pencarian Titik Terendah Sebelah Kanan Titik
Tertinggi Pertama... L14
Gambar 3.23 Area Pencarian Titik Tertinggi Kedua ... 58
Gambar 3.24 Perancangan Fase Pencarian Titik Tertinggi Kedua ... L15
Gambar 3.25 Pencarian Titik Terendah Sebelah Kiri Puncak Tertinggi Kedua
Mencapai Titik Terendah Kanan Puncak Tertinggi Pertama ... 59
Gambar 3.26 Perancangan Fase Pencarian Titik Terendah Sebelah Kiri
Gambar 3.27 Pencarian Titik Terendah Sebelah Kanan Puncak Tertinggi
Kedua Mencapai Titik Terendah Kiri Puncak Tertinggi Pertama ... 60
Gambar 3.28 Perancangan Fase Pencarian Titik Terendah Sebelah Kanan Tertinggi Kedua ... L17 Gambar 3.29 Perancangan Fase Pencarian Titik Tertinggi Ketiga ... L18 Gambar 3.30 Perancangan Fase Normalisasi 120 Beat Histogram ... L19 Gambar 3.31 Perancangan Fase Feature Calculation ... L20 Gambar 3.32 Perancangan Fase Feature Calculation A ... L21 Gambar 3.33 Perancangan Fase Feature Calculation B ... L22 Gambar 3.34 Perancangan Fase Feature Calculation C ... L23 Gambar 3.35 Perancangan Layar Utama ... 65
Gambar 3.36 Perancangan Layar Ekstraksi ... 66
Gambar 3.37 Perancangan Layar Ekstraksi Banyak ... 66
Gambar 3.38 Perancangan Layar Pengenalan ... 67
Gambar 3.39 Perancangan Layar Pengujian ... 68
Gambar 3.40 Perancangan Layar Bantuan ... 69
Gambar 4.1 Visualisasi Spectogram dan Sinyal Genre Musik House ... 72
Gambar 4.2 Visualisasi Spectogram dan Sinyal Genre Musik Jazz ... 72
Gambar 4.3 Visualisasi Spectogram dan Sinyal Genre Musik Pop... 73
Gambar 4.4 Visualisasi Spectogram dan Sinyal Genre Musik Rock ... 73
Gambar 4.5 Grafik Hasil Pengujian 1 Lapis Tersembunyi ... 74
Gambar 4.7 Grafik Hasil Pengujian 2 Lapis Tersembunyi,
Unit Tersembunyi 75 dan variasi 25 sampai 250…...………..79
Gambar 4.8 Layar Utama Klasifikasi Lagu Berdasarkan Genre Musik ... 81
Gambar 4.9 Layar Ekstraksi ... 82
Gambar 4.10 Layar Ekstraksi Banyak ... 83
Gambar 4.11 Layar Pengenalan ... 84
Gambar 4.12 Layar Pengujian ... 85
DAFTAR TABEL
Tabel 2.1 Hasil Percobaan Permasalahan XOR oleh Laurene Fausett ... 41
Tabel 3.1 Percobaan Training dan Testing ... 62
Tabel 3.2 Confusion Matrik ... 64
Tabel 4.1 Hasil Pengujian 1 Lapis Tersembunyi ... 74
Tabel 4.2 Hasil Pengujian 2 Lapis Tersembunyi ... 75
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi yang semakin pesat membawa pengaruh besar
dalam dunia musik yang telah tersedia dalam bentuk digital yang dikenal dengan
istilah audio digital. Audio digital menyediakan informasi tambahan berbentuk
metadata (misalnya ID3 dalam MP3) yang mendukung efektifitas pencarian
informasi, pengurutan, dan perbandingan musik. Informasi tambahan biasanya diisi
dengan informasi spesifik mengenai musik yang bersangkutan seperti judul lagu,
artis, nama album, tahun keluaran, genre musik dan informasi lain yang
ditambahkan sesuai dengan kebutuhan pengguna. Namun sampai sekarang
pengisian metadata tersebut masih dilakukan secara manual, termasuk penentuan
dan pengisian jenis genre musik.
Manusia dapat dengan mudah menentukan genre musik hanya dengan
mendengarkan sepenggal musik dengan durasi yang singkat. Kemampuan
identifikasi yang dimiliki manusia ini terbentuk dari pola pendengaran selama
bertahun-tahun yang membentuk persepsi manusia mengenai jenis musik. Tidak
menutup kemungkinan bahwa manusia dapat melakukan kesalahan
pengklasifikasian dari sejumlah musik yang berbeda ke dalam genre yang tepat,
karena persepsi masing-masing individu bersifat relatif. Hal tersebut akan berbeda
atau persepsi umum.
Yang menjadi permasalahan adalah bagaimana caranya sebuah mesin atau
komputer dapat mengenali genre musik dengan akurasi yang baik. Untuk
memberikan pemecahan tersebut, dalam penelitian ini akan dirancang sebuah
sistem pengklasifikasian genre musik secara otomatis dengan pemrosesan suara
digital yang menggunakan fitur-fitur dalam Music Genre Recognition by Analysis
of Texture (MUGRAT) yang diperkenalkan oleh Karin Kosina (Kosina, 2002) dan
proses pengklasifikasian dengan metode Jaringan Saraf Tiruan Propagasi Balik.
1.2. Rumusan Masalah
Berdasarkan uraian singkat latar belakang masalah diatas, maka rumusan
masalah untuk penelitian ini adalah “Bagaimana cara sebuah mesin atau komputer
mengenali genre musik dengan akurasi yang baik”.
1.3. Tujuan
Tujuan dari penelitian ini adalah membuat sistem yang mampu secara
otomatis mengenali genre suatu musik.
• Ekstrak ciri dengan metode MUGRAT
• Training dan Testing dengan metode Jaringan Saraf Tiruan Propagasi Balik.
1.4. Batasan Masalah
Untuk membahas topik yang lebih terarah dan terfokus pada tujuan yang
ingin dicapai, maka batasan masalahnya sebagai berikut:
2. Jenis format data yang digunakan berupa file MP3 dengan frekuensi sampling
44100 Hz.
1.5. Metodologi Penelitian
Metode penelitian yang dilakukan untuk mendukung penulisan Tugas Akhir
adalah :
1. Studi pustaka dengan mengumpulkan informasi dari buku, internet, majalah,
dan artikel yang dibutuhkan, baik yang berhubungan dengan suara, pemrosesan
sinyal digital, MUGRAT, Jaringan Saraf Tiruan Propagasi Balik dan
sumber-sumber lain yang dapat mendukung penulisan tugas akhir ini.
2. Melakukan analisa sistem yang akan dibuat dengan memilih file lagu MP3
sebagai sampel pembelajaran sistem, melakukan perancangan
arsitektur-arsitektur Jaringan Saraf Tiruan Propagasi Balik dengan penerapan variasi nilai
parameter yang berbeda, serta memilih fungsi aktivasi dan metode inisialisasi
nilai bobot yang diharapkan dapat memberikan hasil yang optimal.
3. Melakukan percobaan serta pengujian terhadap perancangan arsitektur yang
telah dibuat untuk mendapatkan nilai penurunan error yang optimal serta
tingkat akurasi klasifikasi genre musik yang baik.
1.6. Sistematika Penulisan
Sistematika penulisan Tugas Akhir ini dibagi menjadi beberapa bab dengan
BAB I : PENDAHULUAN
Bab ini membahas latar belakang, rumusan masalah, tujuan, batasan
masalah, metode penelitian serta sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini menguraikan teori-teori dasar yang mendukung dan menjadi dasar
bagi pemecahan masalah, antara lain metode pengenalan pola genre musik yang
mencakup pemrosesan sinyal digital (analisis Fourier), ekstraksi fitur, dan
Jaringan Saraf Tiruan khususnya model Propagasi Balik yang akan digunakan
dalam perancangan sistem.
BAB III : ANALISIS DAN PERANCANGAN SISTEM
Bab ini membahas mengenai analisa dan perancangan hal-hal atau
komponen-komponen yang akan digunakan untuk melakukan penelitian, serta
perancangan sistem secara lengkap.
BAB IV : IMPLEMENTASI DAN ANALISA HASIL
Bab ini menjelaskan implementasi sistem, sarana yang dibutuhkan, dan
cara pengoperasian sistem yang telah ada serta menguraikan evaluasi dari hasil
BAB V : PENUTUP
Bab ini merupakan penutup yang berisi kesimpulan dari keseluruhan
penelitian dan saran-saran yang diusulkan untuk pengembangan lebih lanjut.
BAB II
LANDASAN TEORI
Bab ini berisi penjabaran teori-teori yang dikategorikan menjadi teori umum dan
teori khusus yang mendukung penulisan Tugas Akhir ini. Teori-teori umum yang dibahas
mencakup dasar pengenalan pola, musik, dan genre musik. Dan teori-teori khusus yang
mendukung metode pengenalan pola genre musik mencakup pemrosesan sinyal digital
(analisis Fourier), ekstraksi fitur, normalisasi, dan Jaringan Saraf Tiruan khususnya
model propagasi balik yang akan digunakan dalam perancangan aplikasi.
2.1 Teori – Teori Umum
2.1.1 Dasar Pengenalan Pola
Tahap-tahap pengenalan pola mencakup pengumpulan data, pengolahan
data menjadi informasi, dan pengelompokan berdasarkan interpretasi data dari
penemuan struktur data atau pencocokan data terhadap struktur lain yang telah
dikenali.
Salah satu cara untuk melakukan pengenalan pola adalah dengan
menggunakan jaringan saraf tiruan dengan menggunakan representasi pemrosesan
sinyal diskrit dari pola yang akan dikenali.
Pengenalan genre musik merupakan sebuah bagian dari bidang Audio
Signal Classification (ASC), yang dapat didefinisikan sebagai pengekstrakan fitur
pengidentifikasian dan pengelompokan suara sesuai dengan kategori.
2.1.2 Musik
Menurut Jean Molino, musik adalah sebuah bentuk seni yang merupakan
definisi yang bervariasi seiring dengan perkembangan jaman dan budaya
(http://en.wikipedia.org/wiki/jean_molino). Sebuah definisi umum tentang musik
mengatakan bahwa musik merupakan rangkaian suara yang teratur yang
mengandung nilai seni / keindahan. (Cage dan Schenebel,
http://en.wikipedia.org/wiki/cage_schenebel).
Musik terdiri dari beberapa aspek, antara lain melodi, harmoni, irama dan
beat (http://en.wikipedia.org/wiki/music.htm).
a. Melodi
Melodi adalah perubahan pola rangkaian suara yang bersifat linear
dalam rentang waktu tertentu, dan tidak terjadi secara bersamaan seperti
chord. Perubahan tersebut mencakup pola nada dan durasi. Elemen penting
dari sebuah melodi adalah durasi, pitch, timbre, tekstur, dan keras lemahnya
suara. Melodi biasanya terdiri dari satu atau beberapa frase dan motif musik,
dan biasanya diulang sepanjang atau sebagian lagu dalam bentuk-bentuk yang
bervariasi. (http://en.wikipedia.org/wiki/Melodyhtm).
b. Irama dan Beat
Irama merupakan durasi suara dalam rentang waktu tertentu. Setiap
genre musik mempunyai bentuk irama yang berbeda satu dengan yang lain.
dan bisa juga dari alat musik chordal, seperti gitar dan banjo
(http://en.wikipedia.org/wiki/Rhythm.htm).
Beat merupakan sinyal-sinyal periodik yang membentuk irama. Beat
merupakan ketukan atau dentuman lebih dari sekali. Secara fisik, beat
merupakan osilasi diantara intensitas nol dengan intensitas penuh yang
disebabkan oleh interferensi gelombang yang bersifat destruktif dan
konstruktif. Beat terdengar sebagai debaran keras lemahnya suara.
(http://en.wikipedia.org/wiki/Beat_(music)).
c. Harmoni
Kata “harmoni” berasal dari bahasa Yunani yang berarti “mengaitkan
atau menggabungkan”. Harmoni merupakan sebuah seni penggunaan pitch
secara simultan atau bersamaan di dalam musik (contoh nyatanya adalah
chord), yang sering dianggap sebagai aspek vertikal musik, dimana melodi
sebagai aspek horisontalnya. Sering kali harmoni merupakan hasil dari
beberapa alunan melodi yang dimainkan secara bersamaan. Harmoni
didasarkan pada keselarasan dan resonansi. Walaupun kebanyakan harmoni
berasal dari dua atau lebih nada yang dibunyikan secara bersamaan, ada juga
harmoni yang tercipta hanya dengan sebuah alunan melodi
2.1.2.1 Genre Musik
Istilah genre berasal dari kata latin genus, yang berarti kelas. Genre
dapat digambarkan sebagai sebuah kategori berdasarkan struktur, tema, atau
kriteria fungsional. Kriteria yang dimaksud tidak ditentukan oleh fakta-fakta
objektif, namun lebih mengarah pada bagian proses budaya yang dinamis.
Genre musik merupakan kategori musik dengan sifat atau elemen tertentu.
Klasifikasi genre bersifat subjektif berkenaan dengan sifat individu
pendengar dan lingkungan sosio-kultural. Dalam hal ini, genre musik dapat
dipertimbangkan sebagai kelas khusus dengan sejumlah sifat sederhana
dengan rata-rata persepsi pendengar dalam membedakan jenis suatu lagu dari
lagu-lagu lain. Genre dikelompokkan berdasarkan instrumentasi dan struktur
ritme musik. (http://en.wikipedia.org/wiki/musical_genre.htm).
a. Musik Pop
Musik pop memiliki ciri khas irama dan nada teratur dan cukup
stabil. Alat yang umumnya dimainkan dalam musik pop antara lain
keyboard, piano, gitar, drum, bass, dan kadang-kadang gitar listrik.
Pop dibedakan menjadi beberapa subgenre seperti boyband,
girlband, musik pop tradisional, j-pop, bubblegum pop, teen pop, euro
pop, dan subgenre lainnya. (http://en.wikipedia.org/wiki/pop_music.htm).
b. Musik Rock
Musik rock memiliki cari khas yang keras dan cepat, walaupun ada
juga beberapa musik rock yang memiliki irama cukup lambat (slow rock).
gitar listrik, bass dan drum.
Musik rock terdiri dari beberapa subgenre yaitu art rock, cello
rock, country rock, desert rock, dialiect rock, garage rock, girl group,
glam rock, glitter rock, hard rock, heartland rock, instrumental rock, jam
band, post rock, psychedelia, pub rock, rock en espanol, soft rock,
southern rock. (http://en.wikipedia.org/wiki/rock_music.htm).
c. Musik House
Musik house adalah suatu variasi dari electronic dance music.
Elemen utama yang digunakan dalam lagu ini adalah irama yang
dihasilkan oleh drum dengan bass line dengan irama yang cepat dan
teratur. Musik house menonjolkan suara bass. Alat musik yang pada
umumnya dimainkan dalam musik house seperti synthesizer, drum,
sequencer, keyboard, sampler.
Beberapa subgenre dari musik house antara lain acid, ambient
house, Chicago deep house, garage ghetto house, hip house, progressive
tech house. (http://en.wikipedia.org/wiki/house_music.htm).
d. Musik Jazz
Music jazz memiliki ciri irama mengayun yang kadang-kadang
kurang teratur. Alat musik yang umumnya dimainkan dalam musik jazz
seperti gitar, saxophone, trombone, piano, clarinet, trumpet, bass, drum,
dan tentu saja vocal.
Musik jazz sendiri terdiri dari beberapa subgenre diantaranya
smooth jazz. (http://en.wikipedia.org/wiki/jazz.htm).
2.2 Teori – Teori Khusus
2.2.1 Pemrosesan Sinyal Digital
Pemrosesan sinyal digital yaitu tahap-tahap berupa metode yang
digunakan untuk mengekstrak atau mengolah data-data mentah (dari file musik
yang sudah dikompres) supaya menjadi file yang berisi pola masukan (input)
yang digunakan pada proses pembelajaran (training) dan klasifikasi pada
propagasi balik (backpropagation).
a. Analisa Fourier
Representasi sinyal Fourier memegang peranan penting dalam
pemrosesan sinyal diskrit maupun kontinu, yang menyediakan metode untuk
memetakan sinyal ke dalam domain lain.
Sintesis Fourier merupakan pembentukan sinyal dengan superposisi
dari potongan-potongan gelombang sinus, sedangkan analisa Fourier
merupakan kebalikan sintesis Fourier, yaitu memecah sinyal menjadi
komponen-komponen sinusoidal. Analisa Fourier merupakan suatu cara
matematis yang digunakan untuk menguraikan sinyal menjadi gelombang
sinus dan kosinus. Dari gelombang sinyal suara berdomain waktu (time –
amplitude plot), maka akan diperoleh informasi yang cukup karena informasi
yang dibutuhkan terkandung dalam frekuensi, fase, dan ampiltudo dari
komponen spectral yang membentuk sinyal, yang terdapat dalam gelombang
mengambil informasi tersebut, diperlukan perhitungan spektrum frekuensi
sinyal, mirip dengan yang terjadi pada proses pendengaran manusia dengan
menggunakan analisa Fourier.
Transformasi matematis untuk menghitung analisis Fourier disebut
transformasi Fourier yang digunakan untuk sinyal kontinu, yang dirumuskan
sebagai :
X ( f ) = (2.1)
dan invers tranformnya, sebagai :
x ( t ) = (2.2)
Dari persamaan diatas, x(t) merupakan fungsi waktu, dan X(f)
merupakan fungsi frekuensi. Variabel j merupakan akar kuadrat -1, dan e
merupakan notasi eksponen netral, yang didefinisikan sebagai berikut :
(2.3)
Penerapan transformasi Fourier dalam sinyal berarti mengkonversi
sinyal dari domain waktu ke dalam domain frekuensi.
• Discrete Fourier Transform
Discrete Fourier Transform (DFT) digunakan untuk sinyal diskrit
dengan mentransformasikan persamaan 2.3 menjadi :
dengan invers tranformasinya :
(2.5)
Perhitungan dengan DFT sangat kompleks dan memakan banyak
waktu. DFT bisa dihitung secara cepat dengan menggunakan algoritma Fast
Fourier Transform (FFT) yang merupakan algoritma yang efisien untuk
memperoleh frekuensi sinyal.
Fungsi FFT yang digunakan dalam pengenalan genre musik ini
adalah :
(2.6)
yang mengambil nilai real, dan
(2.7)
yang mengambil nilai dari imaginer, dan kemudian disubtitusikan menjadi
sebuah nilai magnitude :
(2.8)
FFT dapat dikembalikan lagi dalam domain waktu dengan melakukan
inverse dari . Inverse FFT dalam pengenalan genre musik
ini dapat dihitung dengan persamaan :
Fase IFFT (Inverse Fast Fourier Transform) berfungsi untuk
mengubah fungsi amplitudo dalam domain frekuensi menjadi fungsi
amplitude dalam waktu (kebalikan FFT). Data-data tersebut digunakan dlam
proses ekstraksi fitur yang berhubungan dengan bit / irama lagu (beat related
feature extraction)
b. Hamming Window
Hamming Window adalah sebuah fungsi penjendelaan yang sangat
umum, yang memberikan hasil memuaskan dengan perhitungan yang efektif
dengan meminimalkan sinyal yang terdiskontinu. Hamming Window
ditemukan oleh Richard W. Hamming, seorang ahli dalam bidang komputer,
yang digunakan untuk menyederhanakan perhitungan. Secara sistematis
Hamming Window terdiri dari satu siklus kosinus, yang menaikkan dan
menghimpitkan sehingga bentuk gelombang turun dan mempunyai nilai
puncak.
Hamming Window dirumuskan sebagai berikut :
(2.10)
Gambar 2.1 mengilustrasikan sinyal ampiltudo sebelum melalui proses
windowing. Gambar 2.2 mengilustrasikan sinyal amplitude setelah proses
windowing dalam sebuah window, dan gambar 2.3 mengilustrasikan sinyal
Gambar 2.1 Sinyal amplitude sebelum proses windowing
Gambar 2.2 Sinyal amplitude dalam sebuah window
Gambar 2.3 Sinyal amplitude dari keseluruhan window
c. Nilai Tengah (Mean)
Nilai tengah adalah nilai rata-rata dari sebuah bilangan, dalam hai ini
(2.11)
d. Standar Deviasi
Standar deviasi diperlukan menunjukkan nilai puncak yang jelas, dapat
dirumuskan sebagai berikut :
(2.12)
2.2.2 Ekstraksi Fitur
Ekstraksi fitur merupakan proses komputasi nilai numerik yang mewakili
sebagian dari data audio, yang menghasilkan fitur-fitur baru dari data mentah
dengan menerapkan satu atau lebih transformasi.
Pemilihan fitur yang baik cukup sulit dilakukan karena sebuah fitur yang
buruk tidak akan merefleksikan keadaan sebenarnya dari data pemilihan fitur
yang baik.
Dalam penelitian ini digunakan metode pengenalan genre musik yang
dikenal dengan sebutan MUGRAT (Music Genre Recognition by Analysis of
Texture) yang diperkenalkan oleh Karin Kosina (Kosina, 2002). MUGRAT
menggunakan ekstraksi fitur seperti yang dikemukakan oleh George Tzanetakis
(Tzanetakis, 2001) untuk membaca file-file input musik dan menghitung sejumlah
fitur.
Ada dua jenis fitur yang diterapkan pada MUGRAT, yaitu fitur permukaan
a. Musical Surface Features
Musical surface features merupakan penghitungan fitur-fitur musik
yang berhubungan dengan permukaan spectral musik. Istilah musical surface
atau permukaan musik digunakan untuk menunjukkan karakteristik musik
berkaitan dengan tekstur dan instrumentasi. Fitur-fitur berikut dihitung untuk
masing-masing analisa window :
1. Spektral Centroid
Spektral centroid suara adalah sebuah konsep yang diambil dari
pengertian musik dan psikoakustik, merupakan titik keseimbangan
spectrum yang digunakan untuk mengukur ketajaman spectral dan sering
dikaitkan dengan tingkat kejelasan spectral, dimana semakin tinggi nilai
centroid, maka suara yang ada akan semakin jelas atau tajam (Repetto dan
Polansky, 1997).
Spektral centroid dapat dihitung dengan menggunakan persamaan :
(2.13)
dimana adalah magnitude dari Fourier transform pada
frame t dan frekuensi n.
2. Rolloff
Sama halnya dengan spectral centriod, rolloff digunakan untuk
mengukur ketajaman spectral yang didefinisikan sebagai frekuensi R yang
Rolloff dapat dihitung dengan menggunakan persamaan:
(2.14)
Rolloff merupakan generalisasi spectral centroid, dimana spectral
centroid adalah rolloff untuk r = 50%. Pada MUGRAT digunakan nilai
rolloff sebesar 80%.
3. Flux
Flux adalah ukuran perubahan spektral local yang didefinisikan
sebagai berikut :
(2.15)
dimana merupakan magnitude dari Fourier transform pada
window t yang sudah dinormalisasi.
4. Zero-crossing Rate (ZCR)
Sebuah zero-crossing terjadi saat sampel dalam sebuah sinyal
digital mempunyai perbedaan tanda. Rata-rata dari zero-crosssing dapat
digunakan sebagai sebuah ukuran sederhana dari isi frekuensi sinyal.
Untuk sinyal sederhana, ZCR berhubungan secara langsung dengan
frekuensi dasar (fo). Sebuah sinusoid akan melintasi garis nol dua kali
dalam setiap siklus, dan oleh karena itu frekuensi dapat ditentukan dengan
sinyal dengan cara ini tampak mudah dan efektif, namun hal ini tidak
dapat diterapkan dalam beberapa kasus, karena sinyal terdiri dari
bagian-bagian dengan frekuensi yang lebih tinggi dari frekuensi dasar yang
melintasi garis nol beberapa kali dalam satu siklus (Kosina, 2002).
ZCR digunakan jika sampel dalam sebuah sinyal digital
berturut-turut mempunyai tanda yang berbeda-beda. ZCR adalah pengukur
sederhana untuk noise dari suatu sinyal yang dapat dihitung dengan
menggunakan rumus :
(2.16)
dimana x[n] merupakan sinyal dalam domain waktu dan s merupakan
sebuah variabel dengan nilai 1 untuk argumen positif dan 0 untuk argumen
negative. Tidak seperti spectral centroid, rolloff, dan flux yang
berdasarkan pada domain frekuensi, zero-crossing rate berdasarkan
domain waktu.
5. Low Energi
Low energy didefinisikan sebagai persentase dari window yang
mempunyai energi yang lebih kecil dari rata-rata energi dari keseluruhan
window.Low energy dapat dihitung dengan persamaan berikut :
(2.17)
dimana musik yang mengandung bagian yang diam akan mempunyai nilai
x[m] merupakan sinyal diskrit dalam domain waktu, dan m adalah indexs
dari waktu. Sedangkan w dapat didefinisikan sebagai berikut :
Nilai-nilai fitur yang diperoleh tidak digunakan secara langsung.
Nilai-nilai dugaan dari “permukaan musik” diciptakan oleh serangkaian
dari bagian spectral yang sedikit berubah-ubah pada suatu jangka waktu.
Untuk mendapatkan informasi penting ini, maka perlu dilakukan
perhitungan rata-rata dari varian dari fitur diatas yang dihitung
berdasarkan sejumlah window.
Macam-macam fitur diatas akan menghasilkan sembilan nilai fitur
permukaan musik antara lain rata-rata centroid, rata-rata rolloff, rata-rata
flux, rata-rata zero-crossing, varian centroid, varian rolloff, varian Flux,
varian zero-crossing dan LowEnergy (Kosina, 2002).
b. Beat Related Features
Beat related features adalah penghitungan fitur-fitur yang
berhubungan dengan irama musik. Irama dan ritme dari suatu lagu merupakan
indikasi yang baik untuk genre, contohnya pada musik house akan terdapat
irama yang kuat dan khusus. Seperti pada sistem pendeteksi irama pada
Terdapat beberapa tahap yang harus dilakukan untuk mendeteksi
irama, antara lain : sinyal hasil perhitungan tahap musical surface features
(MSF) masuk ke tahap beat related features, melalui proses envelope
extraction (EE), autocorrelation (AC), beat histogram calculation (BH), dan
feature calculation (FC). Proses envelope extraction itu sendiri terdiri dari
proses full wave rectification (FWR), low pass filtering (LP), down sampling
(DS), dan mean removal (MR). Gambar 2.4 menunjukkan proses
penghitungan beat related features.
Envelope Extraction
Gambar 2.4 Modul Ekstraksi Fitur untuk Irama dan Envelope Extraction MSF
AC
BH EE
EE EE EE
EE
FC
FWR
LP
DS
1. Envelope Extraction
Setelah dekomposisi pada tahap awal, sejumlah langkah untuk
envelope extraction amplitudo waktu diterapkan pada setiap pita.
Envelope extraction terdiri dari beberapa langkah, yaitu :
a) Full wave rectification
y[n] = | x[n] | (2.18)
Full wave rectification adalah standar dari tahap envelope
extraction yang biasanya diikuti oleh tahap low pass filtering,
digunakan untuk mengkonversi sinyal berdomain waktu menjadi
envelope sementara.
b) Low pass filtering
y[n] = ( 1 - α) x[n] + ay[ n- 1] (2.19)
Low pass filtering merupakan salah satu cara dari envelope
extraction yang bertujuan untuk menghasilkan envelope yang lebih
halus. Nilai α yang digunakan adalah 0,99 yang akan menghasilkan
envelope yang semakin halus. Dan juga ini merupakan langkah standar
dari envelope exraction.
c) Downsampling
y[n] = x[kn] (2.20)
Downsampling digunakan untuk mengurangi waktu komputasi
2. Autocorrelation
Autocorrelation merupakan cara untuk mendeteksi suatu bentuk
gelombang pada suatu latar belakang yang mengandung noise. Gambar
2.5 dan 2.6 menunjukkan gelombang sinus sebelum proses
autocorrelation dan setelah proses autocorrelation.
Gambar 2.5 Gelombang Sinus dengan Noise (Sebelum Autocorrelation)
Gambar 2.6 Gelombang Sinus Setelah Autocorrelation
Proses autocorrelation menggunakan persamaan :
Tiga puncak pertama dari fungsi autocorrelation ditambahkan
pada sebuah beat histogram. Setiap bin pada beat histogram menyatakan
sebuah periode beat dalam BPM. Amplitudo dari masing-masing dari tiga
puncak yang dipilih ditambahkan pada beat histogram. Hal ini dilakukan
untuk setiap window. Puncak terkuat pada histogram terakhir menyatakan
beat terkuat pada sinyal.
3. Feature Calculation
Enam dimensional vektor fitur yang dihitung dari beat histogram,
antara lain :
1) Amplitudo relatif dari puncak pertama dan kedua pada beat histogram
yang berguna untuk mengukur perbedaan irama lagu. Amplitudo
relatif diperoleh dengan membagi nilai amplitudo dengan jumlah
keseluruhan nilai amplitudo.
2) Rasio amplitudo yang diperoleh dari ampiltudo puncak ke dua dibagi
dengan amplitudo puncak pertama yang ini menunjukkan hubungan
antara irama utama dengan sub irama pertama.
3) Periode puncak pertama dan puncak kedua yang dihitung dalam BPM,
yang mengindikasikan kecepatan musik.
4) Penjumlahan dari histogram, yang merupakan indikasi dari kekuatan
2.2.3 Normalisasi
Tahap normalisasi bertujuan agar data berada dalam rentang -1 sampai
dengan 1, karena penggunaan fungsi sigmoid bipolar. Rumus yang digunakan
untuk melakukan normalisasi interpolasi linier adalah sebagai berikut :
(2.22)
dimana high adalah nilai tertinggi, low adalah nilai terendah. x adalah nilai
masukan dengan keluaran y, max adalah nilai maksimum yang terdapat dalam
data, dan min adalah nilai minimum yang terdapat dalam data. Hasil normalisasi
inilah yang akan digunakan dalam proses klasifikasi.
2.2.4 Jaringan Saraf Tiruan
Sebuah jaringan saraf tiruan adalah sebuah sistem pemrosesan informasi
yang mempunyai karakteristik tertentu secara umum yang berhubungan dengan
jaringan saraf biologis. Jaringan saraf tiruan telah dikembangkan sebagai sebuah
generalisasi dari model matematis dari jaringan saraf biologis pada manusia,
berdasarkan asumsi :
a. Pemrosesan informasi terjadi pada beberapa elemen sederhana yang disebut
neuron.
b. Sinyal dilewatkan antara neuron-neuron melalui lintasan penghubung.
c. Setiap lintasan penghubung mempunyai bobot tertentu, dimana dalam
jaringan saraf tiruan nilai bobot ini dikalikan dengan sinyal yang
d. Dalam setiap neuron terdapat sebuah fungsi aktivasi (biasanya nonlinear) pada
lapisan input untuk menentukan sinyal keluaran.
Dengan kemampuan jaringan saraf tiruan, masalah yang rumit termasuk
kurangnya informasi yang tersedia dapat diatasi. Jaringan saraf tiruan telah
dimanfaatkan dalam beberapa bidang pengetahuan seperti pemrosesan sinyal
(pengenalan pola, pengenalan suara, pengenalan gambar), kompresi, rekonstruksi
data (klasifikasi dengan bagian data yang hilang), pengumpulan data, dan
penyederhanaan data.
Jaringan saraf tiruan dikembangkan menggunakan model matematika dari
kesadaran manusia atau saraf biologis, yang berdasarkan pada asumsi bahwa
proses informasi terjadi pada beberapa elemen sederhana yaitu neuron yang dapat
melewatkan sinyal melalui sebuah hubungan yang memiliki bobot (weight) dan
fungsi aktivasi yang didapatkan dengan menjumlahkan bobot sinyal masukan
sehingga mendapatkan sinyal keluaran. Karakteristik jaringan saraf tiruan terdiri
dari arsitektur (pola hubungan antar neuron), metode perhitungan bobot dan
fungsi aktivasi.
a. Arsitektur Jaringan Saraf Tiruan
Arsitektur jaringan saraf tiruan merupakan pengaturan spesifik dan
hubungan antar neuron pada lapisan dalam jaringan. Neuron-neuron yang
terletak pada lapisan yang sama memiliki sifat dan fungsi aktivasi yang sama.
Faktor yang mempengaruhi sifat sebuah neuron adalah fungsi aktivasi dan
sinyal. Neuron-neuron dalam jaringan saraf tiruan dikelompokkan dalam
lapisan masukan (input layer) merupakan lapisan pertama yang menerima
sinyal dari bagian luar jaringan (eksternal), lapisan tersembunyi (hidden layer)
yaitu lapisan yang menerima sinyal dari neuron pada lapisan masukan dan
lapisan keluaran (output layer) yaitu lapisan yang mengekstrak ciri dari yang
berkaitan atau pola dari sinyal yang diterima.
Macam-macam arsitektur jaringan saraf tiruan antara lain :
1) Jaringan Lapis Tunggal
Jaringan lapis tunggal (Single Layer Net) memiliki satu lapisan
dengan bobot yang terhubung. Jaringan ini menerima sinyal dari luar
melalui unit masukan (input unit) dan mengolah hasilnya pada unit
keluaran (output unit).
Untuk pola klasifikasi, setiap unit keluaran yang berhubungan
dengan kategori khusus dimana sebuah vektor keluaran mungkin ada
ataupun tidak ada. Perlu diketahui bahwa sebuah jaringan lapis tunggal,
bobot satu unit keluaran tidak mempengaruhi bobot unit keluaran lainnya.
Sedangkan pada pola asosiasi, dapat menggunakan arsitektur yang sama,
tetapi seluruh pola sinyal keluaran mengolah sinyal masukan yang
menghasilkan pola asosiasi ini. Kedua contoh ini mengilustrasikan bahwa
jenis jaringan yang sama dapat digunakan untuk permasalahan yang
sederhana.
Di lain pihak, untuk permasalahan yang lebih kompleks
selanjutnya. Gambar 2.7 mengilustrasikan arsitektur jaringan lapis
tunggal.
Gambar 2.7 Jaringan Lapis Tunggal
2) Jaringan Lapis Majemuk
Jaringan lapis majemuk (Multi Layer Net) merupakan jaringan
dengan satu atau lebih lapisan yang terletak diantara lapisan masukan dan
lapisan keluaran, atau yang sering disebut juga lapisan tersembunyi.
Biasanya terdapat sebuah vektor bobot diantara dua lapisan yang
berdekatan (input, hidden, atau output). Jaringan lapis majemuk dapat
menyelesaikan masalah yang kompleks dibandingkan jaringan lapis
tunggal, tetapi proses pembelajaran akan menjadi lebih sulit. Jaringan ini
dapat menyelesaikan kasus yang tidak adapt dipelajari menggunakan
jaringan lapis tunggal. Gambar 2.8 mengilustrasikan arsitektur jaringan
Gambar 2.8 Jaringan Lapis Majemuk
b. Jaringan Saraf Tiruan Propagasi Balik
JSTPB dikembangkan oleh ilmuwan komputer Amerika bernama Paul
Werbos (1974), David Parker (1984/1985), dan David Rumelhart, Ronald
Williams, dan lainnya (1985). JSTPB membandingkan perhitungan keluaran
jaringan saraf tiruan dengan target keluaran dan menghitung nilai error untuk
setiap unit pada jaringan. Jaringan saraf tiruan menyelesaikan bobot pada link
dengan nilai error pada setiap unit, dimulai dari hubungan antara lapisan
tersembunyi dan lapisan keluaran terakhir. Setelah jaringan melakukan
pembaruan bobot pada sejumlah hubungan, jaringan menghitung nilai error
untuk lapisan sebelumnya dan melakukan penyesuaian. Algoritma JSTPB
diteruskan dengan menyesuaikan seluruh bobot antara lapisan tersembunyi
dan lapisan masukan. Gambar 2.9 menunjukkan hubungan antar lapisan dalam
Backpropagation
Error
Gambar 2.9 Hubungan Antar Lapisan
Proses pelatihan menggunakan JSTPB terdiri dari proses feedforward,
backpropagation-error (perhitungan error propagasi balik), dan update weight
(pembaruan nilai bobot). Satu siklus pembelajaran melewati 3 tahap tersebut,
disebut dengan 1 epoch. Semakin banyak pembelajaran yang dilakukan maka
akan semakin kecil pula tingkat error yang dihasilkan di lapisan keluaran, dan
dengan demikian semakin kecil juga error suatu sistem. Gambar 2.10
menunjukkan hubungan antar nodes.
Gambar 2.10 Hubungan Antar Nodes
Output Leyer
Hidden Layer
Algoritma Pelatihan
Langkah 0 Inisialisasi nilai bobot (gunakan nilai random yang kecil)
Langkah 1 Selama kondisi benar, lakukan langkah 2-9
Langkah 2 Untuk pasangan training, lakukan langkah 3-8
Feedforward
Langkah 3 Setiap unit masukan ) menerima sinyal
masukan x, dan melepaskan sinyal ini ke seluruh unit pada
lapisan berikutnya (unit tersembunyi).
Langkah 4 Setiap unit tersembunyi ) menjumlahkan
nilai bobot sinyal masukan,
(2.23)
Gunakan fungsi aktivasi untuk menghitung sinyal keluaran,
(2.24)
Dan kirim sinyal ini ke seluruh unit pada lapisan di atasnya
(lapisan keluaran).
Langkah 5 Setiap unit keluaran ) menjumlahkan nilai
bobot sinyal masukan,
(2.25)
Gunakan fungsi aktivasi untuk menghitung sinyal keluaran,
Penghitungan Error Propagasi Balik
Langkah 6 Setiap unit keluaran ) menerima pola
target yang sesuai dengan pola yang dilatih, menghitung
error,
(2.27)
untuk menghitung koreksi bobot (untuk pembaruan bobot
)
(2.28)
untuk menghitung koreksi bias (untuk pembaruan bias )
(2.29)
kemudian nilai dikirim ke unit pada lapisan di
bawahnya.
Langkah 7 Setiap lapisan tersembunyi menjumlahkan
delta masukkannya (dari unit keluaran),
(2.30)
Pengalian dengan turunan fungsi aktivasi untuk
menghitung error,
(2.31)
untuk menghitung koreksi bobot (untuk pembaruan bobot
)
untuk menghitung koreksi bias (untuk pembaruan bias )
(2.33)
Pembaruan nilai bobot dan bias :
Langkah 8 Setiap unit keluaran ) mempengaruhi nilai
bias dan bobot :
(2.34)
Setiap unit tersembunyi mempengaruhi
nilai bias dan bobot :
(2.35)
Langkah 9 Kondisi perulangan
Metode pembelajaran dengan JSTPB memiliki beberapa
karakteristik yang menjadi kelebihan dan kekurangannya.
Kelebihan JSTPB antara lain (Yun, 2001) :
1) Kemudahan dalam mengimplementasikan algoritma pembelajaran.
2) Perolehan hasil klasifikasi yang cepat, walaupun masa pembelajaran
memerlukan waktu yang cukup lama bila dibandingkan dengan algoritma
yang lain.
3) Kekuatan generalisasi yang baik menghasilkan hasil yang akurat di luar
kumpulan sampel yang digunakan untuk pembelajaran.
4) JSTPB dengan banyak layer (multilayer network) sangat baik untuk
Kekurangan JSTPB antara lain (Yun, 2001) :
1) Kompleksnya fungsi-fungsi yang terdapat dalam JSTPB menyebabkan
proses pembelajaran membutuhkan waktu cukup lama.
2) JSTPB pada dasarnya merupakan sebuah “kotak hitam” karena tidak dapat
memberikan sebuah penjelasan yang intuitif / kasual mengenai hasil
perhitungan. Dimana pemetaan antara vector masukan dan keluaran (x, y)
yang terdapat didalamnya, tidak akan pernah diketahui mengapa x tertentu
dipetakan ke sebuah y tertentu. Jadi, JSTPB merupakan domain ilmu
abstrak yang mempelajari parameter-parameter operasional.
3) Penggunaan penurunan gradient (gradient descent) hanya menjamin
pengurangan error pada sebuah local minima.
Sebuah JSTPB yang baik membutuhkan lebih dari sekedar sebuah
algoritma pembelajaran (Yun, 2001). Maka untuk mendapatkan perfoma
JSTPB yang baik, ada beberapa parameter seperti epoch, kecepatan
pembelajaran, lapisan tersembunyi dan jumlah unit tersembunyi yang harus
dipilih secara selektif untuk memperbaiki kelemahan-kelemahan pada JSTPB,
antara lain :
1) Epoch
Satu epoch berarti satu kali siklus pembelajaran (Yun, 2001).
Jumlah epoch menunjukkan kecepatan sistem. Semakin banyak epoch
yang dibutuhkan dalam mencapai target error, berarti kerja sistem akan
berarti meningkatkan akurasi arsitektur, namun membutuhkan waktu
pembelajaran yang lebih lama, begitu pula sebaliknya.
2) Kecepatan Pembelajaran
Kecepatan pembelajaran (learning rate) digunakan untuk
mengontrol perubahan nilai bobot, dengan nilai koefisiennya berkisar
antara 0 dan 1. Semakin tinggi kecepatan pembelajaran yang digunakan
akan menyebabkan perubahan yang semakin besar pada bobot, sehingga
pembelajaran menjadi kurang baik. Sedangkan dengan tingkat kecepatan
pembelajaran yang rendah akan menghasilkan pembelajaran yang akurat
namun prosesnya menjadi sangat lambat. Kecepatan pembelajaran yang
baik akan memberikan hasil yang efektif, namun bersifat relatif untuk
suatu sistem. Jadi kecepatan pembelajaran yang baik untuk sebuah sistem
belum tentu baik untuk sistem yang lain. (Chin – Lee, 1996).
3) Lapisan Tersembunyi
Sebuah lapisan tersembunyi sudah cukup memadai untuk sebuah
arsitektur JSTPB dengan akurasi yang baik. Jika fungsi yang akan
dipelajari sangat kompleks, dapat digunakan dua atau tiga lapisan
tersembunyi yang akan mengakibatkan kecepatan pembelajaran menjadi
semakin lama.
Tanpa adanya lapisan tersembunyi, hasil dapat diperoleh dengan
cepat. Namun hasilnya tidak optimal karena jangkauan dari error sistem
tidak dekat (data mesuk ke JSTPB tanpa melalui “rintangan”, dan
tersembunyi yang yang terlalu banyak dapat menurunkan perfoma dari
JSTPB itu sendiri karena adanya pemetaan rangkaian yang terlalu
kompleks serta prosedur pembelajaran yang terlalu subyektif.
4) Unit Tersembunyi
Jumlah unit tersembunyi yang diperlukan berhubungan dengan
kompleksitas tugas JSTPB yang akan dikerjakan untuk menjalankan tugas
secara maksimal. Sebuah JSTPB dengan unit tersembunyi yang terlalu
sedikit akan memiliki tingkat error pembelajaran dan error klasifikasi yang
tinggi karena tidak mampu memetakan masukan yang kompleks menuju
keluaran yang kompleks. Begitu pula sebaliknya, dengan unit tersembunyi
yang terlalu banyak akan dijumpai tingkat error pembelajaran yang rendah
namun tingkat error klasifikasi yang semakin tinggi.
Penentuan banyak unit tersembunyi yang akan digunakan dalam
penelitian dilakukan dengan melakukan percobaan dan membandingkan
hasil yang terbaik. Namun ada beberapa pedoman yang dapat digunakan
untuk menentukan banyak unit tersembunyi yang optimal. Menurut Yun
Peng (yun, 2001), banyak unit tersembunyi optimal dapat diperkirakan
dengan persamaan berikut :
(2.36)
dimana p adalah jumlah unit tersembunyi dan n adalah jumlah unit
masukkan. Untuk menghitung banyak unit tersembunyi optimal dapat
dimana h adalah jumlah unit tersembunyi, i adalah jumlah unit masukan, o
adalah jumlah unit keluaran, n adalah batas epoch, dan r adalah tingkat
noise dari data yang akan melakukan proses pembelajaran (biasanya
antara 5 dan 10). Pedoman-pedoman yang ada tidak sepenuhnya dapat
dipercaya, oleh karena itu, percobaan terhadap berbagai macam unit
tersembunyi tetap perlu dilakukan.
5) Lama Pembelajaran
Pada saat melakukan proses pembelajaran, perlu diperhatikan agar
proses yang berlangsung tidak melebihi tahap kebenaran data yang
diinginkan (overfitting / overtrained) sehingga menyebabkan error yang
lebih besar dari pada hasil yang diharapkan.
Selama error pada tahap pembelajaran menurun, maka proses
pembelajaran akan tetap dilanjutkan. Ketika error mulai meningkat, berarti
sistem mulai kehilangan kemampuannya untuk mengklasifikasi. Maka
pada titik ini, pembelajaran harus dihentikan.
Error yang ditemui pada tahap pembelajaran dikategorikan dalam
dua kondisi yaitu global minima yang merupakan kondisi error terendah,
dan local minima adalah kondisi error yang bukan merupakan terendah.
Gambar 2.11 Global dan Local Minima
Proses pembelajaran dengan JSTPB dimulai di titik A dan
dilakukan terus menerus dengan tujuan memperoleh error minimum.
Hanya ada satu lembah yang memberikan penyelesaian permasalahan /
error terkecil, yaitu lembah B disebut dengan global minima, yang
memberikan hasil yang sempurna. Lembah yang lebih dangkal, yaitu
lembah C merupakan kondisi local minima. Jika dijumpai lembah C dan
dianggap telah mencapai global minima dan pembelajaran tidak
diteruskan, maka akan diperoleh suatu hasil yang kurang baik. Oleh
karena itu, proses pembelajaran perlu dilakukan terus menerus sampai
diperoleh global minima.
6) Fungsi Aktivasi
Fungsi aktivasi yaitu penjumlahan bobot sinyal masukan dan
mengolah sebuah keluaran, fungsi yang memetakan suatu nilai masukan
tertentu ke suatu nilai keluaran tertentu. Fungsi aktivasi untuk JSTPB
mempunyai beberapa karakteristik penting. Fungsi aktivasi harus bernilai A
C
kontinu, dapat diturunkan. (Fausett, 1994).
Fungsi aktivasi yang sering digunakan dalam JSTPB adalah fungsi
sigmoid biner dan fungsi sigmoid bipolar. Kedua fungsi aktivasi tersebut
memiliki karakteristik penting yang harus dimiliki oleh fungsi aktivasi.
Fungsi sigmoid biner mempunyai rentang (0,1) dan dirumuskan
dengan fungsi logistik :
(2.38)
dimana σ merupakan parameter kecuraman yang diketahui nilainya.
Umumnya nilai σ dipilih sama dengan 1.
Fungsi ini memiliki turunan pertama sebagai berikut :
(2.39)
Gambar 2.12 menunjukkan kurva yang diperoleh dari fungsi sigmoid
biner.
f (x)
1
0
Gambar 2.12 Fungsi Sigmoid Biner
Daerah hasil dari fungsi sigmoid biner adalah antara 0 sampai dengan 1.
Fungsi logistik ini khususnya digunakan sebagai fungsi aktivasi untuk
mendapatkan nilai output pada interval 0 sampai dengan 1.
hasil pada sembarang nilai interval sesuai dengan permasalahan yang ada.
Namun demikian, yang umum digunakan adalah rentang antara -1 sampai
dengan 1.
Fungsi sigmoid bipolar mempunyai rentang (-1, 1) dan dirumuskan
dengan :
(2.40)
dengan fungsi turunannya sebagai berikut :
(2.41)
dimana σ merupakan parameter kecuraman yang diketahui nilainya.
Umumnya nilai σ dipilih sama dengan 1. Gambar 2.13 menunjukkan
kurva dari fungsi sigmoid bipolar.
1
f(x)
x
-1
Gambar 2.13 Fungsi Sigmoid Bipolar
c. Inisialisasi Nilai Awal Bobot
Inisialisasi bobot, yaitu masukan unit tersembunyi, dirancang supaya dapat
masukan, sehingga jaringan akan memasukkan bobot awal ke dalam salah satu
unit tersembunyi yang nilainya akan berada dalam rentang dimana unit
tersembunyi akan melakukan pembelajaran secara cepat.
Inisialisasi bobot yang terlalu besar mengakibatkan sinyal masukan yang
telah diinisialisasikan akan jatuh pada daerah dimana turunan dari fungsi sigmoid
mempunyai nilai yang sangat kecil (daerah saturasi). Sedangkan jika inisialisasi
awal bobot terlalu kecil, masukan yang menuju unit tersembunyi atau unit
keluaran akan mendekati nol, dan akan menyebabkan proses pembelajaran
menjadi sangat lambat.
Prosedur umum dalam inisialisasi nilai awal bobot dan bias adalah dengan
nilai acak antara -0,5 dan 0,5 (atau antara -1 dan 1). Inisialisasi nilai awal bobot
Nguyen - Widrow merupakan suatu modifikasi dalam memberikan nilai awal
bobot yang akan membantu JSTPB melakukan proses pembelajaran lebih cepat.
Percobaan yang dilakukan oleh Laurene Fauset (Fausett, 1994, p302) mengenai
permasalahan XOR membuktikan hal ini. Dari tabel 2.1 terlihat bahwa percobaan
dengan algoritma Nguyen – Widrow memiliki banyak epoch yang jauh lebih
sedikit daripada percobaan tanpa algoritma Nguyen – Widrow.
Fungsi Aktivasi Random Nguyen-Widrow
Binary 2,891 epochs 1,935 epochs
Bipolar 387 epochs 224 epochs
Inisialisasi bobot awal Nguyen – Widrow dapat dihitung dengan
menggunakan algoritma sebagai berikut : untuk setiap unit tersembunyi ( j=1,..
,p), inisialisasikan nilai vector bobot dari unit tersembunyi Vij (old) dengan nilai
acak antara -0,5 sampai dengan 0,5 atau -γ sampai dengan γ, dimana γ adalah
rentang yang telah ditentukan oleh perancang sistem. Setelah itu, dihitung nilai
||Vj (old)|| (normalisasi), menggunakan rumus normalisasi :
(2.42)
dan hitung nilai β menggunakan rumus :
(2.43)
kemudian nilai bobot baru antara lapisan masukan dan lapisan tersembunyi dapat
diinisialisasikan dengan persamaan :
(2.44)
dengan inisialisasi nilai bias dan bobot antara lapisan tersembunyi dengan lapisan
keluaran merupakan nilai acak antara -0.5 dan 0.5 atau antara -γ dan γ. Variabel n
adalah banyak unit tersembunyi, variable p adalah banyak unit tersembunyi, dan
BAB III
ANALISIS DAN DESAIN SISTEM
Bab ini menguraikan tentang analisa penelitian mencakup metode yang digunakan
untuk ekstraksi fitur sinyal musik digital, serta metode klasifikasi dengan JSTPB,
perancangan modul, serta perancangan layar yang diterapkan dalam program. Analisa
dilakukan untuk menjelaskan langkah-langkah yang akan dilakukan selama pengujian
arsitektur JSTPB dan penentuan parameter terbaik dalam JSTPB untuk diterapkan ke
dalam aplikasi klasifikasi genre musik ini sehingga menghasilkan model sistem yang
optimal, yaitu sistem yang mempunyai tingkat akurasi dan kecepatan yang baik.
3.1 Analisa Kebutuhan
Sub bab ini dijelaskan mengenai analisa genre musik yang digunakan, pemilihan
aplikasi tambahan, sampel lagu untuk proses pembelajaran dan pengujian, analisa
pemilihan metode ektraksi fitur dengan MUGRAT dan metode klasifikasi dengan JSTPB,
3.1.1 Analisa Genre Musik
Genre musik yang dipilih dalam proses klasifikasi ini adalah House, Jazz,
Pop dan Rock karena lagu dengan genre-genre tersebut tersedia dalam jumlah
banyak dan digunakan masyarakat dunia pada umumnya (bersifat universal), serta
telah dapat didefinisikan atau dikategorikan dengan baik dibanding dengan
3.1.2 Analisa Aplikasi Tambahan
Penelitian ini menggunakan file lagu MP3 yang akan diubah (convert)
menjadi file WAV. Karena pengekstrakan file MP3 yang telah mengalami
pemampatan menyebabkan adanya sebagian informasi yang hilang sehingga tidak
dapat diekstrak langsung. Maka dari itu diperlukan aplikasi tambahan dalam
sistem untuk mengubah file audio MP3 menjadi file yang bisa diekstrak dan
diteliti yaitu menjadi file WAV dengan kanal suara mono dan 8 bit per sampel
dalam format PCM, yaitu aplikasi Sonic Foundry 6.0. Pemilihan komponen ini
didasarkan pada kemudahannya digunakan, yaitu pengguna program cukup
mengubah bit depth serta kanal suara dan menyimpan file tersebut sebagai file
yang berekstensi WAV.
3.1.3 Analisa Sampel Lagu
Penelitian ini menggunakan sampel-sampel lagu yang mewakili tiap-tiap
genre musik yaitu house, jazz, pop, dan rock untuk proses pembelajaran dan
pengujian. Sampel lagu yang digunakan untuk setiap genre musik yaitu 80 lagu,
sehingga total sampel yang digunakan sebanyak 320 lagu.
3.1.4 Analisa Metode
Dalam penelitian ini diperlukan metode untuk mengekstrak data mentah
(file musik) menjadi suatu informasi atau pola masukan yang berarti, yaitu dengan
menggunakan metode ekstraksi fitur dengan MUGRAT dan metode klasifikasi
a. Metode Ekstraksi Fitur MUGRAT
Jumlah data yang sangat besar pada setiap lagu serta pengaruh
temporal yang sangat kuat membuat pemrosesan sinyal suara digital
(pengekstrakan data mentah berdasarkan atribut – atribut spektral) dengan
hanya menghitung nilai koefisien FFT (Fast Fourier Transform) saja
mengakibatkan klasifikasi genre musik kurang optimal.
Metode ekstraksi fitur MUGRAT dipilih dalam penelitian ini karena
dapat mengatasi masalah diatas serta memiliki fitur – fitur yang lengkap untuk
proses klasifikasi sehingga klasifikasi dapat memberikan hasil yang optimal.
Pada tahap ekstraksi fitur, diperoleh 15 nilai yang akan menjadi
masukan dalam klasifikasi dengan JSTPB, antara lain : rata-rata Centroid,
rata-rata Rolloff, rata-rata Flux, rata-rata ZeroCrossing, varian Centroid,
varian Rolloff, varian Flux, varian ZeroCrossing, LowEnergy, amplitudo
relatif puncak pertama, amplitudo puncak kedua, rasio amplitudo, periode
amplitudo puncak pertama, periode puncak kedua dan jumlah dari seluruh
amplitudo pada beat histogram.
b. Metode Klasifikasi dengan JSTPB
Metode klasifikasi dengan JSTPB dipilih karena beberapa kelebihan
yang dimilikinya, yaitu kemudahannya untuk diimplementasikan, serta
kekuatan generalisasinya yang baik sehingga dapat memberikan hasil yang
akurat dengan sampel di luar kumpulan sampel yang digunakan untuk
Berdasarkan teori- teori nilai parameter JSTPB yang baik, dalam
arsitektur yang akan dirancang dipilih nilai parameter JSTPB sebagai berikut :
1) Epochs
Dalam penelitian ini digunakan batas epoch sebesar 3000.
2) Kecepatan Pembelajaran
Dalam penelitian ini, kecepatan pembelajaran yang akan dilakukan
sebesar 0,1.
3) Lapisan Tersembunyi
Keseluruhan rancangan arsitektur JSTPB yang diterapkan dalam
penelitian ini menggunakan satu lapisan tersembunyi.
4) Unit Tersembunyi
Unit tersembunyi yang akan digunakan dalam penelitian ini adalah
25, 50, 75, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 400, 425,
500.
5) Fungsi Aktivasi
Fungsi sigmoid bipolar dipilih karena dapat memetakan sinyal
masukan negative dengan tepat dan memiliki kecepatan yang lebih baik
daripada fungsi sigmoid biner.
6) Inisialisasi Bobot
Inisialisasi awal nilai bobot menggunakan metode Nguyen –
Widrow yang memberikan nilai bobot yang lebih baik daripada dengan
3.2 Perancangan Sistem
Sub bab ini berisi perancangan sistem yang menjelaskan urutan proses dalam
program. Terdapat proses Ekstraksi Fitur, proses pembentukan model dengan Back
Propagation dan five fold, analisa hasil dengan confusion matrik. Gambar 3.1
menunjukkan blok diagram sistem.
data
Training
Ekstraksi Fitur
Back Propagation
Model (net)
data
Ekstraksi Fitur
Back Propagation
Hasil Testing
Gambar 3.1 Blok Diagram Sistem
3.2.1 Perancangan Ekstraksi Fitur
Sebelum perancangan Ekstraksi fitur dengan menggunakan metode
MUGRAT, terdapat fase sebelum ekstraksi fitur yang meliputi perancangan