DETEKSI CHORD DENGAN CHROMA-LOG-PITCH FEATURE, NESTED PERFECT FIFTH CIRCLE, DAN UNTRAINED HIDDEN MARKOV MODEL
1. PENDAHULUAN 1.1 Latar Belakang
Salah satu bagian yang penting dalam dunia music modern adalah chord. Chord merupakan dua atau lebih nada yang dibunyikan secara bersamaan dengan mengikuti aturan tertentu. Penggunaan chord banyak ditemukan pada musik barat modern, music Afrika, dan music Oseania. Perkembangan teknologi informasi yang sangat pesat belakangan ini telah memungkinkan banyak hal yang sebelumnya dianggap mustahil untuk diwujudkan. Salah satunya adalah pengenalan chord secara otomatis. Proses pengenalan chord secara umum merupakan sebuah kasus pengenalan pola (pattern recognition). Tahapan pengenalan chord ini biasanya terbagi ke dalam tiga bagian. Pertama, pemenggalan sebuah file suara dari sebuah lagu ke dalam beberapa sekuens. Berikutnya adalah ekstraksi chroma features dari sekuens tersebut, dan yang terakhir yaitu pengenalan pola dari chroma features yang telah diekstraksi pada tahap sebelumnya untuk mengenali pola sekaligus memberikan label chord terhadap sekuens tertentu. Pada penelitian ini, penulis berfokus pada penggunaan Hidden Markov Model(HMM) yang tidak dilatih, namun menggunakan pengetahuan music kognitif sebagai gantinya sebagai dasar penentuan probabilitas transisi dan probabilitas emisi. Hidden Markov Model merupakan model yang paling sering digunakan[1,2,3,4,5,7,9] dalam pengenalan chord. Kebanyakan metode yang digunakan dalam menentukan probabilitas transisi dan probabilitas emisi HMM adalah dengan menggunakan Forward-Backward Algorithm. Metode lain yang digunakan selain Hidden Markov Model adalah dengan Probabilistic-Template Model[8]. Pitch Class Profile(PCP) yang akan digunakan dalam system ini adalah CP feature dan CLP feature . Pitch Class Profile atau Chroma Vector merupakan vektor yang diekstraksi dari domain
frekuensi per satuan waktu tertentu (frame) yang nantinya bertindak sebagai observasi dalam HMM. 1.2 Perumusan Masalah
Adapun rumusan masalah dari penelitian ini adalah sebagai berikut: 1. Bagaimana menerapkan pengetahuan tentang musik dalam menentukan probabilitas transisi dan probabilitas emisi dari sebuah system pengenalan chord berbasis Hidden Markov Model. 2. Bagaimana pengaruh penggunaan Chroma-Log-Pitch Feature dan tingkat kompresinya dalam meningkatkan akurasi jika dibandingkan dengan Chroma-Pitch Feature. 1.3 Tujuan
Tujuan dari penelitian ini adalah untuk mengimplementasikan sebuah system pengenalan chord berbasis untrained HMM , untuk mengetahui apakah penggunaan Chroma-Log-Pitch Feature dapat meningkatkan presisi dalam system pengenalan chord berbasis untrained Hidden Markov Model bila dibandingkan dengan metode ekstraksi chroma features konvensional. 1.4 Hipotesa
Pengetahuan tentang music merupakan suntikan tenaga yang besar bagi penelitian di bidang Music Information Retrieval. Kebanyakan system pengenalan chord dirasa kurang memberikan sentuhan pengetahuan tentang music dan terlalu bergantung kepada dataset, yang biasanya hanya terdiri dari satu jenis music, yang digunakan untuk proses training untuk HMM dalam system pengenalan chord. Di samping itu untuk melatih sebuah Hidden Markov Model yang digunakan untuk mengenali chord, perlu dilakukan proses penulisan anotasi chord yang membutuhkan waktu dan usaha yang sangat besar. Penggunaan double nested perfect fifth circle dan chord template sebagai dasar penentuan probabilitas transisi dan probabilitas emisi diharapkan dap at memberikan solusi yang lebih umum untuk system pengenalan chord. Artinya, diharapkan system ini dapat diterapkan secara fleksibel untuk semua jenis musik tonal yang menggunakan tangga nada diatonik yang ada di dunia.
Penggunaan CLP sebagai Pitch Class Profile dalam system ini didukung fakta bahwa p erforma CLP feature mengungguli Pitch Class Profile lainnya seperti CP feature, CENS feature, CRP feature, dan juga CISP feature[3]. 1.5 Metode Penelitian
Secara umum, metode penelitian yang dilakukan adalah sebagai berikut: 1. Studi Literatur Mencari referensi dan sumber-sumber lainnya mengenai teori chord, pengenalan chord, chroma features, serta hidden Markov Model 2. Pendalaman Materi Mempelajari konsep tentang teori chord, pengenalan chord, chroma features, serta hidden Markov Model. 3. Analisis dan Desain Menganalisis kebutuhan, mengumpulkan data yang diperlukan,dan melakukan perancangan untuk tahap implementasi 4. Implementasi Mengimplementasikan improved chromagram calculation pada system pengenalan chord berbasis Hidden Markov Model dalam sebuah perangkat lunak. 5. Pengujian dan Analisis Hasil Melakukan pengujian terhadap perangkat lunak dan melakukan analisis terhadap keluaran dari perangkat lunak.
2. LANDASAN TEORI 2.1 Chord
Chord merupakan kumpulan dua atau lebih nada yang harmonis yang seolah-olah dibunyikan secara bersamaan. Chord sangat sering dijumpai dalam du nia music. Jenis-jenis instrument musik yang dapat mengaplikasikan chord antara lain adalah gitar dan piano.
Chord memiliki kaitan yang erat dengan semitone. Semitone adalah interval music terkecil yang digunakan dalam music tonal barat. Semitone terdiri dari 12 nada, yaitu C, C#, D, D#, E, F, F#, G, G#, A, A#, dan B, di mana masing-masing nada yang bertetangga berjarak setengah nada. Musik tonal barat ini cenderung menggunakan tangga nada diatonic. Tangga nada diatonic terdiri dari tujuh nada. Sebagai contoh, tangga nada diatonik C mayor terdiri dari nada C, D, E, F, G, A,
B, C’, di mana C merupakan key note/nada kunci dan C’ merupakan nada C yang memiliki jarak 1 oktaf (12 semitone) dari nada C pertama. Tangga nada diatonik mayor memiliki pola 1 1 ½ 1 1 1 ½ jika merujuk kepada semitone. Artinya, untuk membentuk tangga nada C mayor, mulailah dari nada C, kemudian ambil nada yang berjarak 1 nada (2 semitone), dalam kasus ini D, dan
seterusnya hingga terbentuk C, D, E, F, G, A, B, C’. Tangga nada diatonik sendiri terbagi lagi menjadi beberapa jenis yang masing-masing memiliki pola yang berbeda-beda. Di antaranya yang paling sering digunakan yaitu tangga nada diatonik mayor dan minor.
Jenis chord yang paling banyak ditemui adalah Triad. Dinamakan demikian karena chord tersebut terdiri dari tiga nada. Chord Triad tersusun atas tiga bagian: 1. Root Note 2. Third Note 3. Fifth Note Root note atau nada dasar, merupakan nada yang dipilih untuk menjadi dasar bagi sebuah chord triad. Selanjutnya, third note dan fifth note atau nada ketiga, adalah masing-masing nada ketiga dan kelima dari tangga nada diatonik yang disusun dengan menggunakan root note sebagai key note. Sebagai contoh chord C mayor tersusun atas triad C-E-G. Dalam menggunakan chord pada alat music, sang pemain harus membunyikan seluruh nada yang terdapat dalam sebuah chord. Tidak menjadi masalah apabila terdapat lebih dari satu nada yang
sama atau terdapat nada yang sama namun berbeda oktaf, selama seluruh nada yang terkandung dalam suatu chord dibunyikan. 2.2 Pitch
Pitch adalah properti. perseptual yang memungkinkan pengurutan nada berdasarkan frekuensi. Setiap nada memiliki frekuensi tertentu, dan nada -nada tersebut diberi label sesuai dengan frekuensi yang dimilikinya. Masing-masing nada memiliki label salah satu di antara C, C#, D, D#, E, F, F#, G, G#, A, atau B diikuti dengan angka antara 0 sampai dengan 8 (untuk piano) untuk menunjukkan di oktaf mana nada tersebut berada. Sesuai dengan konvensi yang berlaku, frekuensi untuk nada A4 adalah 440 Hz, untuk mencari label nada bagi sebuah frekuensi dapat dilakukan perhitungan sebagai berikut
Di mana n merupakan nomor kunci pada tabel kunci piano. Sebagai contoh, jika kita masukkan 440Hz sebagai nilai n pada persamaan di atas, maka kita akan mendapatkan nilai 49 dan jika kita cocokkan pada tabel kunci piano, maka akan didapat label A4.
Nomor Kunci
Nama Ilmiah
Frekuensi (Hz)
Nomor Kunci
Nama Ilmiah
Frekuensi (Hz)
88
C8 Eighth octave
4186.01
44
E4
329.628
87
B7
3951.07
43
D♯4/E♭4
311.127
86
A♯7/B♭7
3729.31
42
D4
293.665
85
A7
3520
41
C♯4/D♭4
277.183
84
G♯7/A♭7
3322.44
40
C4 Middle
261.626
83
G7
3135.96
39
B3
246.942
82
F♯7/G♭7
2959.96
38
A♯3/B♭3
233.082
81
F7
2793.83
37
A3
220
80
E7
2637.02
36
G♯3/A♭3
207.652
79
D♯7/E♭7
2489.02
35
G3
195.998
78
D7
2349.32
34
F♯3/G♭3
184.997
77
C♯7/D♭7
2217.46
33
F3
174.614
76
C7 Double high C
2093
32
E3
164.814
75
B6
1975.53
31
D♯3/E♭3
155.563
74
A♯6/B♭6
1864.66
30
D3
146.832
73
A6
1760
29
C♯3/D♭3
138.591
72
G♯6/A♭6
1661.22
28
C3 Low C
130.813
71
G6
1567.98
27
B2
123.471
70
F♯6/G♭6
1479.98
26
A♯2/B♭2
116.541
69
F6
1396.91
25
A2
110
68
E6
1318.51
24
G♯2/A♭2
103.826
67
D♯6/E♭6
1244.51
23
G2
97.9989
66
D6
1174.66
22
F♯2/G♭2
92.4986
65
C♯6/D♭6
1108.73
21
F2
87.3071
64
C6 Soprano C (High C)
1046.5
20
E2
82.4069
63
B5
987.767
19
D♯2/E♭2
77.7817
62
A♯5/B♭5
932.328
18
D2
73.4162
61
A5
880
17
C♯2/D♭2
69.2957
60
G♯5/A♭5
830.609
16
C2 Deep C
65.4064
59
G5
783.991
15
B1
61.7354
58
F♯5/G♭5
739.989
14
A♯1/B♭1
58.2705
57
F5
698.456
13
A1
55
56
E5
659.255
12
G♯1/A♭1
51.9131
55
D♯5/E♭5
622.254
11
G1
48.9994
54
D5
587.33
10
F♯1/G♭1
46.2493
53
C♯5/D♭5
554.365
9
F1
43.6535
52
C5 Tenor C
523.251
8
E1
41.2034
51
B4
493.883
7
D♯1/E♭1
38.8909
50
A♯4/B♭4
466.164
6
D1
36.7081
49
A4 A440
440
5
C♯1/D♭1
34.6478
48
G♯4/A♭4
415.305
4
C1 Pedal C
32.7032
47
G4
391.995
3
B0
30.8677
46
F♯4/G♭4
369.994
2
A♯0/B♭0
29.1352
45
F4
349.228
1
A0 Double Pedal A
27.5
2.3 Chroma Feature
Seperti yang telah dijelaskan dalam bagian pendahuluan, chroma feature merupakan sebuah representasi dari kekuatan frekuensi yang menjadi penyusun bagi sebuah sinyal audio dalam sebuah satuan waktu.
Untuk dapat melakukan ekstraksi chroma feature dari sebuah file audio,yang berbentuk waveform (lihat gambar), harus dilakukan sebuah analisis spectrum. Hal ini dimungkinkan dengan cara membagi file audio tersebut ke dalam frame-frame dalam satuan waktu tertentu d an kemudian mengubah masing-masing frame menjadi sebuah representsi domain frekuensi. Langkah awalnya yaitu dengan mengaplikasikan sebuah fungsi windowing, seperti Hanning Window kepada fungsi sinyal. Kemudian lakukan Discrete Fourier Transformation untuk mendapatkan representasi domain frekuensi dari fungsi sinyal tersebut. Ha sil dari langkah ini adalah energy spectral (amplitudo, dengan satuan desibel) yang tersebar dalam beberapa bin di mana setiap bin merepresentasikan sebuah nada. Langkah selanjutnya yaitu dengan menjumlahkan nilai dari setiap bin ke dalam vektor 12x1 di mana setiap elemen dari vektor tersebut mewakili sebuah chroma atau nada. Nada-nada yang harmonic, sebagai contoh C4 dan C5, dijumlahkan ke dalam satu elemen vektor. Dari sini kita dapatkan apa yang disebut dengan Chroma Pitch feature. Untuk CLP, sebelum menjumlahkan nilai bin ke dalam chroma vector, nilai-nilai bin tersebut terlebih dahulu digantikan dengan nilai yang bersangkutan dan
di mana e adalah energy spectral dari bin
merupakan konstanta positif yang menjadi parameter kompresi bagi
CLP. Metode lainnya yang disebut improved chromagram calculation tidak menjumlahkan seluruh nilai bin yang harmonic ke dalam vektor yang sesuai, namun mencari nilai maksimum dari nilainilai bin yang saling harmonic [10].
2.4 Hidden Markov Model
Hidden Markov Model merupakan model statistic Markov di mana system diasumsikan sebagai sebuah proses Markov dengan state yang tidak dapat diamati. Hidden Markov model terdiri dari sejumlah state yang tetap S={s1,s2,...s N}. Deskripsi dari sebuah hidden Markov Model adalah sebagai berikut: N = jumlah state T = jumlah observasi i=1..N
= parameter emisi untuk sebuah observasi yang berhubungan dengan state i
i=1..N,j=1..N =
probabilitas transisi dari state i ke state j
xt=1..t = state dari sebuah observasi pada waktu t yt=1..t = observasi pada waktu t
Yang dimaksud dengan hidden atau tersembunyi pada Hidden Markov Model adalalah kita tidak dapat melihat secara langsung urutan state yang terjadi pada sebuah peristiwa. Kita hanya dapat melihat output dari kejadian yang bergantung kepada state-state yang ada dalam model tersebut.
Setiap state memiliki probabilitas transisi menuju ke state lain atau menuju ke state itu sendiri. Beberapa pendekatan telah digunakan dalam menentukan probabilitas transisi ini. Yang pertama dan paling sering digunakan yaitu dengan proses training menggunakan algoritma ExpectationMaximization. Metode lain yang dapat digunakan adalah dengan proses training menggunakan chord sequence label dari sebuah lagu. Selanjutnya, yang akan digunakan dalam penelitian ini adalah metode Double Nested Perfect Fifth Circle[1].
Pada metode Double Nested Perfect Fifth Circle, double nested perfect fifth circle, seperti terlihat pada gambar , digunakan sebagai dasar perhitungan probabilitas transisi chord. Perfect fifth circle merupakan sebuah diagram yang menunjukkan kekuatan hubungan antara nada atau chord (mayor atau minor) dalam teori musik. Semakin pendek garis antara chord, maka semakin besar kekuatan hubungan di antara keduanya.
Untuk distribusi probabilitas state awal, karena tidak ada alasan kuat untuk menentukan preferensi terhadap chord yang muncul di awal lagu, maka diasumsikan probabilitas awal dari setiap state adalah 1/N di mana N adalah jumlah state yang ada.
Observasi dalam Hidden Markov Model dapat berbentuk diskrit atau kontinu. Untuk observasi yang berbentuk diskrit, biasanya bersifat kategorikal, seperti contohnya y
∈ {cerah, hujan,
mendung} yang berarti kemungkinan dari observasi hanya terbatas kepada 3 kondisi tersebut.
Sedangkan pada kasus pengenalan chord, chroma vector berperan sebagai observasi, di mana jumlah observasi yang mungkin terjadi pada sebuah frame jumlahnya tidak terbatas. Untuk itu diperlukan sebuah penanganan khusus untuk menentukan probabilitas observasi. Beberapa metode digunakan dalam berbagai penelitian salah satunya adalah dengan algoritma ExpectationMaximation. Metode lainnya yaitu menggunakan pseudo probability dengan mencari dot product antara chroma vector dengan chord template pada setiap state di HMM, dan kemudian dilakukan normalisasi supaya total nilai dari matriks tersebut adalah 1. 2.5 Algoritma Viterbi
Algoritama Viterbi adalah algoritma yang digunakan untuk menentukan urutan state dari sebuah peristiwa pada Hidden Markov Model berdasarkan pada observasi yang dilakukan. Output dari Algoritma Viterbi ini adalah urutan state yang memiliki probab ilitas tertinggi untuk terjadi berdasarkan pada observasi yang dilakukan.
Algoritma Viterbi bekerja dengan cara sebagai berikut. Diasumsikan kita memiliki sebuah Hidden Markov Model dengan ruang state S, probabilitas awal
untuk mulai di state i, dan
untuk transisi dari state i menuju state j. Katakanlah melakukan observasi terhadap maka urutan yang paling mungkin untuk menhasilkan observasi
probabilitas transisi
tersebut dapat dicari dengan
|
|∈ ( ) Di mana
merupakan probabilitas dari urutan yang paling mun gkin terjadi pada sejumlah t
observasi pertama yang memiliki k sebagai final state.
3. PERANCANGAN SISTEM 3.1. Overview Sistem dan Requirement
Secara umum, system pengenalan chord ini terbagi ke dalam 2 bagian utama, yaitu ekstraksi feature dan pengenalan chord. Dalam melakukan ekstraksi chroma feature, akan digunakan MIR Toolbox atau Chroma Toolbox[6] sebagai alat bantu. Program akan dibangun dengan menggunakan Matlab dan akan dijalankan pada notebook dengan prosesor Intel® Core™ i3 Processor 370M : 2.4 GHz.
Sistem ini tidak membutuhkan training seperti system pengenalan chord lain yang berbasis Hidden Markov Model. Sebagai kompensasi atas tidak adanya proses training, pengetahuan kognitif tentang music menjadi bahan acuan untuk menentukan probabilitas transisi state dan probabilitas emisi. 3.2 Pemodelan
Seperti yang telah disebutkan pada bagian pendahuluan, Hidden Markov model akan digunakan dalam system ini untuk memodelkan masalah pengenalan chord. Chord yang akan dikenali berjumlah 24 buah yang dapat dilihat pada tabel.
3.2.1 State
Model ini akan menggunakan 24 buah state yang masing-masing mewakili setiap chord, ditambah satu state yang mewakili kondisi diam. Diasumsikan bahwa setiap chord memiliki kemungkinan untuk melakukan transisi ke chord manapun, termasuk ke dirinya sendiri, sehingga terdapat state transition Matrix A akan berukuran 24x24.
ROOT MAYOR MINOR C
Cmaj
Cmin
C#
C#maj
C#min
D
Dmaj
Dmin
D#
D#maj
D#min
E
Emaj
Emin
F
Fmaj
Fmin
F#
F#maj
F#min
G
Gmaj
Gmin
G#
G#maj
G#min
A
Amaj
Amin
A#
A#maj
A#min
B
Bmaj
Bmin
Tabel di atas menunjukkan chord mana saja yang akan menjadi state dalam Hidden Markov Model.
Setiap state memiliki chord template. Chord template[9] adalah chroma vector yang ideal untuk dapat direferensikan kepada satu dari banyak chord yang ada. Chord template ini berbentuk vektor berdimensi 1x12 di mana setiap bagian mewakili pitch class dan bernilai 1 untuk pitch yang termasuk ke dalam triad chord tersebut dan yang lainnya bernilai 0. Sebagai contoh, chord template untuk chord C mayor adalah [100010010000]. Di sini chord template C mayor menunjukkan bahwa tingkat energy yang tinggi pada pitch class C, E, dan G dibutuhkan .
Pada penelitian ini, seperti yang telah dijelaskan sebelumnya, akan digunakan metode perfect fifth circle untuk menentukan probabilitas transisi state. Probabilitas transisi dari masing-masing chord ditentukan dengan formula:
merupakan probabilitas transisi dari state i ke state j, merupakan konstanta nonnegatif, dan merupakan sebuah fungsi yang menggunakan nomor state di mana terjadi Di mana
transisi , i dan j, kemudian nilai antara 0 sampai 12 sesuai dengan nilai jarak antara chord I dan chord j pada double nested perfect fifth circle dikurangi dengan 12. Sebagai contoh, jarak antara C# dan F adalah 0, karena
.
Chord
C C # m m a a j j
D m a j
1
Cmaj
0 5
2
3
4 1 6 1
4
3 2 5 4 3 6 1 6 3 4 5 2 7 2 5
2
C#maj
5 0
5
2
3 4 1 6
1
4 3 2 5 4 3 6 1 6 3 4 5 2 7 2
3
Dmaj
2 5
0
5
2 3 4 1
6
1 4 3 2 5 4 3 6 1 6 3 4 5 2 7
4
D#maj
3 2
5
0
5 2 3 4
1
6 1 4 7 2 5 4 3 6 1 6 3 4 5 2
5
Emaj
4 3
2
5
0 5 2 3
4
1 6 1 2 7 2 5 4 3 6 1 6 3 4 5
6
Fmaj
1 4
3
2
5 0 5 2
3
4 1 6 5 2 7 2 5 4 3 6 1 6 3 4
7
F#maj
6 1
4
3
2 5 0 5
2
3 4 1 4 5 2 7 2 5 4 3 6 1 6 3
8
Gmaj
1 6
1
4
3 2 5 0
5
2 3 4 3 4 5 2 7 2 5 4 3 6 1 6
9
G#maj
4 1
6
1
4 3 2 5
0
5 2 3 6 3 4 5 2 7 2 5 4 3 6 1
10
Amaj
3 4
1
6
1 4 3 2
5
0 5 2 1 6 3 4 5 2 7 2 5 4 3 6
11
A#maj
2 3
4
1
6 1 4 3
2
5 0 5 6 1 6 3 4 5 2 7 2 5 4 3
12
Bmaj
5 2
3
4
1 6 1 4
3
2 5 0 3 6 1 6 3 4 5 2 7 2 5 4
13
Cmin
4 3
6
1
6 3 4 5
2
7 2 5 0 5 2 3 4 1 6 1 4 3 2 5
14
C#min
5 4
3
6
1 6 3 4
5
2 7 2 5 0 5 2 3 4 1 6 1 4 3 2
15
Dmin
2 5
4
3
6 1 6 3
4
5 2 7 2 5 0 5 2 3 4 1 6 1 4 3
No
D # m a j
E m a j
F F # m m a a j j
G m a j
G # m aj
A A # B m m m a a a j j j
C m i n
C # m i n
D m i n
D # m i n
E m i n
F m i n
F # m i n
G m i n
G # m i n
A m i n
A # m i n
B m i n
16
D#min
7 2
5
4
3 6 1 6
3
4 5 2 3 2 5 0 5 2 3 4 1 6 1 4
17
Emin
2 7
2
5
4 3 6 1
6
3 4 5 4 3 2 5 0 5 2 3 4 1 6 1
18
Fmin
5 2
7
2
5 4 3 6
1
6 3 4 1 4 3 2 5 0 5 2 3 4 1 6
19
F#min
4 5
2
7
2 5 4 3
6
1 6 3 6 1 4 3 2 5 0 5 2 3 4 1
20
Gmin
3 4
5
2
7 2 5 4
3
6 1 6 1 6 1 4 3 2 5 0 5 2 3 4
21
G#min
6 3
4
5
2 7 2 5
4
3 6 1 4 1 6 1 4 3 2 5 0 5 2 3
22
Amin
1 6
3
4
5 2 7 2
5
4 3 6 3 4 1 6 1 4 3 2 5 0 5 2
23
A#min
6 1
6
3
4 5 2 7
2
5 4 3 2 3 4 1 6 1 4 3 2 5 0 5
24
Bmin
3 6
1
6
3 4 5 2
7
2 5 4 5 2 3 4 1 6 1 4 3 2 5 0
3.2.2 Observasi
Observasi yang dilakukan adalah dengan melihat kepada chroma vector pada per frame. Untuk setiap satuan waktu t, kita menghitung korelasi antara chroma vector pada observasi terhadap setiap chord template dengan melakukan
Kemudian 24 nilai
|
|dinormalisasikan sehingga
3.2.2 Observasi
Observasi yang dilakukan adalah dengan melihat kepada chroma vector pada per frame. Untuk setiap satuan waktu t, kita menghitung korelasi antara chroma vector pada observasi terhadap setiap chord template dengan melakukan
Kemudian 24 nilai
|
|dinormalisasikan sehingga
∑|
Sehingga kita mendapatkan nilai probabilitas dari chroma vector untuk selanjutnya digunakan dalam mencari urutan chord terbaik dengan algoritma Viterbi. 3.2.3 Probabilitas awal
Probabilitas awal digunakan dalam algoritma Viterbi sebagai input untuk menentukan langkah awal / chord pertama yang akan dipilih, disamping probabilitas emisi dari frame pertama. Diasumsikan bahwa setiap chord memiliki kemungkinan yang sama untuk menjadi awal dari sebuah lagu, sehingga probabilitas awal bagi setiap state sama, sehingga
3.3 Ekstraksi Chromagram
Untuk proses ekstraksi chromagram, pertama-tama inputan berupa file dengan format .mp3 dikonversi ke dalam bentuk .wav. Selanjutnya dengan bantuan MIRToolbox, file ini diubah menjadi potongan-potongan kecil dalam satuan waktu 100 ms, yang selanjutnya kita sebut dengan frame. Dari bentuk waveform, file diubah ke dalam 88 spectral bin yang masing-masing mewakili sebuah nada.
Kemudian pada setiap bin, dilakukan proses kompresi logaritmik dengan mengganti nilai tiap spectral bin, yaitu e, dengan nilai
di mana merupakan sebuah konstanta non-
negatif yang berfungsi sebagai parameter kompresi dari nilai bin.
Selanjutnya, dibentuk chroma vector dengan ukuran 1x12 di mana masing-masing elemennya merupakan nilai dari penjumlahan nada-nada yang saling harmonik. Sebagai contoh, untuk elemen pertama merupakan jumlah total energy dari nada C1 sampai dengan C8. 3.4 Viterbi Decoding
Pada proses terakhir ini akan dilakukan proses pengenalan chord dengan menghasilkan urutan chord dari sebuah lagu sebuah. Cara kerja algoritma Viterbi, seperti yang telah dijelaskan pad a bab 2, adalah dengan menghitung probabilitas dari urutan chord yang paling mungkin dari t=1 sampai dengan t. Terminasi proses terjadi pada saat frame terakhir digunakan sebagai observasi.
3.5 MIRToolbox MIRToolbox merupakan salah satu dari dua tool matlab yang digunakan penulis dalam penelitian ini. Tool ini merupakan tool yang digunakan dalam penelitian mengenai music information retrieval . Fungsionalitas yang dipakai oleh penulis dalam tool ini adalah fungsi untuk mencari tempo dari sebuah lagu. Dikarenakan kebutuhan memori yang sangat besar, matlab sering mengalami out of memory error dalam menggunakan tool ini. Di samping itu, karena proses pencarian tempo dari sebuah lagu memakan waktu yang cukup lama, fungsionalitas ini hanya digunakan pada system pengenalan chord ini hanya pada kali pertama. Setelah tempo dari sebuah lagu didapatkan, selanjutnya akan disimpan ke dalam sebuah file berformat txt untuk kemudian dipanggil kembali pada proses pengenalan chord selanjutnya untuk lagu tersebut.
3.6 ChromaToolbox Chroma toolbox juga merupakan tool yang digunakan dalam penelitian mengenai music information retrieval. Namun tool ini tidaklah selengkap MIRToolbox, tool ini hanya berfokus pada pencarian chroma vector dari sebuah lagu, sebuah fungsionalitas yang sebenarnya juga dimiliki oleh MIRToolbox. Penulis memilih menggunakan chroma toolbox dalam penelitian ini untuk mencari nilai dari chroma vector karena tool ini cenderung mengkonsumsi lebih sedikit memory dibandingkan dengan MIRToolbox dan selama penelitian berlangsung, tool ini tidak pernah mengalami error out of memory. Selain itu, struktur toolbox ini lebih sederhana dibandingkan dengan MIRToolbox yang lebih kompleks, sehingga memudahkan penulis untuk memodifikasi dan mengaplikasikannya dalam system pengenalan chord pada penelitian ini.
4.
PENGUJIAN DAN ANALISA
4.1
SKEMA PENGUJIAN
Pengujian terhadap system pengenalan chord didasarkan pada tujuan dari penelitian ini, yaitu untuk mengetahui pengaruh penggunaan chroma log pitch feature dalam peningkatan performa dalam system pengenalan chord berbasis untrained hidden markov model. Tujuan berikutnya yaitu untuk mengetahui apakah penerapan pengetahuan tentang music, dalam hal ini perfect fifth circle, dapat memberikan performansi yang baik p ada system pengenalan chord berbasis untrained hidden markov model ini. 4.1.1
BAHAN PENGUJIAN
Bahan pengujian pada penelitian ini adalah output dari system pengenalan chord berbasis untrained hidden markov model, yang berupa chord sekuens dari 10 lagu yang digunakan sebagai sampel pengujian. Chord sekuens dari masing-masing lagu selanjutnya disimpan dalam sebuah file berformat .txt yang dalam tiap barisn ya memiliki dua variable, yaitu urutan frame dan state yang dikenali. 4.1.2
METODE PENGUJIAN
Pengujian terhadap output dari system pengenalan chord berbasis untrained hidden markov model ini dilakukan dengan cara mencocokkan state yang terdapat dalam file berformat .txt yang merupakan output dari system pengenalan chord berbasis untrained hidden markov model ini dengan anotasi chord lagu yang ditulis secara manual oleh penulis. Anotasi chord lagu ini memiliki format yang sama den gan file .txt yang digunakan sebagai bahan pengujian, yaitu setiap barisnya memiliki dua variable berupa urutan frame dan state yang dikenali. Anotasi chord ini ditulis secara manual oleh penulis dengan cara mengamati mengamati
perubahan state secara frame-per-frame. Hal ini dimungkinkan dengan bantuan software audacity yang memutar lagu beserta ketukan tempo yang telah disesuaikan terlebih dahulu dengan tempo lagu sebenarnya yang akan ditulis anotasinya. State yang terdapat dalam penulisan anotasi ini sama dengan state yang dimungkinkan dalam system pengenalan chord berbasis untrained hidden markov model pada penelitian ini. Terdapat 25 state yang 24 di antaranya merupakan state chord dan 1 state diam. Berikut adalah indeks dari state yang digunakan dalam anotasi chord: INDEKS STATE 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
STATE Silence C Major C# Major D Major D# Major E Major F Major F# Major G Major G# Major A Major A# Major B Major C Minor C# Minor D Minor D# Minor E Minor F Minor F# Minor G Minor G# Minor A Minor A# Minor B Minor
DAFTAR PUSTAKA
[1]
J.P. Bello dan J. Pickens. A Robust Mid-level Representation for Harmonic Content in music using chroma-based Representation. IEEE Transactions on Multimedia, 7(1):96-104, Feb. 2005
[2]
C. Harte dan M. Sandler. Automatic chord identification using a quantized chromagram. th Proceedings of the 118 AES Convention, Barcelona, Spain 2005.
[3]
N. Jiang dkk. Analyzing Chroma Feature Types for Automated Chord Recognition, AES nd 42 International Conference, Ilmenau, Germany, Jul. 2011
[4]
K. Lee dan M. Slaney. Automatic Chord Recognition from Audio Using an HMM with Supervised Learning. 2007
[5]
A. Sheh dan D.P.W. Ellis. Chord segmentation and recognition using EM-trained hidden Markov models. Proceedings of International Conference on Music Information Retrieval (ISMIR), Baltimore, USA, 2003
[6]
M. Muller dan S. Ewert. Chroma Toolbox:Matlab Implementations for Extracting Variants of Chroma-Based Audio Features. ISMIR, Germany, 2011
[7]
K. Noland dan M. Sanders. Key Estimation Using a Hidden Markov Model. London, England 2007.
[8]
L. Oudre.Probabilistic Template-Based Chord Recognition. IEEE, 2010
[9]
H. Papadopoulos dan G. Peeters. Large-scale study of chord estimation algorithms based on chroma representation and HMM. Content-Based Multimedia Indexing (CBMI), hal. 53-60, 2007
[10] A.M. Stark dan M.D. Plumbley Real Time Chord Recognition for Live Performance. London, England 2009.