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
Not
|
Rest
|
Nama (Nilai)
|
Not
|
Rest
|
Nama (Nilai)
|
|
|
Semibreve (4)
|
|
|
Minims (2)
|
|
|
Crotchet (1)
|
|
|
Quaver (1/2)
|
|
|
Semiquaver (1/4)
|
|
|
Demisemiquaver (1/8)
|
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
Tanda Kunci
Tanda kunci adalah
tanda yang ditempatkan pada permulaan garis paranada, untuk menentukan nama
nada dan menetapkan tinggi-rendah 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.
Gambar 2. Tanda Kunci
Gambar
3. Posisi Not dalam Tanda Kunci Treble
dan Bass
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
Tanda Kromatis (Accidental)
Dalam notasi balok
dikenal ada 5 macam tanda kromatis, yaitu:
·
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 (),
mengembalikan pengaruh 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 6. Struktur File MIDI
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)
Type
|
Event
|
Type
|
Event
|
0x00
|
Sequence number
|
0x20
|
MIDI Channel Prefix
Assignment
|
0x01
|
Text Event
|
0x2F
|
End of Track
|
0x03
|
Sequence or track
name
|
0x54
|
SMPTE Offset
|
0x05
|
Lyric Text
|
0x59
|
Time Signature
|
0x06
|
Marker Text
|
0x7F
|
Sequancer Specific
Event
|
0x07
|
Cue Point
|
|
|
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” + +
+ + . Sonic (2008).
“MThd” mengindikasikan bahwa file ini bertipe MIDI.
terdiri dari 3 tipe, yaitu:
0 = single track file format
1 = multiple
track file format
2 = multiple
song file format
merupakan jumlah track chunk yang ada di belakang header chunk.
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
track_chunk = “MTrk” + +
..... Sonic (2008).
“MTrk” menandakan awal dari sebuah track.
merupakan jumlah bytes di track chunk.
merupakan urutan-urutan track event yang ada.
3.4. Track
Event
track_event = + |
| . Sonic (2008).
menentukan waktu dari event sebelumnya sampai event
ini.
memuat semua MIDI channel message seperti note on atau note off.
merupakan SMF meta event.
merupakan SMF system exclusive event.
3.5. Meta
Event
meta_event = 0xFF + +
+ . Sonic (2008).
merupakan 1 byte yang menandakan tipe meta_event
menunjukkan panjang data meta event
merupakan event data sesungguhnya
Penjelasan mengenai tipe meta event dapat dilihat pada Tabel 2 berikut ini.
Tabel 2. Tipe Meta Event
3.6. Sysex
Event
sysex_event = 0xF0 atau 0xF7 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.
Gambar
7. Diagram Alir Aplikasi
Saat
pertama kali program dijalankan, pengguna diminta untuk memasukkan
atribut-atribut 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.
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 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
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.
Gambar
10. Tampilan Pertama Aplikasi
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 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
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
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.
Rudy Adipranata1, Natania Sanjaya, Rolly Intan2
Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Kristen Petra
Jl. Siwalankerto 121-131, Surabaya
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.