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