PERBANDINGAN METODE ZCR DAN AUTOCORRELATION UNTUK MENGHITUNG FREKUENSI PADA GAMBELAN GENDER WAYANG
on
Vol. 8, No. 2, September 2015
ISSN 1979-5661
Jurnal Ilmiah
ilmu Komputcr
Universitas Udayana
PERBANDINGAN METODE ZCR DAN AUTOCORRELATION
UNTUK MENGHITUNG FREKUENSI PADA GAMBELAN GENDER WAYANG
I Dewa Made Bayu Atmaja Darmawan Program Studi Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana Email: [email protected]
ABSTRAK
Suatu sinyal suara khususnya instrumen gamelan gender memiliki frekuensi yang berbeda disetiap bilahnya. Frekuensi ini membedakan tinggi rendahnya nada yang dihasilkan. Frekuensi dihitung untuk mengetahui karakteristik dari suatu bilah gender wayang yang merupakan bagian dari tahap pelarasan. Pada tulisan ini dilakukan pengujian terhadap dua metode yang umum digunakan yaitu ZCR dan Autocorrelation untuk menghitung frekuensi bilah gender wayang. Suara yang dihasilkan oleh gender wayang memiliki sinyal yang kompleks dan inhamoni. Inharmoni berarti sinyal ini disusun berdasarkan beberapa frekuensi dimana frekuensi-frekuensi tersebut tidak kelipatan dari frekuensi dasarnya. Pada pengujian yang dilakukan diketahui ZCR dan Autocorrelation mampu untuk menghitung frekuensi dari sinyal murni yang dibangkitkan berdasarkan frekuensi setiap bilah gender wayang. Namun, hanya Autocorrelation saja yang mampu untuk menghitung frekuensi yang baik dari sinyal bilah gender wayang dengan memiliki rata-rata selisih yang kecil, yaitu sebesar 3,3953 Hz.
Kata kunci: Frekuensi , Zero Crossing Rate (ZCR), Auto Correlation, Gender Wayang
ABSTRACT
Every gamelan gender blades have different frequencies. This distinguishes the high and low frequency tones produced. Frequency is calculated to determine the characteristics of a gender wayang blade which is part of the tunings stage. In this paper carried out the testing of two methods commonly used are ZCR and Autocorrelation to calculate the frequency of gender wayang blades. The sound produced by gender wayang has a complex signal and inhamony. Inharmony means the signal is based on several frequencies where these frequencies are not multiples of the fundamental frequency. According to the tests result, ZCR and Autocorrelation able to calculate the frequency of a pure signal, which generated by the frequency of each blade gender wayang. However, only Autocorrelation are able to calculate the frequency of a Gender Wayang signal with average difference is small about 3.3953 Hz.
Instrumen gambelan gender wayang adalah salah satu gamelan tradisional Bali yang masih banyak digunakan pada saat ini. Gamelan ini memiliki laras selendro yang berbeda dengan gamelan gong kebya. Pada laras selendro frekuensi interval antar nada hampir sama, hal ini mendekati dengan konsep instrumen moderen yang kita kenal saat ini. Sinyal pada bilah gender wayang bersifat inharmoni. Hal ini terlihat dari sebaran frekuensi harmoni yang terkandung dalam sinyal suara gender wayang tidak tepat kelipatan dari frekuensi dasarnya.
Pelarasan adalah sebuah upaya untuk menentukan suara yang sesuai dengan nada yang diinginkan. Salah satu yang mempengaruhi tinggi rendahnya suatu nada adalah frekuensi. Semakin tinggi frekuensi yang dimiliki suatu gelombang maka nada yang dihasilkan akan semakin tinggi, begitu juga sebaliknya. Oleh karena itu alat ukur frekuensi dapat digunakan untuk mengetahui apakah suatu alat musik atau gender wayang sudah memiliki nada yang sesuai atau tidak dari suara seharusnya berdasarkan frekuensi yang telah diketahui.
Metode yang dapat digunakan dalam menghitung frekuensi dari suatu sinyal suara adalah Zero Crossing Rate (ZCR) dan Autocorrelation. Kedua metode tersebut adalah metode yang umum
digunakan pada alat hitung frekuensi untuk melaraskan alat musik moderen seperti gitar, biola, dll. Tulisan ini akan menguji kedua metode tersebut untuk menghitung frekuensi sinyal gambelan gender wayang yang bersifat inharmoni dan memiliki gelombang kompleks.
Nada sederhana terdiri hanya dari sebuah frekuensi, namun nada kompleks yang pada umumnya merupakan nada yang terdengar terdiri dari beberapa frekuensi bagian. Nada kompleks dapat bersifat harmonis atau inharmonis. Nada harmonis adalah ketika semua frekuensi harmonis merupakan kelipatan integer dari frekuensi dasarnya (f0). Frekuensi dasar merupakan frekuensi terendah dari suatu sinyal yang dapat didengar oleh pendengaran manusia. Manusia dapat mendengar hanya pada spektrum frekuensi 20Hz hingga 20 kHz. Frekuensi harmonis pada bentuk sinyal ini dapat dihitung dengan menggunakan persamaan berikut:
fn = n fn (1)
dimana n = bilangan bulat sebagai nomer harmonis (misalnya: 1,2,3..,n)
Nada inhormanis adalah ketika frekuensi harmonis tidak tepat sama dengan kelipatan bilangan bulat dari frekuensi dasar. Frekuensi tersebut juga disebut sebagai frekuensi bagian. Alat musik yang menghasilkan nada ini contohnya adalah alat music petik atau pukul seperti piano, gitar dan gamelan. Frekuensi bagian pada nada inharmonis piano dapat dihitung sebagai akibat dari keberadaan koefisien inharmonis B, sebagai berikut[2]:
fn = n f0(1 + Bn2)0,5 (2)
B = π3 Qd4 / (64l2T) (3)
Timbre atau disebut juga sebagai warna suara adalah parameter yang digunakan untuk dapat membedakan suara dengan pitch dan amplitudo yang sama sebagai instrumen atau alat musik yang berbeda.
Gender adalah alat musik metalofon yang bilahnya dibuat dari bahan logam yaitu kerawang (perunggu), campuran antara tembaga dan timah. Bilah-bilah tersebut digantung di atas resonator bambu. Gender terdiri dari sepuluh buah bilah yang dipukul dengan alat pukul terbuat dari kayu yang disebut sebagai panggul. Gender terdiri dari beberapa macam sesuai dengan fungsinya. Gender pada gamelan Gong Kebyar meliputi giying (ugal), Pemade, Kantil, Jegogan, Jublag, dan Penyacah.
Selain pada gamelan gong kebyar, gender juga digunakan untuk mengiringi penampilan wayang kulit yang kemudian disebut sebagai gender wayang. Berbeda dengan gender pada gamelan gong kebyar yang dipukul dengan tangan kanan, gender wayang dipukul dengan menggunakan dua tangan.
Laras [3] gamelan bali adalah urutan nada-nada dalam satu oktaf yang sudah ditentukan tinggi rendah dan jarak nadanya. Gender wayang merupakan berjenis laras slendro lebih tepatnya laras slendro lima nada, berbeda dengan gamelan gong yang merupakan laras pelog. Seperti halnya pada laras pelog, laras slendro memiliki jarak interval yang berbeda-beda disetiap nadanya namun dengan interval yang hampir sama. Berikut ini adalah urutan nada-nada pada gender wayang dari nada terendah untuk lima nada pertama: ndong, ndeng, ndung, ndang, nding. Nada-nada tersebut diulang dengan frekuensi yang lebih tinggi untuk nada ke-6 hingga ke-10.
Gender wayang terdiri dari 4 jenis gender dengan jumlah bilah yang sama namun frekuensi yang berbeda. Jenis tersebut antara lain: Pemade pengumbang, Pemade pengisep, Kantil pengumbang, dan Kantil pengisep.
Gambar 1. Gender Wayang
Pada bagian ini akan diuraikan beberapa metode yang dapat digunakan untuk menghitung frekuensi dasar dari suatu sinyal. Pitch pada musik didefinisikan sebagai fitur perseptual yang hanya berkaitan terhadap bagaimana manusia mempersepsikan sinyal suara tersebut dan ditemukan sebelum manusia mengenal frekuensi dan konten spectral . Namun, metode mendeteksi pitch memiliki permasalahan yang sama yaitu menentukan frekuensi dasar (f0) yang merupakan frekuensi terendah dari sinyal suara. Oleh karena itu, metode mendeteksi pitch berkaitan dengan
menghitung frekuensi dasar (f0) pada suatu sinyal suara.
Zero Crossing Rate (ZCR) adalah salah satu jenis metode yang bekerja pada domain waktu. Pada konteks pewaktu sinyal diskrit, zero crossing terjadi ketika sample sebelumnya memiliki tanda aljabar yang berbeda dengan sample saat ini. Contohnya jika x adalah suatu sample sinyal, maka zero crossing terjadi ketika x[i] adalah bilangan positif dan x[i-1] adalah negative begitu juga kebalikannya. Metode Zero Crossing Rate (ZCR) dapat dilihat pada Gambar 2.
Gambar 2. Zero Crossings
ZCR kemudian dapat didefinisikan sebagai berikut [4]:
Zn = X ∣sgn[x(w)] - sgn[x(zw - 1)]∣w(m - m) .^ (4)
dimana,
flsx(w)>O
sgn[x(M)] = ^
[-15x(m)<0
dan
-^-for,0≤n≤N~l
υV0 = 2:V '
for k=1:n b= [b |
1/n]; | |
end; for k=2:n | ||
a= [a end; |
0]; | |
end |
envelope = |
filter(b,a,y); |
Gambar 3. Fungsi Envelope
Implementasi ZCR pada Matlab diperlihatkan pada Gambar. Sesuai dengan definisi dari ZCR implementasi dilakukan dengan menghitung terjadinya zero crossing ketika x1 dan x2 memiliki tanda aljabar yang berbeda. F0 adalah frekuensi dasar yang dihitung berdasarkan terjadinya zero crossing (zc).
x1 = GetEnvelope(x);
x1 = x1-mean(x1);
x2=zeros(length(x1),1);
x2(1:length(x)-1)=x1(2:length(x));
zc=length( find((x1>0 & x2<0) | (x1<0 &
x2>0)) );
F0=0.5*Fs*zc/length(x);
Gambar 4. Implementasi Fungsi ZCR
Metode Autocorrelation adalah metode yang umum digunakan untuk memperkirakan pitch (frekuensi dasar) berdasarkan pada nilai terbesar dari fungsi autocorrelation pada suatu rentang nilai. Autocorrelation mengacu pada hubungan dari serangkaian nilai time series antara nilai sebelumnya dengan nilai yang akan datang. Persepsi seseorang terhadap pitch dari suatu sinyal suara sangat berkaitan dengan periodik gelombang pada bentuk gelombang dalam domain waktu.
Statistical autocorrelation dari sebuah proses random sinusoidal adalah sebagai berikut:
0 for, otherwise
(6)

(7)
Implementasi dilakukan dengan menggunakan aplikasi Matlab. Sebelumnya sinyal yang diinputkan ke dalam matlab, diubah bentuknya menjadi envelope dengan menggunakan transformasi Hilbert. Hasil dari transformasi ini kemudian dihaluskan dengan menggunakan filter rerata bergerak. Ukuran window (n) yang digunakan adalah 50, dimana semakin besar nilai ini maka semakin halus envelope yang dihasilkan.
function envelope = GetEnvelope(wave)
y = abs(hilbert(wave));
n = 50;
b=[];
a=[1];
diberikan oleh:
.R[m] = £{x*[n]x[n + m]} = —cos(wom)
Dimana nilai maksimal untuk m = lT0 yang merupakan periode dan harmonisa dari suatu nada. Sehingga, periode nada dapat ditemukan dengan menghitung nilai terbesar dari hasil autocorrelation. Dalam prakteknya dilakukan perhitungan R^[m] dari N sample yang dimiliki. Fungsi Autocorrealtion diberikan sebagai berikut:

(9)
Implementasi Fungsi Autocorrelation berdasarkan pada Naotoshi Seo [5] yang dilakukan pada Matlab.
r = xcorr(wave, maxlag, 'coeff');
Perintah di atas asdalah pemanggilan fungsi autocorrelation pada matlab dimana wave adalah matriks sinyal suara berukuran Nx1 dan maxlag merupakan rentang lag yang diberikan yaitu meliputi –maxlag hingga maxlag, dengan nilai minimal adalah 1. Maxlag dihitung untuk mendapatkan F0 yang lebih besar dari 20Hz, sebagai berikut:
maxlag = fs/20;
Nilai r yang telah dihitung menggunakan fungsi xcorr kemudian dihitung nilai maksimal pada area antara periode 1ms (1000Hz) hingga 50ms (20Hz). Hal ini didasarkan pada frekuensi nada gamelan gender yang berada pada area tersebut.
% search for maximum between 1ms (=1000Hz) and 50ms (=20Hz)
ms2=floor(fs/1000); % 1ms
ms20=floor(fs/20); % 50ms
% half is just mirror for real signal
r = r(floor(length(r)/2):end);
[maxi,idx]=max(r(ms2:ms20));
f0 = fs/(ms2+idx-1);
Gambar 5. Kode Mencari nilai Autocorrelation
Dataset yang digunakan dalam pembahasan adalah menggunakan salah satu dari jenis gender wayang yaitu Pemade Pengumbang yang memiliki frekuensi paling rendah dibandingkan dengan 3 jenis gamelan gender lainnya. Gambar 1 memperlihatkan pengujian terhadap dataset yang memperlihatkan spektrum dari sinyal suara gamelan gender pada bilah pertama menggunakan aplikasi adobe audition.
Gambar 8. Analisis Frekuensi dengan Adobe Audition
Analisis memperlihatkan beberapa frekuensi harmoni yang menyusun sinyal suara tersebut. Kemudian diamati 5 frekuensi harmoni yang terkandung di dalam sinyal suara tersebut seperti yang diperlihatkan pada Tabel 1. Tabel 1 memperlihatkan frekuensi terkecil adalah pada bilah 1 dan paling tinggi adalah pada bilah 10.
Tabel 1. Frekuensi Harmoni Gender Wayang Pemade Pengumbang
No Bilah |
Nada |
Frekuensi (Hz) |
Bilah 1 |
ndong |
172,12 |
Bilah 2 |
ndeng |
195,73 |
Bilah 3 |
ndung |
229,14 |
Bilah 4 |
ndang |
267,13 |
Bilah 5 |
nding |
310,83 |
Bilah 6 |
ndong |
355,52 |
Bilah 7 |
ndeng |
412,52 |
Bilah 8 |
ndung |
472,81 |
Bilah 9 |
ndang |
541,18 |
Bilah 10 |
nding |
629,60 |
Pengujian pertama yang dilakukan adalah menguji metode ZCR dan Autocorrelation untuk dapat memperkirakan frekuensi dari suatu sinyal murni dengan 1 frekuensi. Sinyal tersebut dibangkitkan berdasarkan frekuensi dari setiap bilah gender yang telah diketahui pata Tabel 1. Gambar 9 memperlihatkan contoh sinyal murni yang memiliki frekuensi sebesar 172,12.
Gambar 9. Sinyal Murni Frekuensi 172,12 Hz
Tabel 2 dan Tabel 3 memperlihatkan hasil pengujian metode ZCR metode Autocorrelation dalam memperkirkan frekuensi yang dimiliki oleh sinyal murni. Berdasarkan kedua tabel tersebut diketahui bahwa ZCR mampu memprediksi frekuensi dari sinyal uji dengan selisi rata-rata sebesar 4,5476 Hz dan metode Autocorrelation menghasilkan selisih rata-rata sebesar 9,8811 Hz.
Tabel 2. Pengujian ZCR pada Sinyal Murni
No Bilah |
Nada |
Frekuensi |
Selisih | |
Gender |
ZCR | |||
Bilah1 |
ndong |
172.12 |
172.25 |
0.128 |
Bilah2 |
ndeng |
195.73 |
195.75 |
0.0178 |
Bilah3 |
ndung |
229.14 |
229.25 |
0.1074 |
Bilah4 |
ndang |
267.13 |
267.25 |
0.117 |
Bilah5 |
nding |
310.83 |
310.87 |
0.0415 |
Bilah6 |
ndong |
355.52 |
310.87 |
44.649 |
Bilah7 |
ndeng |
412.52 |
412.50 |
0.0247 |
Bilah8 |
ndung |
472.81 |
472.87 |
0.0596 |
Bilah9 |
ndang |
541.18 |
541.37 |
0.1889 |
Bilah10 |
nding |
629.60 |
629.74 |
0.1429 |
Rata-rata |
4.5476 |
Tabel 3. Pengujian Autocorrelation pada Sinyal Murni
No Bilah |
Nada |
Frekuensi |
Selisi h | |
Gender |
Auto Correlatio n | |||
Bilah1 |
ndon g |
172.12 |
171.85 |
0.266 1 |
Bilah2 |
ndeng |
195.73 |
195.08 |
0.651 9 |
Bilah3 |
ndun g |
229.14 |
227.84 |
1.300 3 |
Bilah4 |
ndang |
267.13 |
264.87 |
2.258 7 |
Bilah5 |
nding |
310.83 |
307.46 |
3.373 3 |
Bilah6 |
ndon g |
355.52 |
307.46 |
48.06 3 |
Bilah7 |
ndeng |
412.52 |
405.18 |
7.343 3 |
Bilah8 |
ndun g |
472.81 |
464.21 |
8.599 5 |
Bilah9 |
ndang |
541.18 |
531.33 |
9.854 7 |
Bilah1 0 |
nding |
629.60 |
612.50 |
17.1 |
Rata-rata |
9.881 1 |
Gambar 10 memperlihatkan sinyal suara pada gamelan gender wayang bilah 1. Nilai selisih rata-rata pengujian dengan menggunakan metode ZCR adalah sebesar 246,3 Hz. Sebaliknya, metode Autocorrelation memperlihatkan hasil yang baik dengan selisih rata-rata sebesar 3,3953 Hz.
Gambar 10. Sinyal Suara Gender Wayang Pemade Bilah 1
Tabel 4. Pengujian ZCR pada Sinyal Gender Wayang Pemade Pengumbang
No Bilah |
Nada |
Frekuensi (Hz) |
Selisih | |
Gender |
ZCR | |||
Bilah1 |
ndong |
172.12 |
156.36 |
15.761 |
Bilah2 |
ndeng |
195.73 |
46.11 |
149.62 |
Bilah3 |
ndung |
229.14 |
103.93 |
125.21 |
Bilah4 |
ndang |
267.13 |
63.68 |
203.45 |
Bilah5 |
nding |
310.83 |
125.18 |
185.65 |
Bilah6 |
ndong |
355.52 |
182.54 |
172.98 |
Bilah7 |
ndeng |
412.52 |
119.21 |
293.31 |
Bilah8 |
ndung |
472.81 |
118.92 |
353.89 |
Bilah9 |
ndang |
541.18 |
113.01 |
428.17 |
Bilah10 |
nding |
629.60 |
94.69 |
534.91 |
Rata-rata |
246.3 |
Pengujian berikutnya adalah menguji pada sinyal dataset gender wayang. Tabel 4 dan Tabel 5 memperlihatkan hasil pengujian pada sinyal gender wayang. Tidak seperti pada pengujian dengan sinyal murni, metode ZCR tidak mampu untuk menghitung frekuensi dasar dari sinyal inharmoni gender wayang yang membentuk sinyal kompleks.
Tabel 5. Pengujian Autocorrelation pada Sinyal Gender Wayang Pemade Pengumbang
No Bilah |
Nada |
Frekuensi (Hz) |
Selisih | |
Gender |
Auto Correlation | |||
Bilah1 |
ndong |
172.12 |
181.45 |
9.3316 |
Bilah2 |
ndeng |
195.73 |
195.76 |
0.0321 |
Bilah3 |
ndung |
229.14 |
229.50 |
0.3573 |
Bilah4 |
ndang |
267.13 |
264.76 |
2.371 |
Bilah5 |
nding |
310.83 |
312.32 |
1.4946 |
Bilah6 |
ndong |
355.52 |
353.88 |
1.6417 |
Bilah7 |
ndeng |
412.52 |
409.42 |
3.0966 |
Bilah8 |
ndung |
472.81 |
468.29 |
4.5173 |
Bilah9 |
ndang |
541.18 |
536.31 |
4.8672 |
Bilah10 |
nding |
629.60 |
623.36 |
6.2438 |
Rata-rata |
3.3953 |
Proceedings of the IEEE,74(11):1477–1493, November 1986.
-
[ 5] Naotoshi Seo, ENEE632 Project4 Part I: Pitch Detection,
http://note.sonots.com/SciSoftware/Pitch.ht ml
Metode ZCR dan autocorrelation merupakan metode yang dapat memperhitungkan frekuensi dari suatu sinyal suara. ZCR adalah metode yang sederhana dan mampu untuk memperhitungkan frekuensi sinyal murni dengan baik. Namun, tidak mampu untuk menghitung dengan benar frekuensi yang dimiliki oleh suatu sinyal kompleks pada kasus yang dicoba adalah pada sinyal suara gender wayang. Metode autocorrelation mampu untuk menghitung frekuensi dari suatu sinyal baik itu sinyal murni ataupun sinyal kompleks dari suara gender wayang dengan selisih rata-rata yang kecil sebesar 3,3953 Hz. Oleh karena itu metode ini dapat digunakan untuk menghitung nilai frekuensi dari suatu instrumen musik terutama gamelan.
Pada tulisan ini telah dijelaskan metode untuk menghitung frekuensi dominan dari suatu sinyal. Penelitian berikutnya yang dapat dilakukan adalah menguji frekuensi harmoni dari suatu sinyal. Frekuensi harmoni digunakan untuk membedakan suatu sumber suara dengan suara lainnya meskipun memiliki frekuensi dominan yang sama. Oleh karena itu baik digunakan untuk melaraskan suatu instrumen musik.
-
[1] Rauhala, J. dan Välimäki, V., “F0 estimation of inharmonic piano tones using partial frequencies deviation method,” accepted for publishing in International Computer Music Conference, Copenhagen, 2007.
-
[2] Bandem, I M, 2013, Gamelan Bali di Atas Panggung Sejarah, BP Stikom Bali: Bali.
-
[3] Macleod, M.D., 1998, Fast Nearly ML Estimation of the Parameters of Real or Complex Single Tones or Resolved Multiple Tones, IEEE Transactions on Signal Processing, Vol. 46, No.1 January 1998.
-
[4] Benjamin Kedem. Spectral analysis and discrimination by zero-crossings.
Discussion and feedback