penentuan hasil nada dengan menggunakan k-NN. Diagram Alir perancangan keseluruhan ditujukan pada gambar 3.6.
Gambar 3.6. Diagram Alir Sistem Pengenalan Nada saksofon Alto
3.5.1. Rekam
Diagram alir rekam ditujukan pada gambar 3.7.
Gambar 3.7. Diagram Alir Sub Rutin Rekam
Subprogram rekam memiliki proses yang dijalankan yaitu proses sampling suara. Proses sampling berfungsi untuk merekam nada saksofon alto dengan nilai frekuensi
sampling yang telah ditentukan dalam sistem. Frekuensi sampling yang digunakan adalah
4800 Hz. lampiran 1. Hasil dari proses perekaman nada akan ditampilkan dalam bentuk plot
atau grafik yang terdapat pada interface GUI Matlab. Nilai frekuensi sampling tersebut didapat melalui proses perhitungan menggunakan persamaan 2.1 berikut :
Lama waktu penangkapan ucapan ditentukan sebesar 3 detik. Waktu tersebut ditentukan agar nada yang dihasilkan dapat terekam secara utuh. Penetuan lama waktu
berdasarkan hasil percobaan yang disertakan dalam lampiran Lampiran 2. Nilai waktu tersebut juga mempengaruhi banyaknya data yang tercuplik. Banyaknya data yang
tercuplik dihitung dari persamaan berikut : 3.1
Hasil dari frekuensi sampling berupa sinyal dari data-data yang tercuplik.
3.5.2. Normalisasi
Diagram alir normalisasi ditujukan pada gambar 3.8.
Gambar 3.8. Diagram alir Normalisasi
Proses ini digunakan agar besarnya nilai amplitudo dari data sinyal ucapan terbentuk pada skala yang sama. Tujuannya agar pengaruh dari kuat atau lemahnya suara
yang diucapkan dapat diminimalkan. Hasil dari normalisasi dirancang agar batasan nilai amplitudo puncak dari data ucapan bernilai 1 atau -1 dan nilai amplitudo yang lainnya
menyesuikan dengan skala tersebut. Proses normalisasi pada nilai-nilai amplitudo dibentuk dengan rumus berikut:
3.2
dengan keterangan sebagai berikut : = hasil data sinyal normalisasi 1,2,3,…,N
= data input 1,2,3,…,N N merupakan banyaknya data sinyal.
Program normalisasi akan dieksekusi ketika fungsi ini dipanggil. Diagram alir dari program normalisasi ditunjukkan pada gambar 3.8. Data-data pada sinyal hasil sampling
akan dijadikan nilai masukan pada fungsi ini. Normalisasi terhadap sinyal tersebut dilakukan menggunakan persamaan 3.2. Keluaran dari fungsi ini berupa sinyal yang
ternormalisasi.
3.5.3. Pemotongan Sinyal
Proses pemotongan sinyal bertujuan untuk menghilangkan suara lain yang ikut terekam sebelum suara yang diinginkan terekam. Hal ini diperlukan agar proses
pengenalan mampu benar-benar hanya mengenali suara nada yang diperlukan saja. Pemotongan sinyal menggunakan batas potong sebesar 0,3 yang didapat berdasarkan
referensi[24]. Variasi pemotongan ini didapat berdasarkan penelitian yang dilakukan oleh penulis ketika mencoba perancangan sistem secara tidak real-time dengan tujuan agar
mendapat nilai terbaik ketika pengujian. Pemotongan sinyal juga bertujuan untuk masukan variabel perhitungan dalam
proses selanjutnya, sehingga nilai yang diproses untuk tahap selanjutnya adalah suara nada yang diperlukan saja tanpa adanya suara gangguan yang lain. Diagram alir pemotongan
sinyal ditujukan pada gambar 3.9.
Gambar 3.9. Diagram alir Pemotongan Sinyal
3.5.4. Frame Blocking
Diagram alir Frame Blocking ditujukan pada gambar 3.10.
Gambar 3.10. Diagram Alir Frame Blocking Selesai proses pemotongan sinyal maka proses yang selanjutnya dilakukan adalah
proses frame blocking. Frame blocking bertujuan untuk mengurangi jumlah data sinyal yang akan di proses.
Frame blocking berfungsi untuk memilih data dari keseluruhan data yang terekam
dan hasil dari pemotongan sinyal. Proses pertama yang dilakukan dalam proses frame blocking
adalah menentukan nilai titik tengah dari data sampling. Jumlah data yang diambil dalam proses ini sesuai dengan variasi yang dipilih user. Dari titik tengah data
yang diperoleh, ditentukan besarnya data yang akan diambil untuk proses selanjutnya. Proses frame blocking ditunjukkan diagram alir pada gambar 3.10. Proses frame blocking
dimulai dengan pencarian titik tengah dari suatu data yang terekam. Proses selanjutnya yaitu menentukan data yang diambil dari titik tengah data tersebut sesuai dengan nilai
variasi frame blocking yang dipilih user. Nilai variasi frame blocking yang digunakan yaitu 16, 32, 64 dan 128.
3.5.5. Normalisasi 2
Diagram alir normalisasi 2 ditujukan pada gambar 3.11.
Gambar 3.11. Diagram alir Normalisasi 2 Proses ini digunakan agar besarnya nilai amplitudo dari data sinyal nada yang
sudah di frame blocking terbentuk pada skala yang sama. Tujuannya agar pengaruh dari kuat atau lemahnya suara nada dapat diminimalkan. Hasil dari normalisasi dirancang agar
batasan nilai amplitudo puncak dari data nada tersebut bernilai 1 atau -1 dan nilai
amplitudo yang lainnya menyesuikan dengan skala tersebut. Proses normalisasi pada nilai- nilai amplitudo dibentuk dengan rumus berikut:
3.3 dengan keterangan sebagai berikut :
= hasil data sinyal normalisasi 1,2,3,…,N = data input 1,2,3,…,N
N merupakan banyaknya data sinyal.
3.5.6. Windowing Hamming
Diagram alir Windowing ditujukan pada gambar 3.12.
Gambar 3.12. Diagram alir Windowing
Tahap setelah normalisasi yaitu tahap windowing. Untuk pengelanan nada saksofon alto ini menggunakan windowing Hamming sebagai proses selanjutnya. Fungsi dari pada
proses windowing ini untuk mengurangi efek diskontinuitas saat sinyal ditransformasikan ke domain frekuensi.
Untuk mendapatkan hasil yang maksimal pada proses FFT, maka sample suara yang telah dibagi menjadi beberapa frame perlu di jadikan suara continue dengan cara
mengkalikan tiap frame windowing tertentu.. Berikut ini merupakan persamaan dari windowing
Hamming :
3.4 Dimana : wn = windowing
N = jumlah data dari sinyal n
= waktu diskrit ke- Sinyal hasil windowing didapat dari perkalian elemen dari data windowing
Hamming dan data sinyal hasil normalisasi.
3.5.7. Fast Fourier Transform FFT
Diagram alir Windowing ditujukan pada gambar 3.13.
Gambar 3.13. Diagram alir Ekstraksi ciri FFT Proses selanjutnya adalah ekstraksi ciri FFT. Proses ekstraksi ciri FFT dimulai
dengan mencari nilai komputasi FFT yang dilanjutkan dengan mencari nilai absolute dari hasil komputasi FFT tersebut. Proses dilanjutkan dengan mencari nilai absolute dari nilai
log hasil perhitungan matematis FFT. Hasil-hasil komputasi tersebut kemudian dipotong
sebanyak setengah dari ukuran sinyal yang telah ditentukan, kemudian dari hasil
pemotongan tersebut dipilih bagian yang akan diproses. Proses terakhir dalam ekstraksi ciri adalah pengubahan dimensi dari sinyal.
Masing-masing subproses dari ekstraksi ciri mempunyai tujuan khusus masing- masing yang membentuk satu kesatuan. Pencarian nilai mutlak pada tiap perhitungan
ditujukan agar nilai yang didapat merupakan bilang real sehingga proses perhitungan dapat dilanjutkan. Komputasi secara matriks adalah subproses untuk mengolah matriks hasil
ekstraksi ciri FFT. Pengolahan yang dimaksud adalah pemilihan banyak data yang akan digunakan untuk proses pengenalan nada.
3.5.8. Perhitungan Jarak Simetrik Probabilitas
2
Diagram alir perhitungan jarak ditujukan pada gambar 3.14.
Gambar 3.14 Diagram Alir perhitungan jarak Simetrik Probabilitas
2
Proses selanjutnya yaitu proses fungsi jarak, pada pengenalan nada saksofon alto ini menggunakan jarak Simetrik Probabilitas
2
. Untuk mencari kedekatan antara dua obyek atau mencari kedekatan antara dua vector, dimana antara database nada dan nada
uji. Perhitungan jarak Simetrik Probabilitas
2
dirumuskan sebagai berikut :
3.5
Dengan : = jarak Simetrik Probabilitas
2
n = panjang vektor
P
i
,Q
i
= vektor yang akan dibandingkan antara nada uji dan database nada
3.5.9. Penentuan Hasil Nada
Diagram alir perhitungan jarak ditujukan pada gambar 3.15.
Gambar 3.15. Diagram alir k-NN Pada proses penentuan keluaran ini data hasil perhitungan jarak di sort ascending
dengan tujuan mengurutkan hasil perhitungan jarak dari yang terkecil. Setelah data di sort ascending
, maka akan ada penggambilan nilai k terkecil, dimana nilai k dipilih oleh user. Setelah nilai k dipilih maka akan ada pembanding. Dimana maksud disini adalah apabila
ada suara nada dari alat musik lain maka akan dibandingkan berdasarkan jarak k ≤
Thresholding . Apabila nilai jarak dari k yang dipilih kurang dari nilai thresholding, maka
akan dilanjutkan ke proses mencari indeks kelas dari jarak k terkecil, jika tidak, akan muncul display error. Hasil pengenalan nada saksofon alto ditentukan berdasarkan kelas
Tidak
yang paling banyak muncul dengan menggunakan metode k-Nearest Neighbor k-NN. Kemudian hasil dari nilai kelas yang paling banyak muncul tersebut akan ditampilkan
berupa keluaran teks. Dimana ketentuan k-NN adalah misal ada vector x yang tidak diketahui, maka:
a.
Dari vektor pelatihan N, identifikasi k tetangga terdekat, dengan mengabaikan label kelas. Untuk masalah dua kelas dipilih nilai k yang ganjil. Secara umum nilai
k ini bukan kelipatan dari jumlah kelas M.
b.
Dari sampel k tersebut, identifikasi jumlah vektor, k
i
, yang masuk dalam kelas
i
,i=1, 2, …., M. Hal ini dapat juga dinyatakan dengan
i
k
i
= k .
c.
Tetapkan x untuk kelas
i
berdasarkan jumlah k
i
terbanyak dari sampel.
3.6. Perancangan Subsistem Pengenalan Nada Saksofon Alto
Sistem pengenalan nada saksofon alto memiliki dua subsistem yang penting yaitu subsistem sampling dan subsistem pengenalan nada. Perancangan subsistem tersebut
memerlukan variabel terikat. Pengujian awal untuk mencari variabel tersebut dilakukan agar proses pengenalan dapat berhasil dengan waktu yang optimal. Pengujian ini
menggunakan Matlab, karena dalam program tersebut sudah memiliki fungsi-fungsi yang menunjang subsistem dari sistem program pengenalan nada.
3.6.1. Subsistem Sampling
Subsistem sampling terdiri dari dua variabel terikat yaitu frekuensi sampling dan durasi perekaman. Setelah melakukan pengujian awal, dapat disimpulkan:
a. Frekuensi sampling yang digunakan 4800Hz. Di ambil dari nilai dua kali dari
frekuensi fundamental Lampiran 1. b.
Durasi perekaman menggunakan 3 detik Lampiran 2.
35
BAB IV
HASIL DAN PEMBAHASAN
Program yang telah dibuat perlu dilakukan sebuah pengujian. Pengujian berguna untuk mengetahui kinerja program tersebut dalam melakukan pengenalan nada. Pada
pengujian akan diperoleh hasil pengujian berupa data-data. Data-data hasil pengujian menunjukan program yang telah dirancang dapat berjalan dengan baik atau tidak. Pada bab
ini akan dilakukan analisa dan pembahasan pada data hasil pengujian yang telah diperoleh.
4.1. Pengujian Program Pengenalan Nada Saksofon Alto menggunakan
FFT dan Pengklasifikasian K-NN dan Fungsi Jarak Simetrik Probabilitas
2
Perancangan program menggunakan software Matlab 7.6.0 R2008a. Pada pengujian program menggunakan laptop dengan spesifikasi:
Prosesor : Intel® Pentium Inside CPU 2.40 GHz
RAM : 2 GB
Tipe sistem : Sistem operasi 32 bit
Proses pengenalan nada saksofon alto dapat dilakukan dengan menjalankan langkah- langkah di bawah ini:
1. Mengklik dua kali ikon Matlab pada layar desktop dengan gambar ikon seperti
Gambar 4.1.
Gambar 4.1. Ikon Matlab 7.6.0 R2008a
2. Setelah melakukan langkah 1, akan tampil tampilan utama software Matlab seperti
Gambar 4.2.