Analisis sinyal suara Analisis Ekstraksi Fitur Suara Menggunakan MFCC

24

3.1 Analisis sinyal suara

Suara yang dihasilkan piano adalah sinyal analog dengan amplitudo yang berubah secara kontinyu terhadap waktu. pada manusia frekuensi suara yang dihasilkan adalah 50 Hz – 10 KHz. Sedangkan pada suara alat musik memliki frekuensi 20 Hz – 20 Khz. Suara yang berada pada range pendengaran manusia disebut Audio dan gelombangnya sebagai accoustic signal sedangkan suara diluar range pendengaran manusia dapat dikatan sebagai noise getaran yang tidak teratur dan tidak berurutan dalam berbagai frekuensi, tidak dapat didengar manusia . agar sinyal suara yang kontinyu dapat diproses. Maka harus digunakan teknik sampling. Teknik sampling adalah proses mengubah gelombang bunyi ke dalam interval waktu tertentu sehingga menghasilkan representasi digital dari suara.

3.2 Analisis Ekstraksi Fitur Suara Menggunakan MFCC

Dalam ekstraksi fitur. Suara yang telah ada akan dilakukan proses untuk mendapatkan ciri khusus dari sebuah suara. Dengan megubah suara menjadi parameter parameter. Parameter tersebut akan digunakan ke metode selanjutnya untuk dilakukan pencocokan ciri khusus. Didalam MFCC. Dilakukan beberapa tahap, yaitu : 1. Input suara 2. DC-Removal 3. Pre – Emphasis 4. Frame blocking 5. Windowing 6. Fast Fourier Transform 7. Filter bank Mel-Frequency Warping 8. DCT 3.2.1 Input Suara Suara yang didapat merupakan suara yang berasal dari sebuah software GARAGEBAND yang memiliki format suara “.wav” . Langkah pertama adalah Universitas Sumatera Utara 25 dengan memasukkan suara keprogram untuk memasukkan suara. Kali ini akan menggunakan nada DO sebagai bahan uji. 3.2.2 DC-Removal Remove DC Components bertujuan untuk menghitung rata-rata dari data sampel suara, dan mengurangkan nilai setiap sampel suara dengan nilai rata-rata tersebut. Tujuannya adalah mendapat normalisasi dari data suara input. START AVG = Rataratasig nal I = 0 Hasil i = signal i - AVG I signal length END No Yes Gambar 3.2 Flowchart DC-Removal Contoh data dengan banyak vektor 10 : -0.9,0.9,-0.9,0.6,-0.4,0.9,0.9,0.2,-0.2,0.6 Rumus DC-removal telah dijelaskan pada bab 2 rumus 1. Jadi : π = = 0.17 Universitas Sumatera Utara 26 menghasilkan = 3.2.3 Pre-Emphasis Langkah kedua adalah untuk memmpertahankan frekuensi – frekuensi tinggi pada sebuah spektrum , yang umumnya tereleminasi pada saat proses produksi suara. START AVG = Rataratasig nal I = 0 Hasil i = signal i + signal i-1 alpha I signal length No Yes Gambar 3.3 Flowchart Pre-Emphasis Filter Merujuk pada bab sebelumnya di rumus poin ke 2. Dengan α = -0.97 menggunakan contoh vektor jadi : – – { Universitas Sumatera Utara 27 – – menghasilkan : 3.2.4 Frame Blocking Setelah digunakan pre-emphasize filter untuk mempertahankan suara suara tinggi. Digunakan Frame Blocking untuk memetakan data – data yang akan diambil. Signal akan diproses secara Short Segment Short Frame . START MEMBAGI SIGNAL WS = Sampling rate framerate I = 0 to cols -1 a = iws +1 b = a + ws =1 Simpan Blok END NO YES Gambar 3.4 Flowchart Frame Blocking Universitas Sumatera Utara 28 3.2.5 Windowing Proses framing dapat menyebabkan terjadinya kebocoran spektral atau aliasing. Aliasing adalah signal baru dimana memiliki frekuensi yang berbeda dengan signal aslinya. Efek ini dapat terjadi karena rendahnya jumlah sampling rate,ataupun karena proses frame blocking dimana menyebabkan signal menjadi discontinue. Maka pada tahap ini dilakukan proses window pada frame – frame yang telah dihasilkan oleh tahap sebelumnya. Hal ini bertujuan untuk meminimalkan diskontinuitas pada bagian awal dan akhir sinyal . Model window yang digunakan pada sistem ini adalah haming window 3.2.6 Analisis Fourier Analisa berdasarkan fourier transform sama artinya dengan analisa spektrum, karena fourier transform merubah signal digital dari time domain ke domain frekuensi. FFT dilakukan dengan membagi N buah titik pada transformasi dikrit menjadi 2, masing – masing N2 titik transformasi. Proses memecah menjadi N4 dan seterusnya sehingga diperoleh titik minimum. FFT Fast Fourier Transform adalah teknik perhitungan cepat dari DFT. FFT adalah DFT dengan teknik perhitungan yang cepat dengan memanfaatkan sifat periodical dari transformasi fourier. FFT yang digunakan pada tahap ini adalah FFT Cooley-Tukey.. adapun algoritma FFT Cooley-Tukey adalah : ∑ Dimana : = Panjang Data 2 = – Panjang data = panjang data Universitas Sumatera Utara 29 Procedure filterbank { menghitung nilai Mel Spectrum i.s : Sinyal FFT f.s : Sinyal Hasil Filterbank } kamus H: double I,N : integer Algoritma For I = 0 to n do Begin H[i] ← 2595 log 1 + 1000700 X[i] 2 ; S[1] ← H[i] X[i]; 3.2.7 Filter Bank Magnitude hasil dari proses FFT selanjutnya akan melalui tahap filterbank ∑ Dimana : = Jumlah magnitude Spectrum = Magitude spectrum pada frekuensi j = Koefesien filterbank pada frekuensi = Jumlah channel dalam filterbank Untuk mendapatkan H i digunakan rumus : Berikut ini adalah Algoritma untuk proses Filterbank 3.2.8 Discrete Cosine Transform DCT Hasil dari DCT ini adalah fitur – fitur yang dibutuhkan oleh penulis untuk melakukan proses analisa terhadap pengenalan suara tersebut. Menggunakan rumus : ∑ Universitas Sumatera Utara 30 = Keluaran dari proses filterbank pada indeks k = jumlah koefesien yang diharapkan Berikut ini adalah algoritma untuk proses DCT. 3.3 Pencocokan dengan metode Learning Vector Quantization LVQ LVQ merupakan salah satu jaringan saraf tiruan yang melakukan pemebelajaran secara terawasi. LVQ mengklasifikasikan input secara berkelompok ke dalam kelas yang sudah didefenisikan melalui jaringan yang telah dilatih. Dengan kata lain LVQ mendapatkan n input dan mengkelompokkan ke dalam m output. Arsitektur jaringan LVQ ini terdiri dari input, lapisan kohonen, dan lapisan output. Pada proses pelatihan, LVQ menggunakan lapisan kohonen, dimana pada proses pelatihan jaringan ini akan dibandingkan dengan nilai dari vektor yang dilatih dengan semua elemen pemroses. Jarak terkecil antara vektor yang dilatih dengan elemen pemroses akan menentukan kelas dari data yang dilatih. 3.3.2 Algoritma LVQ Pada beberapa literature mungkin ditemui beberapa algoritma tentang LVQ yang berbeda. Secara garis besar, algoritma LVQ adalah sebagai berikut. Procedure DCT k : integer, dct : float Kamus K : integer Fbank : float ; Algoritma For int n = 0 ; N = k ; N++ Begin Sum = 0.0; Sum += fbank[k-1]cosnk-0,5 PI Fiternum; K+1; End End for ; Universitas Sumatera Utara 31 1. Langkah pertama adalah menentukan masing masing kelas output, menentukan bobot, dan menenetapkan learning rate α 2. Bandingkan masing – masing input dengan masing – masing output bobot yang telah ditetapkan dengan melakukan pengukuran jarak antara masing – masing bobot w o dan input x p . persamaannya adalah sebagai berikut – 3. Nilai minimum dari hasil perbandingan itu akan menentukan kelas dari vektor input dan perubahan bobot dari kelas tersebut. Perubahan untuk bobot baru w o ’ dapat dihitung dengan perasamaan berikut.  Untuk input dan bobot yang memiliki kelas yang sama :  Untuk input dan bobot yang memiliki kelas yang berbeda : – Berikut contoh vektor fitur : Nada yang akan diuji = Nada latih = = = Dengan Epoch = 5 , Learning Rate = 0.05 dan pengurangan Learning Rate LR = 0.002. Proses pelatihan yang terjadi adalah sebagai berikut :

1. Proses Pelatihan