• Tidak ada hasil yang ditemukan

II TINJAUAN PUSTAKA

2.6 Ekstraksi Ciri

Tahap pertama dalam sistem klasifikasi, seperti yang ditunjukkan dalam Gambar 3, adalah penting bagi akurasi sistem klasifikasi. Vektor ciri y, yang merupakan komposisi dari beberapa ciri harus sediskriminatif mungkin dari kelas yang bersangkutan. Idealnya, vektor ciri harus dapat memisahkan seluruh sampel dari kelas-kelas yang berbeda.

Gambar 3. Sistem dasar klasifikasi (Andersson 2004)

y

Pengklasifikasi Ekstraksi Ciri

Pengamatan Vektor Ciri

Bagaimana vektor ciri y dibentuk adalah penting bagi akurasi klasifikasi. Vektor ciri yang dibentuk secara efektif memudahkan pengklasifikasian dan juga memudahkan perancangan pengklasifikasi. Oleh karena itu, ciri apa yang akan diekstrak tergantung dari konteks.

Adapun tujuan dari ekstraksi ciri (feature extraction) adalah untuk mengurangi jumlah data yang sebenarnya dengan melakukan pengukuran terhadap properti atau ciri tertentu yang membedakan pola masukan (input) yang satu dengan yang lainnya (Duda et al. 2001).

Dalam sistem klasifikasi musik, ciri diekstrak oleh algoritma pemproses sinyal untuk mendapatkan informasi diskriminatif sebanyak mungkin dari tahap pengamatan. Ciri yang sering dipakai dalam penelitian sitem klasifikasi musik seperti pada penelitian Costa et al. (2004), Tzanetakis et al. (2002), dan Norowi et al. (2005) adalah Mel-Frequency Cepstral Coefficents (MFCC).

Ciri MFCC menghitung koefisien cepstral dengan mempertimbangkan persepsi sistem pendengaran manusia terhadap frekuensi suara.

Gambar 4. Ilustrasi dari perhitungan MFCC

Diagram alir yang terlihat pada Gambar 4 mengilustrasikan langkah-langkah dalam menghitung MFCC dari sinyal audio mentah menjadi ciri MFCC. Sinyal audio dibaca frame demi frame, dan dilakukan windowing untuk setiap frame untuk berikutnya dilakukan transformasi Fourier. Dari nilai hasil transformasi Foruier ini selanjutnya dihitung spektrum mel menggunakan sejumlah filter yang dibentuk sedemikian sehingga jarak antar pusat filter adalah konstan pada ruang frekuensi mel. Dari literatur yang ada, skala mel ini dibentuk untuk mengikuti persepsi sistem

Hamming Window Dicsrete Fourier Transform Mel-Frequency Wrapping Dicsrete Cosine Transform Sinyal Ciri MFCC

12

pendengaran manusia yang bersifat linear untuk frekuensi rendah dan logaritmik untuk frekuensi tinggi, dengan batas pada nilai frekuensi akustik sebesar 1000 Hz. Proses ini dikenal dengan nama Mel-Frequency Wrapping. Koefisien MFCC merupakan hasil transformasi kosinus dari spektrum mel tersebut, dan dipilih K koefisien. Transformasi kosinus berfungsi untuk mengembalikan domain, dari frekuensi ke domain waktu (Buono 2009).

Setelah menerapkan window Hamming pada frame, maka langkah berikutnya untuk menghitung MFCC adalah sebagai berikut :

a. Discrete Fourier Transform (DFT)

DFT merupakan analisis sinyal suara yang berkaitan dengan sinyal periodik-diskret, yaitu sinyal diskret yang dapat diperlebar tanpa batas ke kiri dan ke kanan, dengan pola yang berulang.

Pada analisis sinyal digital, dilakukan sampling sinyal sebanyak N. Anggap bahwa sampel ini sebagai satu periode dan dapat diduplikasi terus-menerus ke kiri dan ke kanan, sehingga dapat dianalisis dengan menggunakan DFT. DFT mentransformasikan N titik sinyal sebagai input menjadi N/2+1 titik sinyal output, seperti yang diilustrasikan pada Gambar 5.

Gambar 5. Ilustrasi transformasi DFT (Buono 2009)

