BAB 2 LANDASAN TEORI 2.1. Teori Musik 2.1.1. Musik Musik adalah suatu seni yang berbentuk suara yang didapatkan dari penggabungan berbagai elemen yang menjadikannya enak untuk didengarkan. Menurut filsuf Yunani dan India kuno, musik merupakan kumpulan nada-nada yang tersusun secara mendatar sebagai melodi dan tersusun secara vertikal sebagai harmoni (http://en.wikipedia.org/wiki/Music). Elemen-elemen yang umumnya membentuk suatu musik antara lain pitch, ritmus, dan dinamika. a. Pitch Pitch adalah persepsi dari frekuensi yang merupakan suatu ukuran getaran yang dapat dirasakan, sedangkan frekuensi adalah ukuran fisik dari getaran. Perubahan frekuensi belum tentu menyebabkan perubahan pitch, namun perubahan pitch pasti menyebabkan perubahan frekuensi. Standarisasi pitch yang berlaku saat ini adalah A440, yaitu nada A di atas nada middle C memiliki frekuensi 440 Hz 7 (http://en.wikipedia.org/wiki/A440). Sedangkan frekuensi untuk nada yang lain dapat dilihat pada Tabel 2.1 berikut ini. Tabel 2.1 Tabel Frekuensi Nada (dalam Hertz) Oktaf → 0 1 2 3 4 5 16.35 (-52) 17.32 (-51) 18.35 (-50) 19.45 (-49) 20.60 (-48) 21.83 (-47) 24.50 (-46) 25.96 (-45) 27.50 (-44) 29.14 (-43) 30.87 (-42) 32.70 (-41) 34.65 (-40) 36.71 (-39) 38.89 (-38) 41.20 (-37) 43.65 (-36) 49.00 (-35) 51.91 (-34) 55.00 (-33) 58.27 (-32) 61.74 (-31) 65.41 (-30) 69.30 (-29) 73.42 (-28) 77.78 (-27) 82.41 (-26) 87.31 (-25) 98.00 (-24) 103.80 (-23) 110.00 (-22) 116.5 (-21) 123.50 (-20) 130.8 (-19) 138.6 (-18) 146.8 (-17) 155.6 (-16) 164.8 (-15) 174.6 (-14) 196.0 (-13) 207.7 (-12) 220.0 (-11) 233.1 (-10) 246.9 (-9) 261.6 (middle C/ -8) 277.2 (-7) 293.7 (-6) 311.1 (-5) 329.6 (-4) 349.2 (-3) 392.0 (-2) 415.3 (-1) 440.0 (middle A / 0) 466.2 (+1) 493.9 (+2) 523.3 (+3) 554.4 (+4) 587.3 (+5) 622.3 (+6) 659.3 (+7) 698.5 (+8) 784.0 (+9) 830.6 (+10) 880.0 (+11) 932.3 (+12) 987.8 (+13) Nada↓ C C# D D# E F G G# A A# B Frekuensi dari nada-nada yang lain dapat dicari dengan menggunakan rumus berikut f = 2n/12 x 440 Hz (2-1) 8 Di mana n adalah selisih jarak nada tersebut dengan nada middle A. Sebagai contoh, nada C5 yang berjarak +3 dari middle A, memiliki frekuensi 23/12 x 440 Hz atau 523.3 Hz. b. Ritmus Ritmus merupakan variasi durasi suara dalam rentang waktu tertentu. Setiap jenis musik memiliki ritmus yang berbeda satu dengan yang lain. Ritmus umumnya dibentuk oleh alat musik perkusi, tetapi terkadang dapat dibentuk oleh alat musik chordal, seperti gitar dan banjo (http://en.wikipedia.org/wiki/Rhythm). Dalam musik Barat, ritmus biasa digunakan sebagai penanda waktu, yang biasa disebut tempo. Tempo merupakan kecepatan ritmus yang dimainkan (biasa disebut dengan beat). Tempo musik diukur berdasarkan satuan beat per menit (bpm). c. Dinamika Di dalam musik, dinamika biasanya merupakan perubahan keras lemahnya suara, namun selain itu, dapat juga berupa perubahan eksekusi terhadap suatu lagu, baik secara pembawaan (mengalir atau terputus-putus) maupun fungsional (kecepatan) (http://en.wikipedia.org/wiki/Dynamics_(music)). Perubahan keras lemahnya suara dapat dibedakan menjadi perubahan yang 9 mendadak (seperti sforzando atau subito) dan perubahan secara bertahap (seperti crescendo, decrescendo, atau diminuendo). d. Melodi Melodi adalah perubahan pola rangkaian suara bersifat linear dalam rentang waktu tertentu, dan tidak terjadi secara bersamaan seperti chord. Perubahan tersebut mencakup perubahan pola nada dan durasi. Melodi biasa terdiri dari satu atau beberapa frase atau motif musik, dan biasanya diulang sepanjang atau sebagian lagu dalam bentuk yang bervariasi. 2.1.2. Nada Nada dapat diartikan sebagai tanda yang digunakan dalam dunia musik untuk menampilkan durasi dan pitch dari suara. Umumnya, nadanada dalam musik dapat ditulis dalam 7 buah huruf, yaitu A, B, C, D, E, F, dan G. Huruf yang sama dapat memiliki perbedaan frekuensi (baik setengah, dua kali, ataupun kelipatannya). Hal ini disebut dengan istilah oktaf. Nada-nada tersebut kemudian mengalami modifikasi dengan pemberian tanda kres (#) untuk menaikkan pitch sebanyak setengah nada (semitone) dan tanda mol (b) untuk menurunkan pitch sebanyak setengah nada. 10 2.1.3. Nilai Nada Nilai nada yang dimaksud adalah perbedaan durasi waktu untuk memainkan suatu nada. Daftar nilai nada dapat dilihat pada tabel 2.2 berikut ini. Tabel 2.2 Tabel Nilai-nilai Nada Nada Tanda Diam Nilai Nama Not penuh Semi-Breve Not setengah Minim Not seperempat Crochet Not seperdelapan Quaver Tanda diam adalah simbol yang digunakan untuk menandai waktu diam di dalam suatu karya musik. Lama suatu nada atau tanda diam dimainkan bergantung pada tempo lagu. Meletakkan tanda titik di samping nada atau tanda diam akan memperpanjang durasi sebanyak setengah dari nilai nada tersebut. 2.1.4. Tangga Nada Sebuah tangga nada terdiri dari 12 nada diatonik yang masingmasing nada berjarak setengah nada dari nada setelah dan sebelumnya. 11 Selain itu, terdapat istilah nada kromatik, yaitu nada yang tidak memenuhi kriteria nada diatonik. Dalam musik, ada berbagai jenis tangga nada. Namun yang paling sering digunakan dalam dunia musik adalah tangga nada mayor dan tangga nada minor. Tangga nada mayor memiliki jarak nada 1 – 1 – ½ - 1 – 1 – 1 – ½, sedangkan tangga nada minor memiliki jarak nada 1 – ½ – 1 – 1 – ½ – 1 – 1. Di dalam tangga nada, nada C4 adalah nada yang paling sering digunakan sebagai nada dasar, yang sering disebut dengan istilah “do”. 2.1.5. Garis Paranada (Staff) Di dalam notasi musik, garis paranada merupakan kesatuan dari lima buah garis mendatar dan empat buah spasi di antara garis-garis tersebut (http://en.wikipedia.org/wiki/Staff_(music)). Gambar garis paranada dapat dilihat pada gambar 2.1. Setiap nada yang berada di dalam garis paranada memiliki pitch masing-masing. Nada yang terletak lebih tinggi dari nada yang lain memiliki pitch yang lebih tinggi dan demikian juga sebaliknya. Sedangkan nada yang terletak di sebelah kiri dimainkan terlebih dahulu sebelum nada di sebelah kanannya. Pitch dari setiap nada ditentukan oleh kunci nada yang diletakkan di sisi paling kiri dari suatu garis paranada. 12 Gambar 2.1 Garis Paranada 2.1.6. Kunci Nada Kunci nada adalah simbol yang digunakan untuk menentukan pitch dari nada yang terletak pada garis paranada. Ada berbagai jenis kunci nada, diantaranya adalah kunci treble (kunci G). Garis paranada dengan kunci G berarti bahwa garis ke-dua terbawah dari paranada merupakan nada G. Untuk lebih jelasnya, dapat dilihat pada Gambar 2.2 dan Gambar 2.3 berikut ini. Gambar 2.2 Kunci Treble (Kunci G) Gambar 2.3 Garis Paranada dengan Kunci G 13 2.1.7. Partitur Musik Partitur musik merupakan notasi musik yang tercetak atau berupa tulisan tangan yang digunakan untuk mendokumentasikan atau sebagai alat untuk menampilkan suatu karya musik (http://en.wikipedia.org/ wiki/Music_score). Umumnya, partitur musik ditulis dengan menggunakan notasi balok, sehingga untuk membaca suatu partitur musik, diperlukan keahlian untuk membaca notasi balok. Ada berbagai macam tipe partitur, diantaranya adalah full score (berisi semua jenis instrumen dan vokal yang ada di sebuah karya musik), piano score (berisi bagian instrumen piano dari suatu karya musik), dan vocal score (berisi bagian vokal dari suatu karya musik). 2.2. Sinyal Digital Sinyal digital adalah suatu sinyal yang secara matematis dinyatakan dengan variabel-variabel diskrit. Nilai dari sinyal ini dapat dinyatakan sebagai suatu kelipatan integer dari jarak antara dua nilai berdekatan, karena biasanya nilai-nilai dari sinyal ini seimbang. 2.3. Sinyal Analog Sinyal analog merupakan sinyal yang secara matematis dinyatakan dengan variabel-variabel kontinu, sehingga untuk setiap nilai waktu dapat diambil nilai-nilai dalam selang kontinu (a,b), dengan a dapat menjadi -∞ 14 dan b dapat menjadi ∞. Sinyal analog menggunakan beberapa sifat dari perantara untuk menyampaikan informasi. 2.4. Konversi Sinyal Digital Menjadi Sinyal Analog Perubahan sinyal digital menjadi sinyal analog pada prinsipnya merupakan perubahan sejumlah angka-angka terbatas (finite numbers), biasanya berupa angka-angka biner, menjadi variabel kontinu yang bervariasi, biasanya berupa tegangan listrik analog. Ilustrasi dari perubahan sinyal digital menjadi sinyal analog dapat dilihat pada Gambar 2.4 berikut ini. Gambar 2.4 Sampel perubahan sinyal digital menjadi sinyal analog 2.5. Transformasi Fourier Representasi sinyal Fourier memegang peranan penting dalam pemrosesan sinyal diskrit maupun kontinu, yang menyediakan metode untuk memetakan sinyal ke dalam domain yang lain. Transformasi Fourier adalah sebuah transformasi integral yang menyatakan ulang sebuah fungsi 15 ke dalam bentuk fungsi berbasis sinus, yaitu sebuah penjumalahan maupun integral dari fungsi sinus yang dikalikan dengan suatu koefisien. Berdasarkan sifat waktu dan frekuensinya, transformasi Fourier dapat dibedakan menjadi deret Fourier, Discrete Fourier Transform (DFT), Continuous Fourier Transform (CFT), dan DFT berbasis waktu. Continuous Fourier Transform (CFT) X(f) dari sebuah fungsi waktu kontinu x(t) dapat dinyatakan sebagai berikut : ∞ X ( f ) = ∫ x ( t ) − ∞ e − j 2 π ft dt (2-2) 2.5.1. Discrete Fourier Transform (DFT) Continuous Fourier Transform (CFT) membutuhkan perhitungan kalkulus yang cukup rumit untuk menghitung integral yang ada, sehingga Joseph Fourier menciptakan Discrete Fourier Transform (DFT) dengan mengganti fungsi integral dengan fungsi penjumlahan yang terbatas. Pada dasarnya DFT menerima input berupa sinyal waktu diskrit (discrete-time signal) dan menghasilkan transfomasi frekuensi diskrit. DFT merubah input N-titik menjadi dua sinyal output N/2+1 titik. Sinyal input disebut berada dalam domain waktu (time domain), karena sinyal yang memasuki DFT disusun dari sample-sample berdasarkan waktu tertentu. Istilah domain frekuensi (frequency domain) digunakan untuk menggambarkan amplitudo dari gelombang sinus dan kosinus yang 16 merupakan pecahan dari sinyal input pada DFT. Domain frekuensi dan domain waktu pada dasarnya mengandung informasi yang sama, hanya saja digambarkan dalam bentuk yang berbeda. Jika diketahui salah satunya, maka yang lainnya dapat dihitung. DFT diperkenalkan sebagai aproksimasi metode numerik untuk mengerjakan fungsi transformasi Fourier. DFT X(m) dari sebuah sinyal waktu yang diskrit x(n) dapat ditulis sebagai berikut : X (m ) = N −1 ∑ n = 0 x(n ) e − j 2 π nm / N (2-3) Dari persamaan (2-3), komponen dari bilangan natural dipisahkan menjadi bagian riil dan imanjinernya menggunakan persamaan Euler, yaitu : e − jθ = cos( θ ) − j sin( θ ) (2-4) di mana j = √-1. Dengan menggabungkan persamaan (2-3) dan (2-4), maka didapatkan persamaan DFT yang baru yaitu : X (m ) = N −1 ∑ x ( n )[cos( 2πnm / N ) − j sin( 2π nm / N )] n=0 (2-5) Dengan persamaan di atas, maka tidak dibutuhkan lagi perhitungan kalkulus untuk menghitung DFT, karena dengan fungsi penjumlahan yang terbatas, tidak dijumpai kesulitan dengan fungsi yang bersifat kontinu tak terbatas. Salah satu cara yang dapat digunakan untuk menghitung DFT adalah dengan menggunakan Fast Fourier Transform (FFT). 17 2.5.2. Fast Fourier Transform (FFT) Fast Fourier Transform (FFT) merupakan algoritma yang sangat efisien dalam mengimplementasikan DFT. Dalam perkembangannya, ada berbagai macam algoritma yang dikembangkan untuk FFT ini, namun yang akan digunakan adalah algoritma FFT radix-2. Algoritma FFT radix-2 digunakan untuk menghitung DFT dengan ukuran batasan berupa perpangkatan dari 2 (N = 2k). Jumlah dari perhitungan yang dibutuhkan untuk memproses FFT sejumlah N-titik adalah (N/2) log2 N Dari persamaan pada N-titik pada DFT, yaitu N − 1 ∑ X (m ) = − j 2 π nm e x (n ) n = 0 / N (2-6) FFT memisahkan input data x(n) menjadi dua bagian, yaitu elemen ganjil dan elemen genap, sehingga persamaan (2-6) menjadi X (m ) = ( N / 2 ) −1 ∑ e x(2n) n=0 − j 2π (2 n ) m / N + ( N / 2 ) −1 ∑ x ( 2 n + 1) n=0 e − j 2π ( 2 n + ) m / N (2-7) Dengan mengeluarkan fase sudut yang konstan dari penjumlahan tersebut X (m ) = ( N / 2 ) −1 ∑ x(2n) n=0 e − j 2π ( 2 n ) m / N +e − j 2 πm / N ( N / 2 ) −1 ∑ x ( 2 n + 1) n=0 e − j 2π ( 2 n ) m / N (2-8) Dengan notasi baku yang baru, yaitu WN = e-j2π/N , maka persamaan (2-8) berubah menjadi X (m ) = ( N / 2 ) −1 ∑ n=0 x(2n) W 2 nm N +W m N ( N / 2 ) −1 ∑ n=0 x ( 2 n + 1) W 2 nm N (2-9) 18 − j 2π 2 /( N ) 2 Karena W N = e − j 2π /( N / 2 ) =e , maka W2N dapat diganti dengan WN / 2 sehingga persamaan (2-9) berubah menjadi X (m ) = ( N / 2 ) −1 ∑ n=0 nm x ( 2 n )W W + N /2 ( N / 2 ) −1 ∑ m N n=0 x ( 2 n + 1) W nm N /2 (2-10) Jika nilai m diganti dengan m + N / 2, maka X (m + N / 2) = ( N / 2 ) −1 ∑ n =0 n ( m+ N / 2) x(2n)W N / 2 + W ( m+ N / 2) N ( N / 2 ) −1 ∑ n =0 n ( m+ N / 2) x(2n + 1)W N / 2 (2-11) Jika W n ( m+ N / 2 ) N /2 nm =W N /2 W nN / 2 W N /2 N /2 − j 2πn 2 N / 2 N ) nm = W N / 2 (e nm nm = W N / 2 (1) =W N / 2 (2-12) Maka W ( m+ N / 2) N m =W N N m = W N (e − j 2 πN / 2 N m m ) = W N ( −1) = −W N (2-13) Sehingga persamaan (2-10) akan menjadi X (m) = ( N / 2 ) −1 ∑ n=0 x ( 2 n )W nm +W N /2 m N ( N / 2 ) −1 ∑ n =0 x ( 2 n + 1)W nm N /2 (2-14) Dengan menggunakan persamaan (2-10) dan (2-14), kita hanya membutuhkan m sebanyak N / 2 mulai dari 0 sampai dengan (N / 2) – 1 untuk mendapatkan semua nilai output. Untuk menentukan komponen ganjil dan genap, dilakukan suatu proses pemecahan yang disebut dengan bit reversal, yaitu dengan menukarkan bit-bit biner dari angka desimal secara terbalik., seperti ditunjukkan pada Tabel 2.3. 19 Tabel 2.3 Bit Reversal Angka dalam urutan normal Angka setelah dilakukan bit reversal Desimal Biner Biner Desimal 0 0000 0000 0 1 0001 1000 8 2 0010 0100 4 3 0011 1100 12 4 0100 0010 2 5 0101 1010 10 6 0110 0110 6 7 0111 1110 14 8 1000 0001 1 9 1001 1001 9 10 1010 0101 5 11 1011 1101 13 12 1100 0011 3 13 1101 1011 11 14 1110 0111 7 15 1111 1111 15 20 Perhitungan dasar FFT dapat diimplementasikan ke dalam suatu bentuk diagram alir yang disebut dengan butterfly pattern, yang dapat dilihat pada Gambar 2.5 berikut ini. Gambar 2.5 FFT Butterfly dengan 2 titik DFT 2.6. Delapan Aturan Emas dalam Perancangan Interface Untuk merancang suatu user interface yang baik, Ben Shneiderman merumuskan Delapan Aturan Emas Perancangan Interface (Eight Golden Rules of Interface Design) yang dapat membuat satu interface menjadi mudah untuk dipahami oleh user. Delapan aturan itu adalah : • Konsistensi • Shortcut • Timbal balik • Kemudahan menangani error • Kemudahan kembali ke aksi sebelumnya 21 • Mendukung pengontrolan sistem • Mengurangi waktu loading dari memori.