PENDAHULUAN
Tujuan
Latar Belakang
Tujuan dari penelitian ini adalah :
Sistem pendengaran manusia memiliki kemampuan yang luar biasa dalam menangkap dan mengenali sinyal suara. Dalam mengenali sebuah kata ataupun kalimat bukanlah hal yang sulit dilakukan oleh manusia. Apalagi kata tersebut merupakan bahasa utama yang dipakai sehari-hari. Lain halnya dalam mengenali serangkaian chord yang dimainkan dalam sebuah musik. Untuk seorang musisi hal ini dapat dilakukan dengan mudah. Namun untuk orang biasa ataupun pemula di bidang musik, dibutuhkan banyak waktu dan tenaga untuk mengenalinya. Pendengaran mereka harus terus dilatih agar dapat dengan mudah mengenali chord musik. Hal ini pun berlaku untuk sebuah sistem komputer.
1.
Menerapkan metode codebook dan teknik ekstraksi ciri MFCC dalam mengenali setiap chord yang dimainkan dengan alat musik gitar.
2.
Mengetahui akurasi pengenalan chord pada alat musik gitar dengan menggunakan metode codebook.
3.
Mengetahui pengaruh banyaknya cluster dari setiap codebook terhadap tingkat akurasi dalam mengenali setiap chord pada alat musik gitar.
Chord merupakan rangkaian nada yang membangun keharmonisasian pada musik. Enak tidaknya suatu musik untuk didengarkan, tergantung pada rangkaian chord yang menyusunnya. Oleh karena itu menganalisis keseluruhan struktur harmonik pada suatu musik selalu diawali dengan mengenali setiap chord yang menyusun musik tersebut. Untuk alasan inilah, pengenalan chord telah berhasil menarik banyak perhatian di dunia Music Information Retrieval (MIR). Dengan mengetahui alur chord yang ada dalam sebuah musik kita dapat mengetahui genre dari musik tersebut yang memungkinkan kita untuk mengetahui pola alur chord pada musik lain dalam genre yang sama. Terdapat dua modul yang sangat penting dalam speaker recognition yaitu feature extraction dan feature matching (Do, 1994). Feature extraction adalah proses mengekstraksi sejumlah data dari sinyal suara yang nantinya dapat digunakan untuk merepresentasikan sinyal suara tersebut sedangkan feature matching adalah proses mengidentifikasi suara dengan cara membandingkan setiap ciri yang telah diekstraksi dari suara yang akan diidentifikasi dengan ciri dari suara yang telah diketahui. Pada penelitian ini penulis akan menggunakan metode codebook yang merupakan salah satu teknik feature matching dalam mengenali chord pada alat musik gitar dan menggunakan teknik Mel-Frequency Cepstrum Coefficient (MFCC) untuk ekstraksi cirinya.
Ruang Lingkup Adapun ruang lingkup dari penelitian ini antara lain : 1.
Chord yang akan dikenali hanyalah chord mayor dan minor yang diperoleh dari suara gitar yang direkam. Total terdapat 24 chord mayor/minor.
2.
Chord yang akan dikenali hanya dimainkan dengan cara dipukul serentak dari atas ke bawah dalam satu posisi untuk masing-masing chord.
3.
Suara chord yang dikenali hanyalah suara chord yang dimainkan dengan menggunakan jenis gitar dengan senar nylon.
Manfaat Penelitian Penelitian ini diharapkan dapat memberikan informasi mengenai akurasi penggunaan metode codebook dalam pengenalan chord pada alat musik gitar.
TINJAUAN PUSTAKA Nada dan Chord Gitar Nada merupakan suatu simbol atau bunyi yang menjadi dasar dalam susunan musik. Terdapat tujuh nada natural yang telah dibakukan dan diberi nama dengan huruf, yaitu : C, D, E, F, G, A, B. Masing-masing dari nada tersebut memiliki frekuensi yang berbeda. Jarak antar dua nada disebut dengan interval. Interval dari deretan nada C-D-E-F-G-A-B-C adalah 1-1-½ -1-1-1-½. Jarak sebesar 1 disebut dengan wholetone dan jarak sebesar ½ disebut semitone. Jarak enam antara dua nada yang sama disebut satu oktaf. Contohnya adalah jarak
1
antara nada C1 sampai nada C2. Nada C2 berada satu oktaf di atas nada C1. Nada natural dapat dinaikkan maupun diturunkan sebanyak ½ nada. Nada yang dinaikkan ½ nada diberi simbol #, sedangkan nada yang diturunkan ½ nada diberi simbol b. Misalnya nada C dinaikkan ½ nada menjadi C#. Nada C# atau bisa disebut cis ini sama dengan nada Db. Untuk nada E bila dinaikkan ½ nada akan menjadi nada E# atau sama dengan nada F, karena interval dari kedua nada ini adalah ½. Begitu pula pada nada B ke C. Dengan demikian, terdapat 12 nada, yaitu C, C#, D, D#, E, F, F#, G, G#, A, A#, B. Tangga nada adalah susunan nada-nada dengan sistem jarak tertentu di sepanjang kesatuan enam jarak nada atau oktaf (Solapung 1991). Terdapat tujuh nada yang dibedakan secara berurut dengan jarak nada 1 dan jarak nada ½. Terdapat dua jenis tangga nada dasar, yaitu tangga nada Do atau tangga nada mayor dan tangga nada La atau tangga nada minor. Tangga nada mayor memiliki susunan sebagai berikut : Jarak nada
:
1 1
½ 1 1 1 ½
Nada nyanyi : Do Re Mi Fa Sol La Si Do Tangga nada minor memiliki susunan sebagai berikut : Jarak nada
:
1 ½ 1 1 ½ 1 1
Nada nyanyi : La Si Do Re Mi Fa Sol La Contohnya untuk tangga nada C = Do atau disebut juga tangga nada C mayor adalah C-D-E-F-G-A-B-C. Chord merupakan satuan nada-nada yang dibunyikan secara serentak yang berfungsi sebagai pengiring dalam lagu maupun permainan musik (Hendro 2004). Chord direpresentasikan dengan huruf yaitu C, D, E, F, G, A, B. Terdapat pula chord C# = Db, D# = Eb, E# = F, F# = Gb, A# = Bb, B# = C. Terdapat banyak jenis chord berdasarkan nada yang menyusunnya, diantaranya adalah chord mayor, minor, augmented, diminished, dll. Setiap chord memiliki bentuk dan corak yang berbeda sesuai dengan unsur-unsur yang membentuknya. Chord sangat berperan dalam keharmonisan sebuah lagu. Chord umumnya terdiri atas tiga nada, yaitu nada ke-1, nada ke-3, dan nada ke-5 dari tangga nada penyusunnya. Hal ini disebut triad. Misalnya
chord C mayor atau C dengan tangga nada C-DE-F-G-A-B-C terdiri atas nada C, E, dan G. Chord C minor atau Cm dengan tangga nada CD-Eb-F-G-Ab-Bb-C terdiri atas nada C, Eb, dan G. Chord mayor memiliki jarak nada ke-1 ke nada ke-3 dan nada ke-3 ke nada ke-5 berturutturut sebesar 2 dan 1½. Chord minor memiliki jarak nada ke-1 ke nada ke-3 dan nada ke-3 ke nada ke-5 berturut-turut sebesar 1½ dan 2. Chord-chord yang menyusun sebuah lagu dapat ditentukan berdasarkan nada dasarnya. Yaitu, chord yang nada penyusunnya terdapat dalam tangga nada dasar lagu tersebut. Sebagai contoh pada nada dasar D = Do dengan tangga nada D-E-F#-G-A-B-C#-D maka chord yang mungkin dimainkan adalah : Chord I (Tonic) atau D mayor (D-A-F#) Chord II (Super Tonic) atau E minor (E-AF#) Chord III (Mediant) atau F# minor (F#-AC#) Chord IV (Dominant) atau G mayor (G-BD) Chord V (Sub Dominant) atau A mayor (AC#-E) Chord VI (Sub Mediant) atau B minor (B-DF#) Chord VII (Lead Tone) atau C# Half Diminished (C#-E-G) Tonic, Dominant, dan Sub Dominant adalah chord mayor yang berfungsi sebagai chord pokok atau chord utama. Di sisi lain, Super Tonic, Mediant, dan Sub Mediant adalah chord minor yang berfungsi sebagai chord pembantu. Setiap chord mayor memiliki hubungan paralel atau dekat dengan chord minor yang disebabkan oleh kesamaan nada-nada yang menyusun tangga nadanya, yaitu :
Chord C dengan chord Am Chord C# dengan chord A#m Chord D dengan chord Bm Chord D# dengan chord Cm Chord E dengan chord C#m Chord F dengan chord Dm Chord F# dengan chord D#m Chord G dengan chord Em Chord G# dengan chord Fm
2
Chord A dengan chord F#m Chord A# dengan chord Gm Chord B dengan chord G#m Gitar merupakan alat musik yang paling banyak dikenal oleh masyarakat. Suara yang dihasilkan berasal dari senar yang dipetik atau dipukul yang ditekan pada posisi fret tertentu ataupun tidak ditekan. Pada alat musik gitar satu nada yang sama dapat dihasilkan dari posisi yang berbeda. Ilustrasi letak nada-nada yang ada pada gitar dapat dilihat pada Gambar 1.
Gambar 1 Ilustrasi dari 12 fret pertama dan nada-nada yang dihasilkan dengan cara menekan senar pada fret-fret tertentu (Vaseghi 2007) Oleh karena itu chord pada gitar juga dapat dibentuk dengan berbagai posisi seperti terlihat pada Gambar 2. Chord D
Chord D
Gambar 3 Ilustrasi hierarchical clustering dari empat objek yang ditampilkan dengan dendrogram (Tan et al. 2006) Hierarchical clustering membentuk struktur hierarki dengan menempatkan setiap objek sebagai suatu cluster tersendiri lalu menggabungkan masing-masing cluster yang memiliki kemiripan menjadi cluster yang lebih besar, sampai akhirnya setiap objek berada pada satu cluster. Analog to Digital Conversion Sinyal suara merupakan suatu sinyal waktu kontinyu atau sinyal analog, sedangkan komputer hanya dapat memroses sinyal digital. Oleh karena itu untuk dapat memroses suatu sinyal suara maka sinyal suara tersebut harus dikonversi menjadi sinyal digital terlebih dahulu. Proses konversi ini disebut Analog to Digital Conversion (ADC). Proses ADC terbagi menjadi dua tahap, yaitu : 1. Sampling
Gambar 2 Ilustrasi bentuk chord D pada posisi yang berbeda Hierarchical Clustering Hierarchical clustering merupakan salah satu teknik clustering yang biasa ditampilkan secara grafik menggunakan diagram tree yang disebut dendrogram seperti ditampilkan pada Gambar 3.
Sampling merupakan pengamatan nilai sinyal waktu kontinyu (sinyal analog) pada suatu waktu tertentu, sehingga diperoleh sinyal waktu diskret. Banyaknya sample yang diambil tiap detiknya disebut sampling rate. Besarnya sampling rate yang digunakan minimal dua kali dari jumlah frekuensi maksimum yang dapat dihasilkan oleh sumber suara. Hal ini bertujuan untuk meminimalkan efek aliasing, yaitu suatu efek dimana sinyal yang dihasilkan memiliki frekuensi yang berbeda dengan sinyal aslinya. 2. Kuantisasi Kuantisasi merupakan suatu proses memetakan nilai-nilai amplitudo yang bersifat kontinyu pada suatu selang tertentu
3
menjadi nilai-nilai yang diskret, sehingga didapatkan sinyal nilai diskret atau sinyal digital.
dan x(i) sebagai sinyal digital pada frame ke i, maka hasil dari windowing pada frame ke i adalah y(i) = x(i)w, yaitu perkalian skalar antara vektor x(i) dengan w. Pada umumnya window yang digunakan adalah window Hamming dengan persamaan :
Ekstraksi Ciri MFCC Ekstraksi ciri dilakukan untuk menentukan satu nilai atau vektor yang dapat dipergunakan sebagai penciri objek atau individu. Terdapat beberapa teknik ekstraksi ciri, seperti Linear Prediction Coding, Perceptual Linear Prediction, dan Mel-Frequency Cepstrum Coefficient (MFCC). MFCC merupakan teknik yang umumnya dipakai dan memiliki kinerja yang baik. Cara kerja MFCC didasarkan atas pendengaran manusia. Proses MFCC dapat dilihat pada Gambar 4. continuous speech
mel
Frame Blocking
cepstrum
cepstrum
frame
mel spectrum
Windowing
FFT
,
dimana N merupakan jumlah sample pada tiap frame. 3.
FFT (Fast Fourier Transform) Proses selanjutnya adalah Fast Fourier Transform yang akan mengonversi setiap frame dengan N sample dari domain waktu ke domain frekuensi. Konversi ini dilakukan karena pendengaran manusia didasarkan atas domain frekuensi. FFT merupakan fast algorithm yang mengimplementasikan Discrete Fourier Transform (DFT) yang didefinisikan pada himpunan N samples {xn} sebagai berikut : N-1
Mel-frequency
wrapping
2n w(n) 0.54 0.46 cos , 0 n N 1 N 1
spectrum
Gambar 4 Diagram proses MFCC (Do 1994) Penjelasan dari masing-masing tahapan adalah : 1. Frame Blocking Pada tahapan ini sinyal suara yang dibaca kemudian dibagi ke dalam bentuk frame. Setiap frame memiliki N sample yang direpresentasikan dalam bentuk vektor. Setiap frame yang bersebelahan saling tumpang tindih atau overlap. Hal ini ditujukan agar tidak ada informasi yang hilang. 2. Windowing Setiap frame dari sinyal suara mengandung satu unit informasi. Oleh karena itu distorsi antar frame tersebut harus diminimalkan dengan teknik windowing. Proses windowing dilakukan pada setiap frame untuk meminimalkan diskontinuitas sinyal pada awal dan akhir tiap frame. Metodenya adalah dengan mengalikan tiap frame dengan fungsi window. Jika kita mendefinisikan fungsi window sebagai w,
Xn = ∑ xke-2πjkn/N , n = 0,1,2,…,N-1 ; k =0
j digunakan untuk menunjukkan bilangan imajiner, seperti j = √-1. Secara umum Xn adalah bilangan kompleks. 4. Mel-frequecy Wrapping Persepsi manusia dalam frekuensi sinyal suara tidak mengikuti skala linear. Untuk setiap bunyi dengan frekuensi aktual f, dalam satuan Hz, nilai subjektif dari pitchnya diukur dengan menggunakan skala “mel’’. Skala mel-frequency adalah selang frekuensi linear di bawah 1000 Hz dan selang logaritmik untuk frekuensi di atas 1000 Hz. Mel-Frequency Wrapping umumnya dilakukan dengan menggunakan filterbank. 5. Cepstrum Pada tahap ini akan dikonversi melfrequency ke dalam domain waktu dengan menggunakan Discrete Cosine Transform (DCT). Hasilnya disebut dengan melfrequency cepstrum coefficient (MFCC). Selanjutnya MFCC dapat dihitung sebagai cn dengan persamaan :
4
, dengan K adalah banyaknya koefisien cepstral, k = 0,1,….,K-1 dan n = 0,1,…,K-1. Codebook Codebook adalah sekumpulan titik (vektor) yang mewakili distribusi suara dari individu maupun objek tertentu dalam ruang suara. Titik-titik pada codebook disebut codeword. Codebook merupakan cetakan yang dihasilkan suara setelah melalui proses training. Dalam pengenalan suara, masing-masing suara yang akan dikenali harus dibuatkan codebook-nya. Codebook dibentuk dengan cara membentuk cluster semua vektor ciri yang dijadikan sebagai training set dengan menggunakan clustering algorithm. Algoritme clustering yang dipakai adalah algoritme K-means. Langkah pertama yang dilakukan oleh algoritme ini adalah menentukan K initial centroid, dimana K adalah parameter spesifik yang ditentukan user, yang merupakan jumlah cluster yang diinginkan. Setiap titik atau objek kemudian ditempatkan pada centroid terdekat, dan kumpulan titik atau objek pada tiap centroid disebut cluster. Centroid pada setiap cluster kemudian akan berubah berdasarkan setiap objek yang ada pada cluster. Kemudian langkah penempatan objek dan perubahan centroid diulangi sampai tidak ada objek yang berpindah cluster. Algoritme dasar dari K-means adalah (Tan et al. 2006) :
tersebut ke setiap codeword yang ada pada codebook. Kemudian dipilih codeword dengan jarak minimum. Setelah itu setiap sinyal suara yang masuk akan diidentifikasi berdasarkan jumlah dari jarak minimum tersebut. Penghitungan jarak dilakukan dengan menggunakan jarak euclid yang didefinisikan sebagai berikut (Jurafsky 2007): D
deuclidean(x,y) = √ ∑ (xi - yi)2 , i=1
dimana x dan y adalah vektor yang ada sepanjang D. Gambar 5 mengilustrasikan tebaran data suara dari dua pembicara di sekitar codebooknya. Dimana VQ distortion merupakan jarak vektor suara ke codeword (centroid) terdekat pada codebook. Pembicara dengan model codebook yang memiliki nilai total VQ distortion terkecil akan diidentifikasi sebagai pembicara dari suara input. Speaker 1
Speaker 1 centroid sample
Speaker 2
VQ distortion
Speaker 2 centroid sample
Gambar 5 Ilustrasi metode codebook dengan dua pembicara (Do 1994)
Select K points as initial centroids
METODE PENELITIAN
repeat
Penelitian ini dilakukan dengan beberapa tahapan proses, yaitu studi pustaka, pengambilan data, pemodelan chord, dan pengujian. Proses pengenalan chord gitar dapat dilihat pada Gambar 6.
Form K clusters by assigning each point to its closets centroid Recompute the centroid of each cluster
Studi Pustaka until Centroids do not change Prinsip dasar dalam penggunaan codebook adalah setiap suara yang masuk akan dihitung jaraknya ke setiap codebook dari jenis suara yang akan dikenali. Kemudian jarak setiap sinyal suara ke codebook dihitung sebagai jumlah dari jarak setiap frame sinyal suara
Pada tahap ini mulai dilakukan pencarian dan pembelajaran mengenai pustaka-pustaka yang dibutuhkan untuk penelitian ini. Pustakapustaka tersebut dapat berupa buku, jurnal, ataupun media yang dapat dibuktikan kebenarannya. Studi pustaka dilakukan guna
5