Time Domain Frequency Domain

0 N-1 N sampel Dari x[0] s.d. x[N-1] Decomposition Analysis Forward DFT DFT Re X[ ] 0 N/2 N/2+1 sampel Cosine Wave amplitudes Dari Re X[0] s.d. Re X[N/2] x[ ] Im X[ ] 0 N/2 N/2+1 sampel Sine Wave amplitudes Dari Im X[0] s.d. Im X[N/2]

Secara bersama dinotasikan X[ ] Synthesis

Notasi untuk domain frekuensi adalah Re X[k] dan Im X[k] untuk k [0,N/2] atau Re X[f] dan Im X[f] untuk f=k/N atau f [0, 0,5]. Hal ini dikarenakan sinyal diskret hanya mengandung frekuensi antara 0 dan 0,5 dari sampling rate. Atau bisa juga Re X[] dan Im X[] untuk

=2πk/N [0, π]. Oleh karena itu, gelombang kosinus pada domain

frekuensi tersebut bisa dituliskan sebagai berikut :

c[n] = cos(2πkn/N) = cos(2πfn) = cos(n) (9) Fungsi basis (basis function) dalam DFT adalah gelombang sinus dan kosinus dengan amplitudo satu. Fungsi basis ini dituliskan dengan rumus sebagai berikut :

ck[i] = cos(2πki/N) dan sk[i] = sin(2πki/N) (10) untuk i = 0, 1, 2, ..., N-1, dan k = 0, 1, 2, ..., N/2 (dalam hal ini k adalah banyaknya gelombnag pada N sampel). Sebagai contoh untuk 32 titik sampel, DFT direpresentasikan dengan basis gelombang sinus dan kosinus masing-masing sebanyak 17 buah, yaitu untuk k = 0, 1, 2, ..., 16. Dalam hal ini sinyal dalam domain waktu dapat dirumuskan sebagai penjumlahan terboboti dari fungsi basis dengan formula :

[ ] ∑ ̅ [ ] ⁄ ∑ ̅ [ ] ⁄ (11) dengan i = 0, 1, 2, ..., N-1 yang disebut persamaan sintesa. Sinyal sampel sebanyak N titik dibentuk oleh N/2+1 gelombang kosinus dan N/2+1 gelombang sinus dengan amplitudo untuk kosinus dan sinus masing-masing adalah array ̅[ ] dan ̅[ ], yang dalam hal ini :

̅[ ] [ ] dan ̅ [ ] [ ]

(12) Sedangkan untuk k = 0 dan k = N/2, bagian real adalah :

̅[ ] [ ] dan ̅[ ⁄ ] [ ⁄ ] (13) Nilai-nilai DFT untuk k = 0, 1, 2, ..., N/2 dihitung dari sinyal input dengan rumus sebagai berikut :

[ ] ∑ [ ] ⁄

(14)

[ ] ∑ [ ] ⁄

14

Yang disebut sebagai persamaan analisis. Ada kalanya array dalam domain frekuensi direpresentasikan dengan koordinat polar. Dalam koordinat polar, pasangan [ ] dan [ ] digantikan oleh pasangan magnitudo, Mag [ ], dan fase X[k].

Gambar 6. Ilustrasi fase X[k]

Berdasarkan ilustrasi pada Gambar 6, maka domain frekuensi dapat dirumuskan sebagai berikut :

Mag X[k] = (Re X[k]2 + Im X[k]2)1/2 dalam amplitudo Fase X[k] = arctan [ ]

[ ] dalam radian Juga sebaliknya :

Re X[k] = Mag X[k] cos(Fase X[k]) Im X[k] = Mag X[k] sin(Fase X[k])

Oleh karena itu, sinyal input dalam domain waktu dapat ditransformasikan menjadi domain frekuensi melalui analisis DFT, baik dalam bentuk komponen real dan imajiner, maupun dalam bentuk koordinat polar (magnitudo dan fase) tanpa mengubah informasi yang terkandung dalam sinyal. Secara umum ada tiga cara untuk menghitung DFT, yaitu mealui persamaan simultan, korelasi dan algoritma FFT. Dengan algoritma FFT, kompleksitas menjadi rendah dari n2 menjadi n*log2(n).

