Pembelajaran Mesin untuk Mempelajari Pola Improvisasi Musik Jazz
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh : Muhammad Ghifary / 13505023
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2009
Lembar Pengesahan Program Studi Sarjana Informatika
PEMBELAJARAN MESIN UNTUK MEMPELAJARI POLA IMPROVISASI MUSIK JAZZ
Tugas Akhir Program Studi Teknik Informatika ITB
Oleh Muhammad Ghifary/13505023
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal ……………
Pembimbing
Ir. Dwi Hendratmo, M.Sc., Ph.D NIP. 132084094
i
ABSTRAK Dari sudut pandang musik, bermain jazz diklaim sebagai level bermain musik tersulit dikarenakan musisi diharuskan untuk melakukan improvisasi yang menuntut tingkat kreatifitas dan spontanitas yang tinggi. Dari sudut pandang ilmu komputer, bermain jazz merupakan salah satu permasalahan kreatifitas yang sulit dilakukan oleh komputer apabila menggunakan pendekatan pemecahan masalah klasik dikarenakan sifatnya yang nondeterministik atau memiliki banyak kemungkinan solusi.
Tugas Akhir ini mengkaji penerapan konsep pembelajaran mesin untuk mempelajari pola improvisasi melodi musik jazz. Tujuan ideal yang ingin dicapai adalah menghasilkan sebuah mesin improvisasi musik jazz yang mampu belajar dari contohcontoh improvisasi jazz yang diberikan dan mampu membentuk pola improvisasi sesuai dengan pengetahuan yang didapatkannya melalui contoh. Algoritma pembelajaran mesin yang diimplementasikan adalah k-Nearest Neighbor yang mampu mendapatkan melodi improvisasi berdasarkan akor dan melodi asli lagu jazz. Terdapat 2 buah fungsi jarak yang didefinisikan yaitu fungsi jarak ketetanggaan antar akor dan jarak ketetanggaan antar melodi yang merepresentasikan hubungan kemiripan antar akor atau melodi secara kuantitatif.
Sebuah perangkat lunak bernama JazzML diimplementasikan untuk memfasilitasi Tugas Akhir ini. JazzML terbagi menjadi 2 mode, yaitu mode pembelajaran dan mode eksekusi. Mode pembelajaran berfungsi untuk mengekstrak pola improvisasi melodi dari data lagu pelatihan, sedangkan mode eksekusi berfungsi untuk membentuk pola improvisasi jazz terhadap sebuah instance lagu baru yang belum terimprovisasi. Dari evaluasi terhadap lagu improvisasi jazz yang dihasilkan oleh JazzML, dapat ditarik kesimpulan bahwa JazzML mampu menghasilkan lagu improvisasi yang berkualitas jika contoh lagu yang dipelajari memiliki derajat kualitas musikal yang baik pula.
Kata kunci : pembelajaran mesin, improvisasi, musik, jazz, k-Nearest Neighbor, instance-based learning, JazzML ii
KATA PENGANTAR Puji syukur penulis panjatkan ke hadirat Allah SWT, yang dengan rahmat dan karuniaNya penulis dapat menyelesaikan Tugas Akhir ini. Shalawat serta salam senantiasa tercurah kepada Rasulullah SAW beserta keluarganya. Tugas Akhir yang berjudul “Pembelajaran Mesin untuk Mempelajari Pola Improvisasi Musik Jazz” ini dibuat sebagai syarat kelulusan tingkat sarjana.
Selama melaksanakan Tugas Akhir ini, penulis mendapat bantuan dan dukungan dari banyak pihak. Untuk itu, penulis ingin memberikan terima kasih kepada : 1. Ir. Dwi Hendratmo, M.Sc., Ph.D., selaku pembimbing, yang telah banyak mencurahkan waktu dan pemikirannya dalam memberikan bimbingan, ide, saran serta perhatian dalam menyelesaikan Tugas Akhir ini; 2. Masayu Leylia Khodra, S.T., M.T., selaku dosen penguji pada presentasi proposal, yang telah memberikan perhatian, koreksi, dan saran atas pengerjaan Tugas Akhir ini; 3. Dr. dr. Oerip S. Santoso, M.Sc., selaku dosen penguji pada seminar, prasidang, dan sidang, yang banyak mencurahkan waktu untuk memberikan masukan, kritik dan saran untuk memantapkan penelitian Tugas Akhir ini; 4. Almarhum Sri Purwanti, S.T., M.T. (semoga Allah melimpahkan rahmat-Nya kepada beliau), selaku dosen wali terdahulu penulis yang telah sangat berjasa mengenalkan penulis tentang seluk beluk dunia perkuliahan. 5. Yani Widyani, S.T., M.T., selaku dosen wali, yang telah mengantarkan perjalanan panjang penulis selama 4 tahun di dunia kampus Informatika; 6. Semua dosen yang pernah penulis kenal yang telah mengisi hari-hari penulis dengan siraman ilmunya; 7. Keluarga penulis yang telah memberikan dukungan dan doa serta mencurahkan kasihnya; 8. Chiqo, Dudin, Gesa, Grendo, Ikhson, Kang Egi, Fahri, Mas Ali Akbar, Kak Apit, selaku responden survei penilaian kualitas musikal improvisasi jazz yang telah
iii
menyempatkan waktu untuk mendengarkan dan menilai lagu-lagu jazz yang mungkin dapat dikatakan belum sesuai dengan harapan atau belum layak didengar; 9. Teman-teman ITB Students Orchestra, SS Coast Family, Christopher Abimanyu & Friends, komunitas ASC dan Okta Studio, teman-teman klab Jazz, teman-teman klab Klasik, yang menjadi tempat penyalur hobi bermusik, sumber inspirasi, dan penyemangat ketika semangat penulis dalam mengerjakan Tugas Akhir sedang turun; 10. Pak Ade, Pak Rasidi, Bu Titih, serta seluruh staf dan karyawan Teknik Informatika Institut Teknologi Bandung yang turut membantu memperlancar pekerjaan Tugas Akhir ini; 11. Semua teman-teman, khususnya teman-teman program studi Informatika, serta berbagai pihak lainnya yang tidak dapat penulis sebutkan satu persatu.
iv
DAFTAR ISI
ABSTRAK ....................................................................................................................... ii KATA PENGANTAR ..................................................................................................... iii BAB I PENDAHULUAN .............................................................................................. I-1 1.1
Latar Belakang ................................................................................................. I-1
1.2
Rumusan Masalah ............................................................................................ I-5
1.3
Tujuan .............................................................................................................. I-5
1.4
Batasan Masalah .............................................................................................. I-5
1.5
Metodologi ....................................................................................................... I-6
1.6
Sistematika Pembahasan .................................................................................. I-6
BAB II DASAR TEORI ............................................................................................... II-1 2.1
Teori Musik.................................................................................................... II-1
2.1.1 Definisi Musik dan Nada .......................................................................... II-1 2.1.2 Sistem Notasi Nada .................................................................................. II-2 2.1.3 Melodi....................................................................................................... II-2 2.1.4 Interval ...................................................................................................... II-3 2.1.5 Akor .......................................................................................................... II-3 2.1.6 Tangga Nada ............................................................................................. II-4 2.2
Teori Musik Jazz ............................................................................................ II-4
2.2.1 Struktur Lagu Jazz .................................................................................... II-4 2.2.2 Gaya Permainan Musik Jazz .................................................................... II-6 2.2.3 Improvisasi ............................................................................................... II-7 2.3
Metode Pendekatan dan Aplikasi yang Berkatian dengan Pembangunan Pola
Improvisasi Musik Jazz ............................................................................................ II-9 2.3.1 Pemodelan Kreatifitas pada Musik Jazz ................................................... II-9 2.3.2 Band-In-A-Box ....................................................................................... II-14 2.3.3 Pendekatan Genetic-Based ..................................................................... II-15 2.3.4 Pendekatan Rule-Based .......................................................................... II-22 2.4
Pembelajaran Mesin ..................................................................................... II-27 v
2.4.1 Definsi dan Konsep Dasar Pembelajaran Mesin .................................... II-27 2.4.2 Perancangan Sistem Pembelajaran Mesin .............................................. II-29 2.5
MusicXML................................................................................................... II-33
BAB III ANALISIS ..................................................................................................... III-1 3.1
Analisis Teknik Improvisasi yang Dikaji ..................................................... III-1
3.1.1 Teknik Improvisasi Melodi dengan Memodifikasi Melodi Asli ............. III-1 3.1.2 Teknik Improvisasi Melodi berdasarkan Pemilihan Tangga Nada dan Akor III-3 3.2
Analisis Metode atau Aplikasi yang Berkaitan dengan Pembangunan Pola
Improvisasi Musik Jazz ........................................................................................... III-5 3.3
Definisi Formal Permasalahan Pembelajaran Pola Improvisasi Musik Jazz III-6
3.3.1 Kelas Aktifitas (T ) .................................................................................. III-7 3.3.2 Ukuran Kinerja (P) .................................................................................. III-7 3.3.3 Pengalaman Pembelajaran (E) ................................................................. III-8 3.4
Perancangan Sistem Pembelajaran Pola Improvisasi ................................... III-8
3.4.1 Deskripsi Umum Sistem Pembelajaran ................................................... III-8 3.4.2 Fase Pembelajaran ................................................................................. III-10 3.4.3 Fase Pembentukan Pola Melodi ............................................................ III-11 3.4.4 Perseptor dan Eksekutor ........................................................................ III-12 3.5
Analisis Penggunaan Algoritma Pembelajaran Mesin................................ III-12
3.6
Analisis k-Nearest Neighbor (kNN) ........................................................... III-13
3.6.1 Gambaran Umum Algoritma k-Nearest Neighbor (kNN) ..................... III-13 3.6.2 Representasi Masukan Masalah Pembelajaran Pola Improvisasi dengan Menggunakan k-Nearest Neighbor .................................................................... III-16 3.6.3 Representasi Akor Masukan .................................................................. III-17 3.6.4 Representasi Frasa Melodi .................................................................... III-18 3.6.5 Hubungan Ketetanggaan antara Frasa Melodi dan Akor....................... III-19 3.6.6 Proses Pembelajaran dan Pengklasifikasian Frasa Melodi Improvisasi III-25 3.6.7 Analisis Kompleksitas Algoritma Pembelajaran dan Klasifikasi .......... III-28 BAB IV PERANCANGAN DAN IMPLEMENTASI ................................................ IV-1 4.1
Deskripsi Perangkat Lunak ........................................................................... IV-1
4.2
Perancangan .................................................................................................. IV-2
4.2.1 Spesifikasi Kebutuhan Perangkat Lunak ................................................. IV-2 vi
4.2.2 Batasan Perangkat Lunak ........................................................................ IV-2 4.2.3 Perancangan Struktur Data ...................................................................... IV-3 4.2.4 Perancangan Antarmuka .......................................................................... IV-5 4.2.5 Perancangan Modul ................................................................................. IV-6 4.3
Implementasi ................................................................................................. IV-7
4.3.1 Lingkungan Implementasi ....................................................................... IV-7 4.3.2 Batasan Implementasi .............................................................................. IV-8 4.3.3 Implementasi Data ................................................................................... IV-9 4.3.4 Implementasi Modul ................................................................................ IV-9 BAB V PENGUJIAN ................................................................................................... V-1 5.1
Tujuan Pengujian ........................................................................................... V-1
5.2
Kriteria Pengujian .......................................................................................... V-1
5.3
Kuesioner Pengujian ...................................................................................... V-2
5.4
Lingkungan Pengujian ................................................................................... V-4
5.5
Kasus Uji........................................................................................................ V-5
5.6
Pelaksanaan Pengujian ................................................................................... V-6
5.6.1 Pelaksanaan Pengujian Kasus Uji Pertama .............................................. V-6 5.6.2 Pelaksanaan Pengujian Kasus Uji Kedua ................................................. V-7 5.6.3 Pelaksanaan Pengujian Kasus Uji Ketiga ................................................. V-9 5.7
Analisis Hasil Pengujian .............................................................................. V-10
BAB VI PENUTUP ..................................................................................................... VI-1 6.1
Kesimpulan ................................................................................................... VI-1
6.2
Saran ............................................................................................................. VI-2
Daftar Pustaka ................................................................................................................. xi LAMPIRAN – A NOTASI MUSIK ............................................................................. A-1 LAMPIRAN – B AKOR DAN TANGGA NADA ...................................................... B-1 LAMPIRAN – C GAYA JAZZ .................................................................................... C-1 LAMPIRAN – D DATA DAN HASIL PENGUJIAN KASUS UJI PERTAMA ........ D-1 LAMPIRAN – E DATA DAN HASIL PENGUJIAN KASUS UJI KEDUA .............. E-1 LAMPIRAN – F HASIL PENGUJIAN KASUS UJI KETIGA ................................... F-1
vii
DAFTAR TABEL Tabel II-1 Periode Perkembangan Gaya Permainan Musik Jazz [SZW00] ................. II-6 Tabel II-2 Tabel Pemetaan Akor Ke Tangga Nada pada GenJam [BIL94] ............... II-19 Tabel II-3. Operator-Operator Mutasi pada Measure [BIL94]................................... II-20 Tabel II-4. Operator-Operator Mutasi pada Frasa [BIL94] ........................................ II-21 Tabel III-1 Hubungan Akor-Tangga Nada pada Musik Jazz [SAB92] ....................... III-4 Tabel IV-1 Struktur Data Chord .................................................................................. IV-3 Tabel IV-2 Struktur Data Note .................................................................................... IV-4 Tabel IV-3 Struktur Data Phrase ................................................................................. IV-5 Tabel IV-4 Implementasi Struktur Data pada Perangkat Lunak JazzML .................... IV-9 Tabel IV-5 Implementasi Modul pada Perangkat Lunak JazzML ............................. IV-10 Tabel V-1 Rancangan Pertanyaan Kuesioner Penilaian Kualitas Musikal Lagu Improvisasi ................................................................................................................... V-3 Tabel V-2 Rentang Nilai Kualitas Musikal Lagu Improvisasi Jazz ............................. V-4 Tabel V-3 Responden Penilai Kualitas Lagu Improvisasi Jazz.................................... V-6 Tabel V-4 Rekapitulasi Hasil Pengujian Kasus Uji Pertama Set Lagu I dan II ........... V-7 Tabel V-5 Rekapitulasi Hasil Pengujian Kasus Uji Kedua Set Lagu 1 – 3 .................. V-8 Tabel V-6 Rekapitulasi Hasil Pengujian Kasus Uji Kedua Set Lagu 4 – 5 .................. V-9
viii
DAFTAR GAMBAR Gambar II-1 Sistem Notasi Alphabetic dan Syllabic .................................................... II-2 Gambar II-2 Jenis-Jenis Interval dan Penamaannya [MOR09] .................................... II-3 Gambar II-3. Progresi Akor Struktur AABA pada Lagu “I Got Rhythm” [SAB92] ... II-5 Gambar II-4 Hubungan Antara Gaya Jazz dengan Genre Musik Lainnya [GER09] ... II-7 Gambar II-5. Deskripsi Model The Reasoner [RAM94]............................................ II-13 Gambar II-6. Arsitektur Sistem GenJam [BIL94] ...................................................... II-16 Gambar II-7. Individu Frasa [BIL94] ......................................................................... II-17 Gambar II-8. Populasi Measure [BIL94] ................................................................... II-18 Gambar II-9. Frasa 23 dengan Representasi Kromosom dalam Bit Biner [BIL94] ... II-18 Gambar II-10 Screen Shot dari Perangkat Lunak Impro-visor [KEL05] ................... II-22 Gambar II-11 Lick pada Akor CM9 dari Pola
,
,
,
,
.,
[KEL07] ..... II-26
Gambar II-12 Parse-Tree Aturan Produksi dari Impro-Visor [EBE08] ..................... II-27 Gambar II-13 Permasalahan Pembelajaran Permainan Catur [MIT97] ..................... II-29 Gambar II-14 Perancangan Akhir dari Sistem Pembelajaran Permainan Catur [MIT97] .................................................................................................................................... II-32 Gambar II-15 Rangkuman Perancangan Sistem Pembelajaran pada Catur [MIT97] II-32 Gambar III-1 Melodi Improvisasi Hasil Modifikasi Melodi Asli ............................... III-2 Gambar III-2 Penggunaan Passcfing Notes pada Akor Cmaj7 ................................... III-3 Gambar III-3 Representasi Frasa Melodi Asli per Akor ............................................. III-9 Gambar III-4 Representasi Frasa Melodi Improvisasi per Akor ................................. III-9 Gambar III-5 Fase Pembelajaran ............................................................................... III-11 Gambar III-6 Fase Pembentukan Pola Melodi .......................................................... III-11 Gambar III-7 Algoritma k-Nearest Neighbor [MIT97] ............................................. III-14 Gambar III-8 Diagram Pengklasifikasian Instance pada k-Nearest Neighbor [MIT97]III15 Gambar III-9 Hubungan Not Absolut dan Relatif pada Nada Dasar C ..................... III-16 Gambar III-10 Hubungan Not Absolut dan Relatif pada Nada Dasar F ................... III-17 Gambar III-11 Cakupan Not dari Oktaf ke-3 hingga ke-6 ........................................ III-19 Gambar III-12 Representasi Frasa Melodi dan Akor dari Sebuah Frasa Musik ....... III-19 Gambar III-13 Hubungan Ketetanggaan Identik ....................................................... III-20 Gambar III-14 Hubungan Ketetanggaan Serupa ....................................................... III-20 ix
Gambar III-15 Hubungan Ketetanggaan Setipe ........................................................ III-21 Gambar III-16 Hubungan Ketetanggaan Jauh ........................................................... III-21 Gambar III-17 Persamaan Jarak antara 2 Melodi ...................................................... III-21 Gambar III-18 Representasi Formal dari Akor.......................................................... III-24 Gambar III-19 Hubungan Lojik antara Akor, Melodi Asli dan Improvisasi ............. III-25 Gambar III-20 Algoritma Klasifikasi Sistem Pembelajaran Pola Improvisasi.......... III-27 Gambar III-21 Akor berdasarkan Nada Dasar........................................................... III-29 Gambar IV-1 Antarmuka pembelajaran JazzML ......................................................... IV-5 Gambar IV-2 Antarmuka pembentukan musik improvisasi ........................................ IV-6 Gambar IV-3 Struktur Modul ...................................................................................... IV-7 Gambar V-1 Grafik Selang Waktu Rata-Rata per Jumlah Frasa ................................ V-10
x