APLIKASI PENULISAN NOT BALOK GUNA PENYUARAAN PIANO DAN VIOLIN Rudy Adipranata1, Natania Sanjaya, Rolly Intan2 Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Kristen Petra Jl. Siwalankerto 121-131, Surabaya Email: [email protected], [email protected] Abstrak Sekarang ini penggunaan media komputer untuk berbagai keperluan bukan merupakan hal yang baru. Banyak aplikasi komputer yang membantu kehidupan manusia, salah satunya dalam bidang musik. Dalam dunia musik dikenal adanya partitur, yang merupakan catatan nada-nada yang membentuk sebuah lagu, yang umumnya ditulis dengan menggunakan notasi balok. Pada penelitian dikembangkan aplikasi untuk menggantikan penulisan partitur bernotasi balok yang dilakukan secara manual. Dengan adanya aplikasi ini, partitur yang telah dibuat dapat disuarakan untuk mengetahui bagaimana lagu yang dihasilkan dari partitur tersebut. Input yang diterima oleh sistem adalah hasil penulisan pada editor yang terdapat pada aplikasi ini, sedangkan output yang dihasilkan adalah partitur yang dapat disuarakan dan dicetak, serta bunyi lagu yang dihasilkan dari partitur tersebut yang disimpan dalam file berformat MIDI untuk masing-masing alat musik. Kata kunci: penulisan not balok, MIDI, penyuaraan piano dan violin 1. Pendahuluan Dengan semakin berkembangnya penggunaan teknologi informasi untuk segala bidang, dunia musik juga tidak luput turut memanfaatkan penggunaan teknologi informasi tersebut. Salah satu hal yang dapat dilakukan dengan menggunakan teknologj informasi adalah penulisan not balok dengan menggunakan aplikasi komputer dimana sebelumnya penulisan not balok dilakukan secara manual. Dengan bantuan aplikasi komputer, terjadinya kesalahan penulisan dapat diperbaiki dengan mudah. Keuntungan lain dengan menggunakan aplikasi komputer, not balok yang dituliskan dapat langsung disuarakan dengan suara tertentu sehingga memudahkan pengguna untuk mengetahui bagaimana bunyi lagu yang dihasilkan dari penulisan not balok tersebut. Disamping itu, hasil penulisan not balok juga dapat dikonversi menjadi sebuah file musik bertipe MIDI yang nantinya dapat dimainkan pada player yang dapat memainkan file MIDI. Pada penelitian ini dikembangkan sebuah aplikasi yang dapat digunakan untuk menuliskan not balok serta menyuarakan hasil penulisan not balok tersebut dengan suara piano dan violin. Pemilihan suara piano dan violin ini didasarkan bahwa alat musik tersebut banyak digunakan pada musik klasik. 2. Notasi Balok Notasi balok merupakan standar yang digunakan dalam penulisan notasi musik. Setiap nada mempunyai frekuensi yang berbeda, sehingga penempatan posisi not pada garis paranada dilakukan berdasarkan tinggi-rendahnya nada tersebut. Nada adalah bunyi yang dihasilkan dari alat musik, yang mempunyai durasi, pitch, intensitas, dan warna. Sebuah not balok mewakili sebuah nada, bentuk not balok tersebut menunjukkan hitungan yang terdapat pada nada yang diwakilinya. Dalam penotasian musik, dikenal 2 kondisi yaitu not dan rest. Not digunakan untuk menunjukkan adanya nada tertentu, sedangkan rest digunakan untuk menunjukkan tidak adanya nada . Ng, Lina (2003). Tabel 1 berikut ini menunjukkan bentuk dan nilai not balok yang merepresentasikan nada (not) dan yang merepresentasikan tanda diam (rest). Tabel 1. Simbol Not Balok Untuk Tiap Hitungan Nama Nama Not Rest Not Rest (Nilai) (Nilai) Semibreve (4) Minims (2) Crotchet (1) Quaver (1/2) Semiquaver (1/4) Demisemi quaver (1/8) 2.1. Garis Paranada Garis paranada merupakan lima garis sejajar dengan empat ruang kosong diantaranya, untuk menempatkan not balok sesuai dengan tinggi rendahnya nada. Not-not ditempatkan pada garis atau ruang kosong diantaranya. Semakin tinggi posisi not semakin tinggi nada yang dihasilkan, demikian pula sebaliknya. Cara pembacaan not pada garis paranada adalah dari kiri ke kanan. Ng, Lina (2003). Gambar 1 berikut ini menunjukkan garis paranada. Gambar 1. Garis Paranada 2.2. Tanda Kunci Tanda kunci adalah tanda yang ditempatkan pada permulaan garis paranada, untuk menentukan nama nada dan menetapkan tinggirendah nada dengan tepat. Kunci yang umum digunakan dalam musik adalah kunci treble dan kunci bass. Berikut ini adalah contoh gambar tanda kunci dan contoh posisi not dalam tanda kunci. Gambar 2 berikut ini menunjukkan berbagai jenis tanda kunci yang ada, sedangkan Gambar 3 menunjukkan posisi not dalam tanda kunci treble dan bass. Sharp (#), menaikkan nada sebanyak ½ nada. Double sharp (x), menaikkan nada sebanyak 1 nada. Flat (b), menurunkan nada sebanyak ½ nada. Double flat (bb), menurunkan nada sebanyak 1 nada. Natural penaikan atau penurunan nada. Tanda kromatis diletakkan di depan not yang akan dinaikkan atau diturunkan nadanya. Pengaruh tanda kromatis ini hanya berlaku untuk not yang sama tingginya dalam satu bar. Gambar 5 berikut adalah gambar dari nada yang diberi tanda kromatis. Gambar 5. Tanda Kromatis (Accidental) 3. MIDI Musical Instrument Digital Interface atau yang biasa disingkat MIDI merupakan sebuah format file untuk menyimpan informasi dari lagu. Adapun struktur penyimpanan file dalam MIDI secara umum adalah sebagai berikut: White (2008) Gambar 2. Tanda Kunci Gambar 6. Struktur File MIDI Gambar 3. Posisi Not dalam Tanda Kunci Treble dan Bass 2.3. Tanda Birama Tanda birama terdiri dari angka-angka yang ditempatkan secara pecahan pada permulaan garis paranada, setelah tanda kunci. Angka di atas menunjukkan banyaknya hitungan dalam tiap-tiap ruas, sedangkan angka di bawah menunjukkan nilai nada dalam 1 hitungan. Contoh partitur yang menggunakan tanda birama 3/4 dapat dilihat pada Gambar 4 di bawah ini. Gambar 4. Partitur lagu dengan tanda birama 3/4 2.4. Tanda Kromatis (Accidental) Dalam notasi balok dikenal ada 5 macam tanda kromatis, yaitu: Berikut ini adalah penjelasan mengenai segmentasi file MIDI: A = bilangan basis hexadecimal dari kode ASCII "MThd", juga menunjukkan bahwa file tersebut berformat MIDI. B = berapa banyak jumlah byte pada MIDI Header (bagian C, D, dan E). C = menunjukkan tipe dari file MIDI tersebut. Tipe yang ada dalam file MIDI adalah tipe 0 dan tipe 1. Tipe 0 berarti semua data disimpan dalam sebuah datastream, sedangkan tipe 1 berarti data-data tersebut dapat disimpan pada datastream yang berbeda. D = menunjukkan jumlah datastream yang digunakan dalam file MIDI. Untuk file MIDI yang bertipe 0, maka bagian ini selalu bernilai 0001. E = menunjukkan tempo dari musik yang dihasilkan dari file MIDI ini. Jika pada bagian ini bernilai 80, berarti dalam satu menit terdapat 128 not crotchet yang dibunyikan. F = bilangan basis hexadecimal dari kode ASCII "MTrk". G = menunjukkan jumlah byte yang terdapat pada bagian H dan I. H = data-data dari musik I = 00 FF 2F 00 menandakan akhir dari file MIDI. 3.1. Standard MIDI File (SMF) Standard MIDI File terdiri dari beberapa chunk. Diawali dengan sebuah header chunk lalu diikuti satu atau lebih track chunk. Sonic (2008). Header chunk berisi informasi mengenai keseluruhan file secara umum, seperti format MIDI, jumlah track, dan timing division. Sedangkan track chunk berisi semua informasi tentang satu track itu sendiri seperti nama track dan music events. 3.2. Header Chunk header_chunk=“MThd” + <header_length> + <format> + <n> + <division>. Sonic (2008). “MThd” mengindikasikan bahwa file ini bertipe MIDI. <header_length> terdiri dari 3 tipe, yaitu: 0 = single track file format 1 = multiple track file format 2 = multiple song file format <n> merupakan jumlah track chunk yang ada di belakang header chunk. <division> merupakan satuan waktu untuk delta timing. Jika bernilai positif berarti unit per beat. Jika bernilai negatif maka delta time dalam bentuk SMPTE compatible units. 3.3. Track Chunk <v_length> menunjukkan panjang data meta event <event_data_bytes> merupakan event data sesungguhnya Penjelasan mengenai tipe meta event dapat dilihat pada Tabel 2 berikut ini. Tabel 2. Tipe Meta Event Type Event Type Event Sequence 0x20 MIDI Channel 0x00 number Prefix Assignment 0x01 Text Event 0x2F End of Track Sequence or 0x54 0x03 SMPTE Offset track name 0x05 Lyric Text 0x59 Time Signature Marker Text 0x7F Sequancer Specific 0x06 Event 0x07 Cue Point 3.6. Sysex Event sysex_event = 0xF0 atau 0xF7 <data_bytes> 0xF7 Jika data pertama berisi 0xF0 maka data ini termasuk dalam system exclusive event. Tetapi jika data pertama berisi 0xF7 maka data ini tidak termasuk dalam system exclusive event. Sonic (2008). 4. Perancangan Sistem Sebelum melakukan implementasi, terlebih dahulu dilakukan perancangan sistem dengan menggunakan diagram alir. Secara garis besar, diagram alir aplikasi ini terdapat pada Gambar 7. track_chunk = “MTrk” + <length> + <track_event> ..... Sonic (2008). “MTrk” menandakan awal dari sebuah track. <length> merupakan jumlah bytes di track chunk. <track_event> merupakan urutan-urutan track event yang ada. 3.4. Track Event track_event = <v_time> + <midi_event> | <meta_event> | <sysex_event>. Sonic (2008). <v_time> menentukan waktu dari event sebelumnya sampai event ini. <midi_event> memuat semua MIDI channel message seperti note on atau note off. <meta_event> merupakan SMF meta event. <sysex_event> merupakan SMF system exclusive event. 3.5. Meta Event meta_event = 0xFF + <meta_type> + <v_length> + <even_data_bytes>. Sonic (2008). <meta_type> merupakan 1 byte yang menandakan tipe meta_event Gambar 7. Diagram Alir Aplikasi Saat pertama kali program dijalankan, pengguna diminta untuk memasukkan atributatribut partitur seperti judul lagu, nama pengarang, copyright partitur, birama yang digunakan, tanda tempo, dan birama gantung (anacrusis). Jika pengguna ingin membuka file partitur yang sudah ada, maka pengguna dapat melewati bagian input atribut partitur ini dan memasukkan nama file partitur atau memilih file partitur mana yang akan dibuka. Input not balok dilakukan dengan cara menempatkan jenis not yang dipilih pada score (bagian yang berisi garis paranada). Not yang dipilih diletakkan pada garis paranada, sesuai dengan tinggi-rendahnya nada. Not tidak dapat diletakkan di luar garis paranada atau di luar area score. Jika pengguna memilih untuk membuka file yang pernah dibuat dengan perangkat lunak ini, maka data-data dari file tersebut akan disalin ke dalam struktur data dan kemudian ditampilkan sebagai partitur pada bagian score. Jika penulisan not balok sudah selesai, maka hasil penulisan tersebut dapat disimpan sebagai file MIDI atau file partitur yang berbasis teks. Algoritma yang digunakan untuk melakukan input atribut partitur dapat dilihat pada Gambar 8. nilai dari suatu nada. Tanda birama merupakan field yang harus diisi. Perangkat lunak ini menyediakan 2 pilihan tanda birama yaitu 3/4 dan 4/4, dengan nilai default 4/4. Dalam sebuah partitur yang dibuat dengan perangkat lunak ini, tanda birama yang dipilih berlaku untuk semua part dan tidak ada perubahan tanda birama dalam partitur. Tanda tempo menunjukkan kecepatan dari sebuah lagu. Tanda tempo menggunakan angka bilangan bulat, seperti 120. Semakin besar angka yang digunakan, semakin cepat tempo lagu tersebut. Demikian juga sebaliknya. Umumnya jumlah hitungan yang terdapat pada tiap bar menunjukkan birama dari lagu tersebut. Tetapi ada kalanya jumlah hitungan pada bar pertama dan bar terakhir tidak sesuai dengan jumlah birama pada lagu, jumlah hitungan yang ada lebih sedikit dari birama yang telah ditentukan. Inilah yang disebut birama gantung (anacrusis). Jumlah hitungan untuk bar pertama dan bar terakhir jika dijumlahkan harus sama dengan birama dari lagu tersebut. Perangkat lunak ini memberi default tidak ada anacrusis, tetapi pengguna juga dapat memberikan anacrusis jika ada. 4.1. Penulisan Not Balok Penulisan not balok berkitan dengan proses menggambar, memperbaiki, dan menampilkan notasi-notasi yang di-input-kan pengguna maupun notasi-notasi yang telah tersimpan dalam file partitur yang dihasilkan dari perangkat lunak ini. Gambar 9 berikut ini menunjukkan algoritma yang digunakan untuk penulisan not balok. Gambar 8. Diagram Alir Input Atribut Partitur Field title (judul lagu), composer (nama pengarang), dan copyright partitur bersifat optional. Jika ada bagian yang tidak diisi, maka default nilai yang diberikan adalah untuk bagian tersebut adalah string kosong ‘’. Tanda birama menunjukkan jumlah hitungan yang terdapat pada tiap bar, dan Gambar 9. Diagram Alir Penulisan Not Balok Ketika not baru dimasukkan, perangkat lunak akan menyimpan data-data yang berkaitan dan kemudian melakukan pengecekan terhadap bar yang dimaksud. Jika bar tersebut masih dapat diberi not baru tadi, maka not tersebut akan digambar pada score dan struktur data di-update untuk menyimpan perubahan yang terjadi. 5. Implementasi Dan Pengujian Aplikasi ini dikembangkan dengan menggunakan bahasa pemrograman Borland Delphi 7.0. Hasil tampilan utama aplikasi saat dijalankan dapat dilihat pada Gambar 10 serta tampilan utama aplikasi terdapat pada Gambar 11. Untuk membuat partitur baru, langkah yang dilakukan adalah menekan tombol New yang ada pada panel atas, atau dari menu File - New. Kemudian akan tampil form untuk pengaturan judul lagu, nama pengarang, dan copyright partitur. hanya ada satu not berbendera atau terdapat beberapa not berbendera yang tidak sejenis tetapi letaknya berurutan, maka not tersebut berbendera tunggal. Pemberian tanda accidental pada sebuah not diakukan dengan memilih tombol jenis not dan tombol jenis accidental yang ada pada panel not dan rest. Kemudian pengguna mengarahkan mouse ke score, dan melakukan klik pada garis paranada tempat not akan ditempatkan. Gambar 12 berikut ini menunjukkan tampilan aplikasi dengan hasil not balok yang telah dituliskan. Pada saat melakukan perubahan posisi not balok, tampilan aplikasi terlihat berkedip dikarenakan penggerakan dengan mouse membutuhkan waktu untuk me-refresh tampilan. Gambar 12. Tampilan Aplikasi dengan Not Balok Gambar 10. Tampilan Pertama Aplikasi Untuk melakukan penyuaraan, pengguna dapat menekan tombol Play yang disediakan dan pada saat partitur disuarakan, akan tampil garis penunjuk not balok yang sedang disuarakan seperti terlihat pada Gambar 13 berikut. Hanya saja terkadang garis penunjuk tidak tepat menunjuk posisi not yang sedang disuarakan karena tergantung dari spesifikasi komputer yang digunakan. Gambar 11. Tampilan Utama Aplikasi Untuk dapat melakukan penulisan not balok, dilakukan drag and drop not balok yang dimaksud ke garis paranada yang disediakan (score). Jika terdapat dua not berbendera (quaver, semiquaver, atau demisemiquaver) yang jenisnya sama dan letaknya berurutan, tangkai bendera kedua not tersebut saling menyambung. Tetapi jika Gambar 13. Posisi Penyuaraan Partitur 6. Kesimpulan Berdasarkan pengujian yang telah dilakukan maka dapat disimpulkan bahwa: Perangkat lunak dapat menjalankan proses sebagai note composer, dan dapat menghasilkan file MIDI dari partitur untuk masing-masing part. Kecepatan penggambaran penanda nada yang sedang dimainkan tergantung dari spesifikasi komputer yang digunakan sehingga terkadang lokasi yang ditandai tidak sesuai dengan nada yang sedang dimainkan. Proses penggambaran not pada saat digerakkan dengan kursor mouse membutuhkan waktu refresh sehingga terlihat berkedip saat terjadi perubahan posisi. Daftar Pustaka: Ng, Lina. Theory of music made easy. Malaysia: Penerbit Muzikal, 2003. White, Daniel. A crash course on the standard MIDI specification. Akses terakhir 1 April 2008. http://www.skytopia.com/project/articles/midi. html. The Sonic Spot. MIDI file format. Akses terakhir 29 Agustus 2008. http://www.sonicspot.com/guide/midifiles.html .