b. Mel-Frequency Wrapping dan Transformasi Kosinus

Untuk proses wrapping, diperlukan beberapa filter yang saling overlap dalam domain frekuensi. Filter yang digunakan adalah berbentuk segitiga dengan tinggi satu dan rentang filter segitiga tersebut ditentukan berdasarkan hasil studi psikologi mengenai persepsi manusia dalam menerima frekuensi bunyi.

B

A M

θ

A cos (x) + B sin (x) = M cox (x+θ) M = (A2+B2)1/2

Θ = arctan (B/A) A = M cos (θ) dan B = M sin (θ)

Dari studi psikologi, telinga manusia mempunyai persepsi terhadap frekuensi suara secara tidak linear pada frekuensi di atas 1000 Hz. Ukuran persepsi ini dinyatakan dalam skala mel (melody). Hubungan skala mel dengan frekuensi yang dirumuskan oleh Nilsson dan Ejnarsson (2002) adalah sebagai berikut :

{

(16)

Dan diilustrasikan seperti pada Gambar 7. Dari formula di atas, maka nilai frekuensi (FHz) sebagai fungsi dari skala mel adalah :

( ) (17)

Gambar 7. Grafik hubungan frekuensi dengan skala mel

Terlihat bahwa untuk frekuensi rendah, filter yang digunakan menggunakan skala linear, sehingga lebarnya konstan. Sedangkan untuk frekuensi tinggi (>1000 Hz), filter dibentuk dengan skala logaritma.

Sesuai dengan perkembangannya, teknik MFCC mengalami beberapa variasi terutama dalam bentuk filter dan jumlahnya. Bentuk filter mengalami perubahan dalam hal tinggi, sedangkan bentuk yang digunakan

0 500 1000 1500 2000 2500 0 1000 2000 3000 4000 5000 S k al a M e l Frekuensi Akustik (Hz) linear ( )

16

tetap segitiga dengan jumlah 20, 24 atau 40. Gambar 8 menyajikan contoh filter yang diperkenalkan oleh Davis dan Mermelstein pada tahun 1980.

Berikut akan diuraikan tahapan pembentukan filter yang pertama kali diperkenalkan oleh Davis dan Mermelstein. Pada penjelasan ini dimisalkan frekuensi suara yang akan dicakup adalah pada rentang 0 hingga 5000 Hz. Secara umum ada tiga tahapan yaitu :

1) Gambarkan fungsi Fmel mulai frekuensi terendah hingga FHz = 5000 Hz dengan menggunakan persamaan 16, dan tentukan nilai mel untuk frekuensi akustik 5000 Hz (misal M2) dan nilai mel untuk frekuensi akustik 1000 Hz (misal M1).

2) Sumbu mel dari 0 hingga M1 dan M1 ke M2 disekat masing-masing menjadi M/2 sekatan yang sama lebarnya.

3) Dari setiap batas sekatan ditarik garis ke kurva fungsi dan diproyeksikan ke sumbu FHz sehingga diperoleh titik tengah filter pada sumbu FHz.

Gambar 8. Filter yang diperkenalkan oleh Davis dan Mermelstein

Algoritma detail untuk membentuk M filter pada teknik MFCC yang disarankan oleh Davis dan Mermelstein adalah sebagai berikut :

a) Pilih jumlah filter yang akan dibuat (M)

b) Pilih frekuensi terbesar (fhigh). Dari nilai ini, maka nilai tertinggi dari

adalah : A mp li tu d o Frekuensi

c) Pusat filter ke i adalah fi : c.1.

untuk i = 1, 2, 3, ..., M/2

c.2. untuk i = M/2, M/2+1, ..., M, maka fi dihitung dengan prosedur berikut :

1. skala mel disekat dengan lebar yang sama, yaitu sebesar , dengan :

Dari point (b), maka nilai dapat ditulis sebagai :

2. nilai mel untuk pusat filter ke i adalah :

3. pusat dari filter ke i adalah :

( )

Dari M filter yang sudah dibentuk, maka dilakukan wrapping terhadap sinyal dalam domain frekuensi dan menghasilkan satu komponen untuk setiap filter dengan formula sebagai berikut :

| |

(18)

