BAB II DASAR TEORI

advertisement
BAB II
DASAR TEORI
Bab ini memuat ulasan dari riset-riset terkait yang berhubungan dengan topik tugas
akhir ini, yaitu Pembelajaran Mesin untuk Mempelajari Pola Improvisasi Musik Jazz
2.1 Teori Musik
2.1.1 Definisi Musik dan Nada
Secara umum, musik adalah seni, hiburan dan aktivitas manusia yang melibatkan suarasuara 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 [KLE07]. Dari sudut pandang bunyi, sebuah bunyi dikategorikan
sebagai bunyi musikal (musical sound) jika dihasilkan dari getaran per satuan waktu
yang teratur. Jika sebuah bunyi dihasilkan dari getaran yang tidak teraktur, maka bunyi
tersebut dikategorikan sebagai bising (noise) [GHE80].
Bunyi musikal memiliki 4 buah elemen penyusun utama [GHE80], yaitu :
1. pitch : banyaknya getaran bunyi per satuan waktu
2. duration : lamanya getaran bunyi berlangsung
3. intensity : amplitudo dari getaran bunyi
4. timbre : karakterisitik kualitas dari bunyi musikal yang dihasilkan dari beberapa
tone tambahan yang dibentuk dari getaran parsial sebuah objek berbunyi.
Elemen terkecil dari musik adalah nada. Nada adalah suara yang memiliki nilai
frekuensi tertentu yang merepresentasikan bunyi musikal. Dalam musik, nada berada
pada ruang dua dimensi, dimensi vertikal dan horizontal. Dimensi vertikal atau dimensi
nada menyatakan nada-nada yang ada atau berbunyi pada suatu waktu tertentu. Dimensi
horizontal atau dimensi waktu adalah bagaimana nada-nada tersebut berubah sejalan
dengan waktu.
II-1
II-2
Musik dituliskan dalam partitur musik. Dalam partitur, nada-nada dituliskan sebagai
not-not pada garis paranada (staff). Selain not-not, partitur juga terdiri dari simbolsimbol dan tulisan-tulisan yang merepresentasikan musik. Notasi musik untuk
merepresentasikan musik dapat dilihat pada LAMPIRAN A Notasi Musik.
2.1.2 Sistem Notasi Nada
Secara umum, terdapat 2 buah sistem notasi yang digunakan untuk mengidentifikasi dan
membedakan nada [GHE80], yaitu
1. Alphabetic
Nada-nada diidentifikasi dengan huruf romawi : C,D,E,F,G,A,B,C
2. Syllabic
Nada-nada diidentifikasi dengan suku kata : do, re, mi, fa, sol, la, ti, do. Aturan suku
kata tersebut diperkenalkan oleh Guido d’Arezzo. Ada dua metode untuk
mengaplikasikan suku kata Guido tersebut pada tangga nada yaitu :
a) “fixed do”
Pada “fixed do”, do menunjukkan nada C disemua kunci dasar (root key).
b) “movable do”
Pada “movable do”, do menunjukkan nada yang sama dengan nada dasar kunci.
Jika nada dasar kunci adalah G, maka do menunjukkan nada G.
Berikut ini Gambar II-1 yang menunjukkan hubungan antara sistem notasi alphabetic,
syllabic, dan notasi grafis.
Gambar II-1 Sistem Notasi Alphabetic dan Syllabic
2.1.3 Melodi
Melodi adalah sebaris nada utama yang menjadi karakteristik dari sebuah lagu. Melodi
merupakan representasi hubungan horizontal dari nada. Karakteristik melodi dalam
suatu waktu harus dipertahankan karena perubahan karakteristik melodi akan
menyebabkan berubahnya karakteristik lagu asal [KAW75].
II-3
2.1.4 Interval
Interval merupakan jarak antar dua buah nada yang dinyatakan dalam jumlah half step
atau semitone [SAB02]. Half step atau semitone merupakan jarak terkecil antar nada
menurut tradisi western. Jarak tersebut mengacu kepada jarak antara satu tuts piano
dengan tuts tetangganya. Jarak antar dua buah nada yang berjumlah sebanyak 2 kali half
step biasa disebut sebagai whole step.
Terdapat 2 buah jenis interval yaitu melodic (interval dari nada-nada yang dimainkan
berurutan) dan harmonic (interval dari nada-nada yang dimainkan bersamaan). Adapun
penamaan dari beberapa interval dari 2 buah nada yang diturunkan dari half step yaitu
minor 3rd , major 3rd , perfect 4th , augmented 4th atau diminished 5th , perfect 5th , minor
6th , major 6th , major 7th , dan octave. Untuk lebih jelasnya, interval dari 2 buah nada
beserta penamaannya akan diilustrasikan pada Gambar II-2.
Gambar II-2 Jenis-Jenis Interval dan Penamaannya [MOR09]
2.1.5 Akor
Akor (Chord) adalah perpaduan tiga atau lebih nada secara bersamaan [JON74]. Akor
merupakan representasi hubungan dimensi vertikal dari nada. Akor paling dasar adalah
triad. Akor yang lain dapat diturunkan dari akor triad.
Sebuah triad dibentuk dari 3 buah nada yang interval nada tetangganya merupakan
interval 3rd. Akor triad terbagi menjadi 2 bagian utama yaitu major dan minor. Suatu
akor disebut sebagai major triad jika jarak antara nada dasar atau root dengan nada
keduanya adalah major 3rd dan jarak antara nada dasar dengan nada ketiganya adalah
perfect 5th. Sedangkan, suatu akor disebut sebagai minor triad jika jarak antara nada
dasar atau root dengan nada keduanya adalah minor 3rd dan jarak antara nada dasar
dengan nada ketiganya adalah perfect 5th. Penjelasan detil mengenai jenis-jenis akor
II-4
beserta penulisannya pada notasi musik dapat dilihat pada Lampiran D Akor dan
Tangga Nada.
2.1.6 Tangga Nada
Tangga nada (scale) adalah deretan nada terturut yang membentuk suatu tangga.
Deretan tersebut terurut menaik atau menurun berdasarkan pitch nada. Perbedaan dari
pitch nada-nada yang menyusun tangga nada bergantung pada tipe tangga nada.
Terdapat banyak tipe tangga nada yang ada saat ini, biasanya berasosiasi dengan akor
tertentu. Tangga nada menjadi dasar pengkreasian melodi sebuah lagu berdasarkan akor
yang sudah ditentukan sebelumnya. Detil penjelasan mengenai tangga nada dapat dilihat
pada Lampiran B Akor dan Tangga Nada.
2.2 Teori Musik Jazz
2.2.1 Struktur Lagu Jazz
Walaupun musik jazz dianggap musik yang bebas dan terkesan tidak terstruktur bagi
pendengar awam, pada dasarnya lagu jazz dibuat dengan perencanaan struktur yang
jelas. Keberadaan dari struktur lagu jazz berubah-ubah sesuai dengan pekembangan
zaman. Berikut ini berbagai struktur dari lagu jazz yang pernah ada.
1. Struktur Era Bebop atau Struktur Tradisional
Struktur lagu jazz yang hadir pada era Bebop hampir mirip dengan struktur musik
klasik yang terdiri dari bagian introduction, exposition atau theme, development
section, recapitulation, dan coda. Introduction berisi melodi pembuka dari lagu,
exposition berisi melodi utama dari lagu, development section berisi melodi
perluasan dari melodi exposition, recapitulation berisi melodi jawaban dari melodi
exposition, dan coda berisi melodi penutup dari lagu. Pada terminologi jazz, bagian
introduction disebut sebagai intro, theme disebut sebagai head, development section
disebut sebagai solo section, recapitulation disebut sebagai head out, dan coda
disebut sebagai ending. Kesempatan bagi para musisi yang sedang memainkan
musik jazz untuk melakukan improvisasi berada pada solo section.
II-5
Pada musik jazz tradisional, progresi akor yang digunakan bagian solo section
biasanya sama dengan progresi akor pada bagian head yang diulang-ulang. Satu
perulangan dari progresi akor pada bagian solo section disebut sebagai chorus.
Setiap soloist (musisi yang sedang melakukan improvisasi secara tunggal) mungkin
untuk melakukan improvisasi solonya dalam beberapa chorus.
Pada bagian head, terdapat berbagai bentuk permainan yang dapat digunakan.
Bentuk permainan yang paling terkenal pada jazz tradisional adalah bentuk blues,
yang lazimnya terdiri dari 12 bar. Beberapa lagu jazz terkenal yang menggunakan
bentuk blues pada head-nya antara lain lagu berjudul “Now’s The Time” dan “Billie
Bounce” karya Charlie Parker, “Straight, No Chaser” dan “Blue Monk” karya
Thelonious Monk, “Freddie Freeloader” dan “All Blues” karya Miles Davis, dan
sebagainya.
2. Struktur Era Popular atau Struktur AABA
Struktur lagu jazz AABA merupakan struktur yang analog dengan struktur lagu
popular atau pop yang terdiri dari 2 bagian yaitu verse atau A-section dan bridge
atau reff. Namun demikian, pada implementasinya diberbagai lagu, struktur ini
ditambahkan intro di awal dan ending di akhir. A-section atau verse terdiri dari
verse 1, verse 2, dan verse 3. Ketiga verse ini biasanya memiliki progresi akor dan
melodi yang identik, kecuali lirik dan 2 bar terakhirnya mungkin dapat berbeda.
Sebagian besar lagu jazz yang menggunakan struktur AABA dimainkan dalam
tempo sangat cepat, sekitar 200 beat per menit. Berikut ini Gambar II-3 yang
menunjukkan contoh penggunaan progresi akor AABA, diambil dari lagu berjudul
“I Got Rhythm” karya George Gershwin.
Gambar II-3. Progresi Akor Struktur AABA pada Lagu “I Got Rhythm” [SAB92]
II-6
3. Struktur Era Modern Jazz atau Struktur Free Jazz
Struktur Free Jazz merupakan struktur lagu jazz yang tidak terorganisir atau memiliki
organisasi struktur yang tidak lazim. Dapat dikatakan bahwa struktur free jazz
merupakan struktur yang tidak terstruktur.
2.2.2 Gaya Permainan Musik Jazz
Mengikuti tradisi sejarah seni lainnya, jazz dibagi dalam beberapa gaya (style) dan
periode yang masing-masing diasosiasikan dengan pemain dan komposer yang
mewakili momen historis tersebut. Kronologi yang tipikal menunjukkan gaya yang
berkembang dalam kurun waktu tertentu dapat dilihat pada Tabel II-1 berikut ini.
Tabel II-1 Periode Perkembangan Gaya Permainan Musik Jazz [SZW00]
No
Gaya Permainan (style)
Periode Perkembangan
1
Pra-jazz (ragtime, vaudeville)
sekitar 1875 – 1915
2
Jazz awal (jazz New Orleans, Dixieland) 1910 – 1927
3
Swing
1928 – 1945
4
Bebop
1945 – 1953
5
Cool Jazz
1949 – 1958
6
Hard bop
1954 – 1965
7
Soul/funk jazz
1957 – 1959
8
Third-stream jazz
1957 – 1963
9
Free jazz
1959 – 1974
10
Jazz-rock
1969 – 1979
11
Neo-tradisionalisme
1980 - ?
Namun demikian pada kenyataannya, segala sesuatu mengenai gaya permainan jazz
lebih rumit daripada yang ditunjukkan tabel di atas. Pada periode apapun akan
ditemukan gaya permainan yang saling bertumpang tindih. Bahkan gaya jazz seringkali
dipadukan dengan genre musik jenis lainnya yang sedang populer saat itu sehingga
timbul gaya permainan baru. Misalnya pada masa keemasan bebop, musik Latin
menyebar di New York dan menjadi bagian dari panggung jazz. Perpaduan kedua unsur
gaya tersebut terkadang disebut dengan istilah baru yang disebut Bossa.
II-7
Hubungan antara perkembangan gaya permainan jazz dengan genre musik lainnya dapat
dilihat pada Gambar II-4.
Gambar II-4 Hubungan Antara Gaya Jazz dengan Genre Musik Lainnya [GER09]
Deskripsi detil mengenai karakteristik gaya permainan (style) musik jazz dapat dilihat
pada Lampiran C Gaya Jazz.
2.2.3 Improvisasi
Improvisasi pada musik jazz dapat diartikan sebagai kegiatan komposisi secara instan
yang dilakukan saat bermain musik. Banyaknya cara untuk melakukan improvisasi saat
memainkan lagu jazz adalah tidak terbatas namun bergantung pada jenis alat musik
yang dimainkan. Setiap alat musik memiliki karakteristik yang berbeda sehingga dapat
menghasilkan berbagai jenis improvisasi yang berbeda pula. Secara umum, terdapat 2
buah jenis alat musik yaitu
1. Alat Musik Bernada (Definite Pitch Instrument)
Contoh : piano, gitar, biola, flute, contrabass, dan lain-lain
2. Alat Musik Tak Bernada (Undefinite Pitch Instrument)
Contoh : drum
II-8
Pada alat musik bernada, jenis improvisasi yang dilakukan adalah pembentukan pola
melodi. Hal-hal yang dapat dilakukan oleh seorang musisi dalam melakukan
improvisasi pembentukan pola melodi adalah sebagai berikut.
•
Melakukan pemilihan nada atau not yang akan membentuk melodi secara
horizontal (unisono) atau pun vertikal (harmoni). Pembentukan melodi secara
horizontal hanya mempertimbangkan satu buah nada yang dapat dimainkan
dalam suatu waktu. Sedangkan, pembentukan melodi secara vertikal
mempertimbangkan banyak nada yang dapat dimainkan pada suatu waktu.
•
Menentukan cara memainkan nada-nada tersebut, mencakup artikulasi dan
ekspresi. Misalnya, nada pertama dimainkan dengan putus-putus (staccato),
nada kedua dimainkan dengan bersambung (legato), nada ketiga dimainkan
dengan lebih lembut dibandingkan nada-nada sebelumnya, dan seterusnya.
Pada alat musik tak bernada, seperti pada drum, jenis improvisasi improvisasi yang
dilakukan adalah pembentukan pola pukulan yang membentuk karakteristik ritmis
tertentu.
Seperti yang telah dijelaskan sebelumnya, improvisasi melodi dilakukan dengan cara
mengomposisi pola melodi unisono dan harmoni. Adapun turunan dari tipe improvasi
harmoni yaitu improvisasi akor alternatif (chord improvisation), yang biasanya
dilakukan oleh pemain instrumen piano/keyboard dan bass. Pengimprovisasian melodi
terhadap sebuah lagu biasanya berhubungan dengan atribut-atribut yang dimiliki oleh
lagu tersebut, seperti melodi asli lagu, progresi akor masukan, dan pola ritmis. Namun
demikian, terdapat jenis improvisasi yang disebut sebagai improvisasi bebas (free
improvisation) dimana improvisasi dilakukan dengan tidak mematuhi hubungan
terhadap atribut-atribut lagu.
Mengacu kepada sejarah perkembangan musik jazz terkait dengan penggunaan pola
improvisasi melodi, terdapat 4 tingkatan improvisasi melodi yang dilakukan oleh musisi
jazz, yaitu
II-9
1.
Improvisasi yang dilakukan dengan memodifikasi atau menghias melodi asli.
2.
Improvisasi yang dilakukan berdasarkan tonalitas akor.
3.
Improvisasi yang dilakukan berdasarkan progresi tangga nada.
4.
Improvisasi
yang
dilakukan
di
luar
tonalitas
lagu
(outside/free
improvisation).
Improvisasi pada tingkat ke-4 merupakan improvisasi yang paling sulit dilakukan.
Untuk dapat melakukannya dengan baik, maka musisi jazz dituntut untuk menguasai
tingkatan improvisasi sebelumnya dengan baik pula.
2.3 Metode Pendekatan dan Aplikasi yang Berkatian dengan
Pembangunan Pola Improvisasi Musik Jazz
2.3.1 Pemodelan Kreatifitas pada Musik Jazz
Musik jazz merupakan sebuah genre musik yang penuh dengan proses kreatif karena
lebih banyak melakukan improvisasi yang bersifat spontan dibandingkan dengan
komposisi. Menurut Clark Terry, proses kreatif dalam bermusik jazz dapat disimpulkan
menjadi 3 hal, yaitu meniru, mengasimiliasi, dan menginovasi. Untuk dapat memainkan
improvisasi pada musik jazz, dibutuhkan tidak hanya pengetahuan musik teoritis yang
kuat melainkan juga kemampuan (skill) yang mumpuni dalam memainkan alat musik.
Dengan demikian, permasalahan improvisasi merupakan salah satu dari permasalahan
kreatifitas. Menurut Johnson-Laird [JOH92], ada 3 buah karakteristik dari permasalahan
kreatifitas sehingga permasalahan tersebut sulit untuk diformalisasikan dengan
pendekatan classical problem solving, yaitu
1. non-deterministic
Untuk komposisi yang sama dapat menghasilkan berbagai solusi musikal yang
semuanya dapat diterima.
2. absence of well-defined goal
Tidak ada tujuan yang pasti mengenai tujuan musikal yang ingin dicapai. Yang
ada hanyalah kesan atau anggapan yang samar mengenai apa yang akan
diselesaikan (vague impression). Bahkan tujuan musikal dapat berubah-ubah
seiring berjalannya proses.
II-10
3. no clear point of termination
Tidak ada tujuan yang terdefinisi dan kesepakatan estetis untuk mengevaluasi
hasil.
Adapun model-model kreatifitas yang telah dibuat sebagai pendekatan agar komputer
mampu memainkan improvisasi pada musik jazz. Pada mulanya, terdapat 2 buah model
yaitu
1. model pemilihan improvisasi secara random-oriented dari pustaka pola musik
berdasarkan frekuensi penggunaannya [AME92],
2. model improvisasi yang dideskripsikan secara detail, terstruktur, dan
deterministik melalui aturan-aturan tertentu (rules) atau grammar [STE84].
Pendekatan yang pertama menyebabkan improvisasi sulit untuk dikontrol pada level
abstrak dan berpotensi untuk menghasilkan pola improvisasi yang terlalu bebas yang
tidak human like. Sedangkan, pendekatan yang kedua merupakan kebalikan dari
pendekatan yang pertama yaitu sulit untuk mengatur fleksibilitas dikarenakan sifatnya
yang deterministik. Hal ini menyebabkan pola improvisasi yang dihasilkan cenderung
kaku karena hanya menghasilkan sebuah solusi dari suatu kondisi.
Adapun model yang ketiga yang mengklaim bahwa bermusik jazz bukan merupakan
aktifitas yang sepenuhnya random dan bukan pula aktifitas yang sepenuhnya
determenistik. Model ketiga disebut model The Reasoner, dirancang oleh Ramalho dan
Ganascia [RAM94] yang memiliki latar belakang sebagai berikut :
•
aktifitas-aktifitas yang dilakukan oleh seorang musisi jazz melibatkan 2 struktur
pengetahuan yaitu memori dan aturan dasar.
•
aksi berimprovisasi yang dilakukan oleh seorang musisi jazz bergantung kuat
kepada konteks musik yang berevolusi setiap saat. Interaksi yang kuat dengan
musisi-musisi lainnya ataupun
dengan
publik/lingkungan
sekitar akan
berdampak pada berubahnya pengetahuan atau strategi awal saat melakukan
improvisasi. Perubahan tersebut dapat berupa diperkuatnya pengetahuan awal
(reinforce) atau bahkan mengabaikannya (discard).
II-11
2.3.1.1 Potential ACTion (PACTs)
Pachet [PAC90] merumuskan gagasan yang disebut PACTs (saat ini disebut sebagai
“strategy”) yang berperan sebagai sebuah framework generik untuk merepresentasikan
aksi potensial yang akan dilakukan oleh seorang musisi dalam konteks permainan
musik, yang fokus pada pemberian perintah terhadap aksi-aksi musikal dibandingkan
dimensi sintaksis dari not. Pada kenyataannya, PACTs dapat merepresentasikan tidak
hanya not-not tetapi juga aksi-aksi abstrak yang membentuk rantai aksi. PACTs
merupakan struktur frame-like yang memiliki deskriptor-deskriptor utama berupa startbeat, end-beat, dimensions, abstract-level, type dan instrument-dependency.
PACTs diaktifkan pada waktu-waktu tertentu dan dibatasi oleh durasi yang
menyesuaikan dengan kumpulan not, akor, bar, lagu keseluruhan, dan sebagainya.
PACTs mungkin bergantung pada berbagai dimensi dari note yaitu rhythm (r),
amplitude (a), pitch (p), dan kombinasi dari ketiganya (r-a, r-p, p-a, r-p-a). Ketika
dimensi-dimensi tersebut diinstansiasi, level abstrak dari PACTs dikatakan low. Jika
tidak, maka dikatakan high. Sebagai contohnya, perintah “play loud” merupakan lowlevel PACT dari amplitude, “play this rhythm” merupakan low-level PACT dari rhythm,
dan “play an ascending arpeggio” merupakan low-level PACT dari pitch. Perintah
“play this lick transposed one higher step” merupakan low-level PACT dari ketiganya
(amplitude, rhythm, dan pitch). Sedangkan, perintah-perintah “play syncopated” dan
“use major scale” merupakan high-level PACT dari rhythm and pitch. Perintah PACT
juga dapat terkait dengan instrumen musik seperti “play five-note chord” yang
merupakan piano PACT atau “play stepwise” yang merupakan bass PACT.
Dari deskripsi di atas, terdapat 2 buah karakteristik penting dari PACT yang muncul.
Karakteristik yang pertama adalah playability. Semakin kurangnya level abstrak dari
PACT menyebabkan semakin banyak dimensi musik yang dilibatkan yang berarti
semakin playable. Sebagai contohnya, “play C E G” lebih playable dibandingkan
dengan “play ascending notes”. Sedangkan, karakteristik yang kedua adalah
combinability. Perintah-perintah PACTs dapat dikombinasikan sedemikian rupa
sehingga menghasilkan perintah baru yang lebih playable. Contohnya, perintah “play
II-12
ascending notes” dapat dikombinasikan dengan perintah “play triad notes(C major)”
untuk menghasilkan perintah “play C E G”.
2.3.1.2 Musical Memory
Tidak ada yang dapat menjamin bahwa PACTs berisi semua informasi yang dapat
membentuk sebuan playable PACT. Untuk mengatasi masalah ini, dibuat sebuah
gagasan lain yang dinamakan Musical Memory yang menggunakan prinsip case-based
reasoning [SLA91]. Musical Memory merupakan sebuah memori jangka panjang yang
mengakumulasi materi-materi musikal (cases) yang telah didengarkan atau dikuasai
oleh musisi.
Materi-materi musikal dari Musical Memory harus bersesuaian dengan low-level
PACTs sehingga dapat ditilik selama proses problem solving berlangsung. Materimateri tersebut didapatkan dengan mengaplikasikan transformasi (contoh: segmentasi
waktu, proyeksi 1 atau 2 dimensi, dan sebagainya) menjadi transkripsi permainan jazz
aktual.
Adapun hal penting yang perlu ditekankan bahwa high-level PACTs yang didefiniskan
juga ditentukan melalui transkripsi permainan jazz aktual namun tidak otomatis karena
jika dipaksakan untuk dijalankan otomatis akan melibatkan transformasi yang kompleks
pada saat dilakukan transkripsi. Perintah-perintah PACTs didapatkan melalui fase
akuisisi pengetahuan musik jazz dari para ahli.
2.3.1.3 Model The Reasoner
The reasoner merupakan model formal yang dirancang Ramalho dan Ganascia yang
diklaim dapat menjawab permasalahan terhadap pemodelan kreatifitas dalam
berimprovisasi jazz dengan pendekatan classical problem solving. The Reasoner
memiliki unsur PACt dan Musical Memory yang telah dijelaskan pada subbab 2.3.1.1
Potential ACTion (PACTs) dan 2.3.1.2 Musical Memory. Menurut mereka,
permasalahan musikal merupakan aktifitas untuk mengetahui bagaimana cara memulai
langkah solusi dari kesan samar (vague impression) hingga mencapai spesifikasi yang
pasti. Dengan kata lain, keadaan awal dari ruang permasalahan musikal dapat berupa
II-13
banyak PACTs dalam suatu interval waktu dan keadaan akhirnya berupa sebuah
playable PACT yang unik. Goal dari model ini pun bersifat tetap dan didefinisikan
dengan jelas, yaitu bermain musik. Pemecahan masalah ekuivalen dengan kegiatan
menyusun dan mengombinasikan PACTs.
Model The Reasoner disimulasikan dengan 3 buah modul yang berkoordinasi secara
paralel (lihat Gambar II-5. Deskripsi Model The Reasoner [RAM94]), yaitu modul
perception, composing, dan execution. Modul-modul ini menyerupai komponenkomponen yang terdapat pada beberapa aplikasi robotik yaitu Monitoring, Planning,
dan Executing. Konteks dari The Reasoner dihasilkan dari grid akor masukan dan eveneven yang terjadi pada saat permainan berlangsung.
Gambar II-5. Deskripsi Model The Reasoner [RAM94]
Berikut ini penjelasan fungsi dari modul-modul The Reasoner.
1. Modul Perception
Modul perception berfungsi sebagai antarmuka antara sistem The Reasoner dengan
lingkungan luar. Mekanisme kerja dari modul ini analog dengan aktifitas interpretasi
yang dilakukan oleh musisi jazz terhadap lagu yang dimainkan sebelum memutuskan
untuk melakukan improvisasi. Pemahaman yang didapatkan dari interpretasi tersebut
kemudian dikolaborasikan dengan pengetahuan dasar yang dimiliki oleh musisi untuk
memberikan umpan balik improvisasi yang selaras.
2. Modul Composition
II-14
Modul composition berfungsi untuk membentuk pola permainan berdasarkan hasil
interpretasi dari persepsi yang dilakukan, grid akor masukan, knowledge base, dan
musical memory. Permasalahan yang muncul dalam memainkan pola yang sesuai
dengan grid akor masukan dapat dipandang sebagai 3 buah urutan sub-permasalahan
yaitu menentukan durasi dari segmen grid akor yang baru, menentukan PACTs yang
berasosiasi dengan segmen tersebut, dan menyusun PACTs tersebut untuk membentuk
sebuah playable PACTs. Low-level PACTs yang didapatkan berasal dari musical
memory. Sedangkan, berbagai aturan dan fungsi heuristik yang berkaitan dengan
segmentasi grid akor
terdapat pada knowledge base. Aturan-aturan tersebut juga
digunakan untuk mendeteksi dan memecahkan masalah inkompatibilitas diantara
PACTs, mengkombinasikan PACTs, dan memodifikasi low-level PACTs.
3. Modul Execution
Modul execution berfungsi untuk mengeksekusi playable PACTs yang telah dibentuk
oleh modul composition. Perlu digarisbawahi bahwa fungsi dari modul execution ini
terbatas pada hanya memainkan playable PACTs yang telah dibentuk atau direncanakan
sebelumnya dan tidak melakukan perencanaan ulang atas PACTs yang telah terbentuk.
Model ideal dari modul ini adalah sistem mampu memainkan playable PACTs
bersamaan dengan aktifitas perencanaan ulang, seperti halnya aktifitas musisi jazz pada
saat real-time.
2.3.2 Band-In-A-Box
Band-In-A-Box merupakan sebuah perangkat lunak pengaransemenan musik komersial
berbasis MIDI yang paling populer saat ini. Prinsip kerja dari Band-In-A-Box adalah
menerima masukan utama berupa progresi akor dan style dari pengguna, kemudian
mengeluarkan sebuah lagu teraransemen sesuai dengan progresi akor dan style yang
dipilih. Untuk masukan progresi akor dan style yang sama, Band-In-A-Box dapat
membangkitkan pola aransemen musik yang berbeda. Bagi para pengguna biasa, BandIn-A-Box banyak digunakan untuk keperluan pembuatan musik secara instan.
Sedangkan bagi para musisi, khususnya musisi jazz, Band-In-A-Box digunakan sebagai
partner dalam mempelajari dan melatih improvisasi jazz.
II-15
Kekuatan Band-In-A-Box terletak pada aspek ketersediaan pilihan style. Terdapat lebih
dari 1000 style musik yang tersedia pada Band-In-A-Box. Misalkan ada seorang
pengguna yang ingin membuat sebuah lagu dengan gaya yang mirip dengan permainan
musik ala musisi A. Jika style tersebut tersedia, maka lagu yang dihasilkan akan
memiliki karakeristik seperti musisi A, dimulai dari gaya ritmis, akor, hingga melodi
pengiring ataupun melodi solo.
Namun demikian, Band-In-A-Box tidak melakukan pembelajaran mesin untuk
membentuk style baru. Style yang tersedia bersifat pre-defined. Selain itu, permainan
lagu dari style yang dipilih tidak dapat dievaluasi apakah lagu tersebut sesuai dengan
keinginan pengguna. Keluaran lagu dari masukan style dan progresi akor dibangkitkan
secara acak untuk setiap pembangkitan. Dapat dikatakan bahwa Band-In-A-Box
merupakan perangkat lunak pembangkitan improvisasi yang non-interaktif.
2.3.3 Pendekatan Genetic-Based
Pembangkitan pola melodi improvisasi solo pada musik jazz sudah diterapkan pada
suatu sistem bernama GenJam. GenJam merupakan sebuah model berbasis algoritma
genetika yang mensimulasikan seorang musisi jazz pemula dalam mempelajari
improvisasi secara real-time [BIL94]. Pada terminologi jazz, even saat musisi jazz
melakukan permainan improvisasi secara real-time biasa disebut sebagai jam session.
GenJam merupakan sebuah metafora dari seorang pelajar jazz yang sedang berada pada
jam session sembari diawasi oleh seorang mentor. Ketika ia memainkan improvisasi
dengan baik, maka tutor akan memberikan respon positif, dan sebaliknya. Dari responrespon yang didapatkan, pelajar akan mengenali berbagai pola improvisasi yang enak
ataupun yang tidak enak didengar sehingga respon-respon tersebut menjadi dasar
pengambilan keputusan bagi pelajar untuk melakukan improvisasi yang baik
dikemudian waktu. Pada model GenJam, pembentukkan pola improvisasi dilakukan
dengan cara melakukan pencarian pada kumpulan populasi melodi yang cocok dengan
suatu tangga nada tertentu yang direkomendasikan oleh progresi akor masukan. Saat
GenJam memainkan pola improvisasinya, seorang human-mentor dapat memberikan
umpan balik secara real-time dengan tujuan untuk menentukan nilai fungsi fitness untuk
setiap bar atau frasa musik.
II-16
GenJam diimplementasikan pada lingkungan Macintosh/Think C di atas CMU MIDI
Toolkit. Arsitektur dari sistem GenJam diilustrasikan padaGambar II-6.
Gambar II-6. Arsitektur Sistem GenJam [BIL94]
Untuk melakukan improvisasi pada sebuah tune, GenJam melakukan pembacaan
terhadap sebuah berkas progression, yang memberikan informasi tempo dan gaya ritmis
(misalnya, swing atau 8-note), jumlah chorus solo yang harus dilalui, dan progresi akor.
GenJam melakukan improvisasi pada sebuah tune dengan membangun sebuah deretan
chorus pada MIDI yang didekodifikasi dari himpunan populasi frasa dan measure.
Karena frasa diimplementasikan sebagai deretan 4 buah measure, menyebabkan
populasi frasa dan measure membentuk sebuah hirarki struktur melodi yang saling
mendukung satu sama lain. Yang perlu digarisbawahi adalah bahwa GenJam tidak
mencoba untuk mengembangkan sebuah melodi solo yang sempurna untuk sebuah tune
spesifik, melainkan mencoba untuk mengembangkan koleksi ide-ide melodis yang
cocok untuk berbagai tune.
Ketika human-mentor sedang mendengarkan pola improvisasi melodi solo yang telah
dihasilkan, ia dapat memasukkan informasi sebagai umpan balik atau justifikasi.
Informasi yang dapat dimasukkan hanyalah informasi “good” atau “bad”. “Good”
menyatakan bahwa melodi solo dimainkan dengan baik atau enak didengar, sedangkan
“bad” menyatakan bahwa melodi solo tidak enak didengar. Nilai fungsi fitness untuk
setiap measure atau frasa diakumulasikan dengan cara melakukan penambahan counter
setiap kali suatu measure atau frasa dinyatakan “good” dan melakukan pengurangan
II-17
counter setiap kali dinyatakan “bad”. Fungsi fitness yang sudah dimodifikasi disimpan
pada berkasi populasi setelah improvisasi melodi solo selesai.
Secara umum, GenJam berjalan pada salah satu 3 mode berikut : learning, breeding,
dan demo. Pada mode learning, GenJam melakukan seleksi terhadap populasi melodi
secara acak dengan mengabaikan fungsi fitness, tidak menggunakan operator-operator
genetika, serta mengharapkan umpan balik. Pada mode breeding, GenJam melakukan
seleksi dengan menggunakan operator-operator genetika dan setengah dari jumlah
populasi diganti dengan populasi yang baru sebelum sebuah melodi solo dimainkan.
Sedangkan, pada mode demo, GenJam melakukan aktifitas layaknya performa musik
jazz, yaitu memainkan pola improvisasi melodi solo yang dipilih berdasarkan
pengetahuan yang ada tanpa dilakukan umpan balik.
2.3.3.1 Representasi Kromosom pada GenJam
GenJam memiliki 2 karakteristik yang membedakannya dengan model algoritma
genetika sederhana, yaitu
1. Menggunakan 2 buah populasi, yaitu populasi measure dan populasi
frasa.Sebuah individu pada populasi measure dipetakan ke sebuah deret even
MIDI. Sedangkan, sebuah individu pada populasi frasa dipetakan ke indeks dari
measure pada populasi measure.
2. Menggunakan keseluruhan dari populasi measure dan frasa untuk membentuk
melodi solo, tidak hanya salah satu dari populasi measure atau frasa yang
terbaik.
Gambar-gambar di bawah ini merupakan contoh ilustrasi representasi kromosom dari
individu measure dan frasa.
Gambar II-7. Individu Frasa [BIL94]
II-18
Gambar II-8. Populasi Measure [BIL94]
Pada Gambar II-7, ditunjukkan bahwa sebuah frasa ke-23 memiliki fitness bernilai -12,
yang berarti pola melodi dari frasa tersebut mendapatkan respon yang tidak begitu baik
dari mentor. Frasa tersebut juga memiliki sebuah kromosom yang merupakan hasil
konkatenasi 4 buah bilangan yang masing-masingnya merupakan pointer ke populasi
measure. Dalam representasi bit-bit biner, individu frasa ke-23 dapat dinyatakan
sebagai berikut.
Gambar II-9. Frasa 23 dengan Representasi Kromosom dalam Bit Biner [BIL94]
Pada Gambar II-9, bit-bit yang berjumlah 6 buah untuk tiap indeks ke measure-nya
bukan ukuran yang pasti. Ukuran tersebut bergantung pada jumlah populasi measure
yang ada. Untuk 2 banyaknya populasi measure yang ada, sebaiknya ukuran bit-bit
indeks sebanyak
buah agar dapat mengakses semua populasi.
Gambar II-9 mengilustrasikan populasi measure yang terhubung dengan frase ke-23.
Individu-individu dari populasi measure tersebut disusun atas nilai fitness dan sebuah
kromosom yang menginterpretasikan 8 buah deretan angka yang merepresentasikan 3
buah even, yaitu sebuah not baru, tanda istirahat, dan tanda tahan. Even not baru
menyebabkan MIDI player memainkan not tersebut, tanda istirahat menyebabkan not
berhenti dimainkan, dan tanda tahan menandakan tidak terjadi even apa-apa
(memanjangkan not yang sebelumnya dimainkan atau memperlama waktu istirahat).
Sebagai syarat tambahan, sebuah tanda tahan pada permulaan suatu measure juga
II-19
memperpanjang even terakhir (not baru atau tanda istirahat) pada measure sebelumnya
sehingga struktur ritmis dapat mengalir tanpa menghiraukan batas-batas dari measure.
Even-even pada GenJam direpresentasikan dengan bilangan dari 0-14. 0 menyatakan
tanda istirahat, 1-14 menyatakan not-not dengan pitch tertentu, dan 15 menyatakan
tanda tahan. Dengan demikian, representasi tersebut memiliki keterbatasan yaitu not-not
yang dapat dimainkan pada satu waktu hanya 14 not.
2.3.3.2 Pemetaan Akor ke Tangga Nada
Pada sistem GenJam, akor didapatkan dari berkas progression, seperti yang telah
dijelaskan pada Gambar II-6. Dari informasi akor yang didapatkan, kemudian akan
ditentukan tangga nada yang bersesuaian. Fungsi dari pembentukkan tangga nada
adalah sebagai panduan bagi sistem untuk tidak memainkan not yang salah relatif
terhadap akor menurut teori musik jazz.
Pada kenyataannya, sebuah pola akor dapat berasosiasi dengan banyak tangga nada
yang mungkin, dapat berjumlah tak terbatas [SAB02]. Namun, untuk menyederhanakan
persoalan, pada GenJam sebuah pola akor dapat berasosiasi terbatas hanya pada satu
tangga nada. Berikut ini tabel pemetaan akor ke tangga nada yang dimiliki oleh GenJam
(dalam nada dasar C).
Tabel II-2 Tabel Pemetaan Akor Ke Tangga Nada pada GenJam [BIL94]
Akor
Tangga Nada
Himpunan Not
Cmaj7
Major (tanpa nada ke-4)
CDEGAB
C7
Mixolydian (tanpa nada ke-4)
C D E G A Bb
Cm7
Minor (tanpa nada ke-6)
C D Eb F G Bb
Cm7b5
Locrian (tanda nada ke-2)
C Eb F Gb Ab Bb
Cdim
W/H Diminished
C D Eb F F# G# A B
C+
Lydian Augmented
C D E F# G# A B
C+7
Whole Tone
C D E F# G# Bb
C7#11
Lydian dominant
C D E F# G A Bb
C7#9
Altered Scale
C Db Eb E F# G# Bb
C7b9
H/W Diminished
C Db Eb E F# G A Bb
Cm7b9
Phrygian
C Db Eb F G A Bb
Cmaj7#11
Lydian
C D E F# G A B
II-20
Walapun informasi pemetaan akor ke tangga nada yang sudah didefinisikan bertujuan
untuk menghindari permainan not yang ‘salah’, namun bukan berarti not-not hasil
pemetaan tersebut ‘benar’ secara mutlak. Seleksi yang dilakukan terhadap not-not yang
akan dimainkan juga mempertimbangkan pengetahuan yang didapatkan dari mentor.
Dengan demikian, pemetaan tersebut berfungsi sebagai knowledge base yang sewaktuwaktu dapat berubah bergantung masukan dari mentor.
2.3.3.3 Operator-Operator Genetika pada GenJam
GenJam melakukan single-point crossover standar pada lokasi acak terhadap 32-bit
string measure atau terhadap 24-bit string frasa. Dari proses ini kemudian akan
dihasilkan beberapa keturunan measure. Dua buah keturunan yang unggul
dipertahankan, sedangkan sisanya dimutasi dengan mengaplikasikan beberapa operasi
mutasi yang beroperasi pada level even suatu frasa dan level indeks pada suatu
measure. Operasi-operasi mutasi yang diaplikasikan dipilih sedemikian rupa sehingga
dapat menghasilkan keturunan yang bermakna pada konteks musik. Tabel di bawah ini
merupakan penerapan operasi-operasi mutasi terhadap measure 57 yang telah
diilustrasikan pada Gambar II-8.
Tabel II-3. Operator-Operator Mutasi pada Measure [BIL94]
Operator mutasi
Measure yang telah termutasi
None (Original Measure) 9 7 0 5 7 15 15 0
Reverse
0 15 15 7 5 0 7 9
Rotate Right
15 15 0 9 7 0 5 7
Invert
6 8 15 10 8 0 0 15
Sort Notes Ascending
5 7 0 7 9 15 15 0
Sort Notes Descending
9 7 0 7 5 15 15 0
Transpose Notes (eg. +3) 12 10 0 8 10 15 15 0
Operator rotate melakukan rotasi terhadap even n langkah ke kanan, dimana n
merupakan sebuah bilangan acak antara 1 hingga 7. Operator reverse melakukan
pembalikan urutan dari even. Operator inverse melakukan pengubahan terhadap tanda
istirahat menjadi tanda tahan, tanda tahan menjadi tanda istirahat, dan melakukan
pencerimanan terhadap pitch dimana cerminnya terletak diantara even 8 dan 9. Operator
II-21
sort melakukan pengurutan even dari angka terkecil hingga terbesar atau sebaliknya.
Operator transpose melakukan pengubahan pitch even, dapat dinaikan atau diturunkan.
Pada operator sort dan transpose, pengubahan terhadap tanda istirahat dan tanda tahan
tidak dilakukan.
Pada individu-individu frasa juga dapat dilakukan operasi-operasi genetika. Terdapat 6
buah operator genetika yang dapat diterapkan pada suatu frasa. Tabel di bawah ini
merupakan penerapan operasi-operasi mutasi terhadap sebuah frasa yang telah
diilustrasikan pada Gambar II-7.
Tabel II-4. Operator-Operator Mutasi pada Frasa [BIL94]
Operator mutasi
Frasa yang telah termutasi
None (Original Measure) 57 57 11 38
Reverse
38 11 57 57
Rotate Right (e.g., 3)
57 11 38 57
Genetic Repair
57 57 11 29
Super Phrase
41 16 57 62
Lick Thinner
31 57 11 38
Orphan Phrase
17 59 43 22
Operator reverse dan rotate pada frasa memiliki operasi yang sama dengan operator
reversi dan rotasi pada measure. Operator genetic repair melakukan penggantian
terhadap measure yang memiliki nilai fitness terkecil dengan sebuah measure baru yang
dipilih secara acak. Untuk kasus pada tabel 3, measure 38 diganti dengan measure 29.
Operator
super
phrase
melakukan
pembangkitan
frasa
yang
baru
dengan
mempertahankan sebuah measure yang paling unggul, yaitu yang memiliki fungsi
fitness terbesar. Operator lick thinner melakukan penggantian measure dengan measure
yang paling sering muncul pada populasi frasa secara keseluruhan. Operator orphan
measure melakukan pembangkitan frasa yang baru dimana measure-measure yang
dipilih merupakan measure yang paling jarang muncul pada populasi frasa secara
keseluruhan.
II-22
2.3.4 Pendekatan Rule-Based
2.3.4.1 Gambaran Umum Sistem Impro-visor
Keller dan Morrison [KEL05] merumuskan suatu metode untuk membangun melodi
jazz unisono dengan pendekatan probabilistic Context Free Grammar berdasarkan
progresi akor masukan. Metode ini sudah diimplementasikan pada perangkat lunak
yang dapat diperoleh secara gratis bernama Impro-visor. Impro-visor dirancang untuk
membantu musisi Jazz yang belum cukup memiliki latar belakang ilmu pengetahuan
jazz untuk membuat melodi improvisasi.
Gambar II-10 Screen Shot dari Perangkat Lunak Impro-visor [KEL05]
Sistem impro-visor menerima masukan berupa berkas musik yang terdiri dari deretan
melodi asli dan progresi akor. Namun demikian, pada pemrosesan internalnya, hanya
progresi akor yang dipertimbangkan. Selain menerima masukan berupa berkas musik,
impro-visor
juga
dapat
menerima
masukan
berupa
deretan
string
yang
merepresentasikan gambaran umum dari fragmen melodi yang diinginkan oleh user.
Pada terminologi jazz, fragmen melodi biasa disebut sebagai lick. Keluaran dari improvisor adalah berupa deretan melodi baru atau melodi improvisasi unisono yang
dibangkitkan sesuai dengan aturan yang telah didefinisikan oleh grammar berdasarkan
progresi akor masukan dan string gambaran umum fragmen melodi.
II-23
Pendekatan awal dari perumusan metode ini adalah membuat basis data yang besar dari
lick yang mungkin terjadi dimana lick-lick tersebut dapat dipilih oleh pengguna aplikasi.
Dikarenakan sangat banyaknya kombinasi antara progresi akor yang sesuai dengan lick
yang dibuat, permasalahan yang timbul adalah adanya kebutuhan akan basis data yang
sangat besar yang harus dibuat secara manual. Salah satu cara untuk mengatasi
permasalahan tersebut adalah membuat suatu metode yang dapat membangkitkan lick
secara dinamis dengan pendekatan grammar. Jenis grammar yang digunakan, karena
diklaim paling sesuai untuk menyelesaikan permasalahan ini, adalah Context-Free
Grammar (CFG).
2.3.4.2 Penggunaan Grammar pada Konteks Musikal
Merujuk kepada konsep dasar dari formal grammar, tujuan dari sebuah grammar adalah
untuk membangkitkan deretan simbol. Pada kasus ini, simbol-simbol akan
direpresentasikan sebagai nilai ritmis dan bunyi nada.
Sebuah probablistic CFG terdiri dari 4 buah tuple ( , , , ) dimana
merupakan
himpunan simbol terminal (elemen penentu rule yang akan dihasilkan),
merupakan
himpunan simbol non-terminal,
merupakan kumpulan rule atau produksi yang
memetakan setiap simbol non-terminal
memiliki bobot
dan
ke sejumlah simbol pada
yang
merupakan simbol awal.
Berikut ini merupakan contoh dari sebuah CFG sederhana tanpa bobot diluar konteks
musikal. Didefinisikan sebuah CFG semua string tanda kurung yang bersesuaian
dengan komponen-komponen :
1. simbol terminal : {’(’,’)’}, himpunan tanda kurung
2. simbol nonterminal :{ ’S ’, ’T ’}
3. simbol awal : S
4. aturan produksi :
•
•
•
•
II-24
Di bawah ini merupakan contoh-contoh deretan string tanda kurung yang dibangkitkan
oleh CFG di atas.
-
Pada setiap langkah pembangkitan, sebuah simbol nonterminal pada string langkah
sebelumnya dimana simbol tersebut merupakan anggota dari simbol ruas kiri pada
aturan produksi digantikan dengan simbol baru yang merupakan anggota dari simbol
ruas kanan. Langkah proses pembangkitan akan berhenti jika string terakhir merupakan
simbol terminal.
Pada sistem Impro-visor, terdapat 2 buah elemen musik yang direpresentasikan dengan
grammar yaitu ritmis dan tonal nada. Sebagai contoh sederhana penggunaan grammar
untuk deretan ritmis, diberikan sebuah CFG yang dapat membangkitkan string durasi
not setengah dan seperempat, tanpa sinkopasi. Perlu diketahui bahwa pola ritmis dari
suatu lagu dibentuk dari permainan nada-nada dengan durasi yang berbeda. Aturan
produksi yang dapat didefinisikan adalah sebagai berikut.
•
•
•
•
•
Pada simbol ruas kanan aturan produksi, terdapat simbol terminal { , } yang
merepresentasikan not setengah (half note) dan not seperemat (quarter note). Simbol
nonterminal { ,
measure,
, } yaitu dimana
merepresentasikan sebuah deretan 1 atau banyak
merepresentasikan 1 measure, dan
merepresentasikan ½ measure.
Berikut ini contoh beberapa string ritmis not setengah dan not seperempat yang dapat
dibangkitkan oleh CFG tersebut.
II-25
-
Salah satu keuntungan dari penggunaan grammar untuk merepresentasikan deretan
ritmis adalah bahwa grammar yang dibentuk dengan baik akan mampu digunakan untuk
menghindari pola ritmis yang buruk, seperti deretan sebuah not seperenambelas yang
diikuti oleh sebuah not setengah lalu not seperdelapan.
Setelah skeleton ritmis telah dibangkitkan, setiap ritmis not dapat diisi dengan nadanada tertentu dengan cara membuat grammar tonal nada. Pada sistem ini, tonal
nada
diklasifikasikan berdasarkan progresi akor yang diberikan yang terdiri atas 4 buah jenis
tonal nada, yaitu
1. Chord tones : tonal nada anggota dari akor.
2. Color tones : tonal nada yang bukan anggota dari akor, tetapi masih
menghasilkan bunyi yang dapat diterima.
3. Approach tones : tonal nada yang bukan chord tones, namun berfungsi sebagai
nada transisi ke chord tones atau colour tones.
4. Other tones : tonal nada yang bukan anggota dari ketiga tonal di atas.
Adapun 7 buah jenis simbol terminal yang representasinya mencakup semua jenis tonal
akor yang telah dijelaskan di atas disertai dengan 3 buah terminal tambahan, yaitu
1. C (chord tones)
2. L (color tones)
3. A (approach tones)
4. H (helpful tones: nada-nada yang dipilih dari C,L, atau A)
5. S (scale tones: nada anggota dari suatu tangga nada yang bersesuaian dengan
akor)
6. X (arbitrary notes: nada sebarang)
7. R (rest: tanda istirahat)
II-26
Sistem Impro-visor memadukan representasi ritmis/durasi nada dan tonal nada menjadi
sebuah simbol nonterminal. Salah satu contoh penulisan dari simbol nonterminal yang
dimaksud adalah A2. Simbol A2 menyatakan bahwa pada titik tersebut tonal nada yang
harus dimainkan adalah approach tone yang bernilai not setengah atau not berdurasi 2
ketukan. Simbol nonterminal ini didapatkan dari masukan user berupa string gambaran
umum dari lick. Pada impro-visor, string tersebut disebut sebagai S-expression.
Misalkan terdapat masukan S-expression yaitu 8, 8, 8, 8, 4. , 8. Deretan tersebut
masing-masing merepresentasikan tonal nada yang harus dimainkan secara berurut yaitu
approach, color, scale, color, helpful, scale. Jika disertai dengan akor masukan CM9,
maka kemungkinan lick-lick yang dapat dibentukan adalah seperti yang ditunjukkan
pada Gambar II-11.
Gambar II-11 Lick pada Akor CM9 dari Pola
,
,
,
,
.,
[KEL07]
Pembangkitan simbol terminal atau nada-nada improvisasi dari lick diatur sepenuhnya
oleh aturan produksi pada grammar. Karena grammar pada sistem impro-visor bersifat
nondeterministik, maka akan terdapat lebih dari satu solusi lick yang mungkin dapat
dibangkitkan. Untuk mengatasi hal tersebut, maka setiap rule pada aturan produksi
diberikan bobot dengan nilai probabilitas yang berbeda-beda. Rule yang memiliki nilai
probabilitas yang lebih besar akan cenderung untuk dipilih. Aturan produksi beserta
nilai probabilitasnya dapat diubah-ubah oleh pengguna sesuai dengan kebetuhan.
Gambar II-12 menunjukkan salah satu contoh aturan produksi melodi dalam bentuk
parse tree beserta hasil melodi improvisasi yang dihasilkan berdasarkan progresi akor
masukan.
II-27
Gambar II-12 Parse-Tree Aturan Produksi dari Impro-Visor [EBE08]
2.4 Pembelajaran Mesin
2.4.1 Definsi dan Konsep Dasar Pembelajaran Mesin
Pembelajaran mesin (Machine Learning) merupakan studi mengenai metode
komputasional dan pengkonstruksian program komputer yang dapat meningkatkan
kinerjanya sendiri secara otomatis berdasarkan pengalaman [SIO09]. Tujuan utama dari
pembelajaran
mesin adalah bagaimana merancang mesin yang dapat belajar atau
meniru proses pembelajaran yang dilakukan oleh manusia. Studi mengenai
pembelajaran mesin melibatkan banyak bidang keilmuan antara lain kecerdasan buatan,
teori komputasi, probabilitas, statistika, teori informasi, pemrosesan sinyal, filsafat,
sistem kontrol, psikologi, biologi, ekonomi, linguistik, fisika, dan sebagainya.
Sejak komputer pertama kali ditemukan, ide untuk membuat mesin cerdas atau mesin
yang dapat belajar sebagaimana manusia belajar telah dipikirkan oleh para ahli. Saat ini,
dengan perkembangan ilmu komputer yang pesat khususnya di bidang AI (Artificial
Intelligence), ide untuk membuat mesin cerdas dapat menjadi kenyataan. Adapun
berbagai aplikasi dari pembelajaran mesin yang telah berhasil diimplementasikan antara
lain program pengenal ucapan kata-kata ([WAI89] dan [LEE89]), program pendeteksi
II-28
tingkat kesembuhan pasien pneumonia (Cooper et al. 1997), program data-mining yang
mempelajari proses pemonitoran dan pendeteksian kecurangan (fraudulent) transaksi
kartu kredit, sistem penyaringan informasi yang mempelajari pola kegiatan membaca
dari user, kendaraan setir otomatis (ALVINN) yang dapat mempelajari aktifitas
menyetir pada jalan umum disertai keberadaan kendaraan-kendaraan lainnya, dan lainlain.
Merujuk kepada cara pembelajaran pada manusia, manusia belajar dengan 2 cara yaitu
dengan cara diajarkan atau dengan belajar sendiri (self-discovery). Sebagai analogi
pembelajaran dengan cara diajarkan yaitu seorang murid yang sedang belajar hukum
newton dari guru fisikanya. Sedangkan, analogi pembelajaran dengan belajar sendiri
yaitu seorang peneliti yang sedang melakukan penelitian dan menulis jurnal atau paper.
Analogi mengenai cara belajar tersebut juga digagas oleh ilmuwan komputer dan
perancang perangkat lunak untuk diterapkan pada mesin. Mesin dapat belajar dengan
cara diajarkan, misalnya oleh programmer atau pakar pada bidang spesifik seperti
pengacara, dokter, dan sebagainya. Selain itu, mesin juga dapat belajar dengan cara
belajar sendiri melalui observasi data, misalnya data dari basis data pemasaran, dari
basis data pengelolaan pasien, dan sebagainya, dan mampu untuk menemukan dan
mengekstraksi informasi prediktif.
Berikut ini definisi formal dari pembelajaran mesin yang dikutip dari [MIT97].
“A computer program is said to learn from experience E with respect to some class of
tasks T and performance measure P, if its performance at tasks in T, as measured by P,
improves with experience E.”
Dengan demikian, terhadap 3 fitur utama yang harus diidentifikasikan untuk
mendefinisikan sebuah masalah pembelajaran yaitu kelas aktifitas(class of tasks),
ukuran kinerja(performance measure), dan sumber pengalaman(source of experience).
Adapun beberapa metode yang lazim digunakan untuk mengaplikasikan pembelajaran
pada mesin yaitu sebagai berikut.
•
Decision Trees
•
Artificial Neural Networks (ANN)
II-29
•
Bayesian Methods
•
Reinforcement Learning
•
Inductive Logic Programming (ILP)
•
Case-Bases Reasoning (CBR)
•
Genetic Algorithms (GA)
•
Support Vector Machines (SVM)
•
Instance-Based Learning (ILB)
Pada perkembangan terakhir di dunia pembelajaran mesin, perhatian tertuju pada
permasalahan pembangkitan dan penggabungan perihal pengklasifikasian yang berbeda
namun masih homogen dengan meggunakan teknik yang disebut bagging, boosting,
atau bootstrapping. Teknik-teknik tersebut dibuat untuk mengatasi pembangkitan model
yang repetitif di atas data pelatihan yang terus berkembang. Dengan demikian, teknikteknik tersebut dapat mengurangi varian dari model.
2.4.2 Perancangan Sistem Pembelajaran Mesin
Perancangan sistem pembelajaran mesin yang tepat terhadap suau permasalahan
pembelajaran merupakan kunci keberhasilan mesin untuk meniru proses pembelajaran
yang dilakukan oleh manusia dalam mempelajari suatu masalah. Misalnya terdapat
perrmasalahan permainan catur yang didefinisikan pada Gambar II-13.
Didefinsi permasalahan pembelajaran permainan catur dengan 3 fitur yaitu :
•
Aktifitas T : bermain catur
•
Ukuran kinerja P : persentase permainan yang dimenangkan melawan musuh
pada turnamen tingkat dunia
•
Pengalaman pelatihan E : bermain dengan diri sendiri
Gambar II-13 Permasalahan Pembelajaran Permainan Catur [MIT97]
Adapun berbagai hal yang harus dipertimbangkan dalam melakukan perancangan
sistem pembelajaran, yaitu
1. Menentukan Jenis Pengalaman Pelatihan
II-30
Jenis pengalaman pelatihan yang dipilih untuk suatu sistem pembelajaran memiliki
dampak yang signifikan terhadap suksesnya atau gagalnya sistem pembelajaran.
Atribut-atribut dari pemilihan jenis pengalaman pelatihan adalah
a. Penentuan umpan balik dari sistem apakah dapat dilakukan secara langsung
(direct) atau tidak lansgung (indirect).
Sebagai contoh pada pembelajaran mesin dalam bermain catur, sistem
pembelajaran dapat belajar dari data pelatihan secara langsung yang terdiri dari
status dan langkah-langkah yang benar untuk setiap biji catur. Selain itu, sistem
juga dapat belajar secara tidak langsung melalui deretan langkah dan hasil akhir
dari beberapa permainan yang dimainkan. Pada kasus terakhir, informasi
mengenai kebenaran dari langkah-langkah spesifik harus disimpulkan secara
tidak langsung apakah suatu permainan nantinya akan menang atau kalah.
Dengan demikian, pembelajaran tidak langsung lebih sulit dilakukan
dibandingkan pembelajaran langsung.
b. Derajat pengendalian pembelajar terhadap data pelatihan
Sebagai contoh pada pembelajaran mesin dalam bermain catur, pembelajar dapat
sepenuhnya bergantung kepada tutor untuk memilih status papan permainan dan
menyediakan informasi mengenai langkah-langkah yang tepat. Sebagai
alternatif, pembelajar dapat mengajukan sendiri papan permainan dan meminta
tutor untuk memilih langkah-langkah yang benar atau pembelajar dapat
sepenuhnya mengontrol status papan permainan dan klasifikasi pelatihan.
c. Seberapa baik pengalaman pelatihan merepresentasikan distribusi data pelatihan
yang sesuai dengan ukuran kinerja sistem.
Pada umumnya, hasil pembelajaran akan bersifat reliable jika data pelatihan
yang bersangkutan memiliki distribusi yang mirip dengan data pengujian. Pada
skenario permasalahan permainan catur ini, ukuran kinerja P yang ditentukan
adalah persentase permainan yang dimenangkan melawan musuh pada turnamen
tingkat dunia. Jika pengalaman pelatihan E hanya mempertimbangkan
permainan melawan diri sendiri (lihat Gambar II-13), maka dapat dikatakan
bahwa pengalaman pelatihan E tidak begitu representatif terhadap pengujian.
II-31
2. Menentukan Fungsi Target
Penentuan fungsi target merupakan penentuan secara pasti tipe pengetahuan yang
akan dipelajari dan bagaiman tipe pengetahuan tersebut dapat diukur. Sebagai
contoh pada program permainan catur yang dapat membangkitkan langkah-langkah
yang valid dari sebarang status papan permainan, program perlu untuk mempelajari
bagaimana memilih langkah terbaik di antara langkah-langkah yang valid.
3. Menentukan Representasi untuk Fungsi Target
Penentuan representasi untuk fungsi target sama halnya dengan penentuan formula
yang akan digunakan sistem pembelajar sehingga dapat menerima masukan dan
menghasilkan keluaran yang diinginkan. Pada sistem pembelajaran permainan catur,
terdapat berbagai alternatif untuk merepresentasikan fungsi target, antara lain
misalnya dengan menggunakan tabel yang memetakan status papan permainan
dengan sebuah nilai, dengan menggunakan koleksi aturan yang cocok dengan fiturfitur dari papan permainan, dan sebagainya.
4. Menentukan Algoritma Fungsi Aproksimasi
Agar sistem yang sudah belajar dapat membuat keputusan terhadap suatu kasus
pengujian, diperlukan suatu fungsi aproksimasi untuk memilih fungsi target yang
paling sesuai dengan kasus pengujian tersebut. Algoritma untuk fungsi aproksimasi
harus dirancang sedemikian rupa sehingga mampu mencari fungsi target hasil
pembelajaran yang paling cocok untuk suatu kasus pengujian.
5. Melakukan Perancangan Akhir
Berdasarkan pendefinisian permasalahan dan pertimbangkan semua atribut-atribut
yang harus dimiliki oleh sistem pembelajaran, dapat dirancang sebuah desain final
dari sistem pembelajaran. Pada sistem pembelajaran permainan catur,
perancangan
akhirnya terdiri dari 4 modul berbeda yang merepresentasikan komponen-komponen
utama pada banyak sistem pembelajaran lainnya. Keempat modul tersebut
dideskripsikan pada Gambar II-14
II-32
Gambar II-14 Perancangan Akhir dari Sistem Pembelajaran Permainan Catur [MIT97]
Dengan demikian, aktifitas-aktifitas yang harus dilakukan pada perancangan suatu
sistem pembelajaran, dapat dirangkum dengan Gambar II-15.
Gambar II-15 Rangkuman Perancangan Sistem Pembelajaran pada Catur [MIT97]
II-33
2.5 MusicXML
MusicXML merupakan format penulisan musik yang digunakan pada Tugas Akhir ini
sebagai format masukan untuk merepresentasikan musik. MusicXML merupakan
format yang khusus dibuat untuk merepresentasikan partitur musik dan notasi musik.
MusicXML dibangun sebagai format standar, mengingat tidak adanya format standar
untuk merepresentasikan partitur musik dan notasi musik.
Saat ini banyak perangkat lunak musik sudah mendukung MusicXML sebagai salah
satu format yang dapat diolah. Beberapa mendukungnya secara native, yang lain
mendukungnya melalui plug-in atau extension yang disediakan pengembangnya atau
pihak ketiga. Sebagai alat bantu untuk mengembangkan perangkat lunak yang dapat
berinteraksi dengan MusicXML, pustaka untuk mengakses MusicXML dapat dengan
mudah ditemukan di internet. Salah satu pustaka untuk mengakses MusicXML adalah
MusicXML Library (http://libmusicxml.sourceforge.net).
Standar MusicXML dikembangkan dan dikelola oleh Recordare. Spesifikasi
MusicXML dipublikasikan oleh Recordare di http://www.musicxml.org/xml.html dalam
format XML DTD (Document Type Definition). Recordare mengeluarkan spesifikasi
tersebut di bawah lisensi pemakaian MusicXML Document Type Definition Public
License Version 1.02 yang mengizinkan penggunaan MusicXML secara bebas.
Spesifikasi MusicXML terdiri atas beberapa berkas .dtd, .xsl, serta beberapa berkas
pendukung. Berkas partwise.dtd dan timewise.dtd adalah dua DTD top-level dari
spesifikasi MusicXML, yaitu spesifikasi penulisan musik dalam XML secara partwise
(ketukan/bar dalam part/bagian) atau timewise (part/bagian dalam ketukan/bar). Format
penulisan dokumen XML adalah hirarkis, sedangkan musik adalah 2-D. Partwise
menuliskan musik dalam ranah 2-D tersebut menjadi hirarkis dengan menjadikan
bagian-bagian partitur (misalnya bagian piano, bagian biola 1, biola 2) sebagai pembagi.
Masing-masing bagian berisi bar-bar yang berisi not-not dan simbol musik lain.
Sedangkan timewise menjadikan bar menjadi acuan. Bagian-bagian musik dituliskan di
dalam setiap bar. Berkas file .dtd lainnya berisi definisi setiap simbol musik yang dapat
direpresentasikan oleh MusicXML.
Download