Dalam hal ini i = 1, 2, 3, ..., M (M adalah jumlah filter segitiga) dan

adalah nilai filter segitga ke i untuk frekuensi akustik sebesar k. Nilai koefisien MFCC ke j akhirnya diperoleh menggunakan transformasi kosinus dengan formula sebagai berikut :

(19) dengan j = 1, 2, 3, ..., K, K adalah jumlah koefisien MFCC yang diinginkan dan M adalah jumlah filter. Gambar 9 memberikan ilustrasi ekstraksi ciri menggunakan teknik MFCC dari suatu sinyal audio.

dibangun pada setiap dimensi feature pada tahap pembelajaran dan interval-interval berkoresponden pada setiap feature memberikan suara (vote) untuk setiap kelas pada tahap klasifikasi algoritma VFI (Demiroz 1997). Algoritma VFI telah dikembangkan menjadi lima versi, yaitu VFI1, VFI2, VFI3, VFI4, dan VFI5. Pada penelitian ini akan digunakan algoritma yang terakhir yaitu VFI5.

Algoritma VFI5 adalah versi terakhir dari algoritma VFI yang menggeneralisasi pembentukan point intervals pada seluruh end points. Algoritma VFI5 membentuk point interval dari setiap end point yang berbeda dan range interval antara sepasang end point yang berbeda mengecualikan end points. Algoritma pembelajaran dari VFI5 dapat dilihat pada Gambar 10.

Gambar 10. Tahap pembelajaran pada algoritma VFI5 (Demiroz 1997)

Interval-interval beserta kelas yang diperoleh dari contoh dataset pembelajaran pada Gambar 11 dapat dilihat pada Gambar 12. Batas bawah dari semua interval adalah point intervals dan terdapat range intervals antara batas bawah tersebut meniadakan batas bawah.

train(TrainingSet): begin

for each feature f for each class c

EndPoints[f] = EndPoints[f]  find_end_points(TrainingSet,f,c); sort(EndPoints[f]);

if f is linear

for each end point p in EndPoints[f] form a point interval from end point p

form a range interval between pand the next endpoint ≠ p else /* f is nominal */

each distinct point in EndPoints[f] forms a point interval

for each interval i on feature dimension f for each class c

interval_class_count[f,i,c] = 0 count_instances(f, TrainingSet); for each interval i on feature dimension f for each class c

interval_class_vote[f,i,c] = _� _� [ �]

� _� [�]

normalize interval_class_vote[f, i, c];

interval i26 dengan batas bawah 6 dan dimensi feature f2. Hal ini dapat dilihat pada Gambar 13. Karena terdapat point intervals dimana t1 = 5 dan t2 = 6 keduanya terletak, vote feature individu diambil dari point intervals yang berkoresponden.

Gambar 13. Contoh pengklsifikasian pada algoritma VFI5 dengan contoh pengujian t=<5,6>

Vote point interval i16 dari feature f1 dimana t1 = 5 terletak sama dengan interval_class_vote[f1, i16, A] = 0 dan interval_class_vote[f1, i16, B] = 1 untuk kelas A dan juga kelas B. Sehingga, vektor vote individu f1 adalah v1 = <0;1>. Jika f1 diberikan kesempatan untuk memprediksi sendirian, maka ia akan memprediksi kelas B dengan pasti karena B menerima seluruh vote feature f1 dan kelas A tidak mendapatkan vote. Pada dimensi feature f2, point interval i26 dimana t2 = 6 terletak memiliki vote yang sama dengan interval_class_vote[f1, i26, A] = 0,57 untuk kelas A dan vote yang sama dengan interval_class_vote[f1, i26, B] = 0,43 untuk kelas B. Sehingga vektor vote individu f2 adalah v2 = <0,57;0,43>. Jika f2 diberikan kesempatan untuk memprediksi, maka ia akan memprediksi kelas A.

Pada tahap akhir, vote individu dari kedia feature dijumlahkan dan jumlah vektor vote v = <0,57;1,43>. Algoritma VFI5 memberikan vote 0,57 untuk kelas A dan 1,43 untuk kelas B, sehingga kelas B dengan nilai vote tertinggi diprediksikan sebagai kelas dari contoh pengujian.

Dokumen terkait