• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN

3.5. Perancangan Alur Program

Sistem pengenalan nada Saksofon alto ini akan bekerja pada saat user menjalankan program. Sebelum menjalankan program, user harus memilih variasi windowing koefisien, FFT dan nilai k pada k-NN yang ingin digunakan. Saat user menekan tombol “RECORD”,

secara otomatis sistem akan merekam suara nada alat musik saksofon alto yang dimainkan. Jika suara nada telah terekam, maka proses akan berlanjut untuk mengenali nada tersebut.

Program keseluruhan yang digunakan dalam sistem pengenalan nada saksofon alto terdiri dari beberapa subprogram yaitu rekam, normalisasi, pemotongan sinyal, frame blocking, normalisasi 2, windowing, FFT, perhitungan jarak Simetrik Probabilitas 2

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.

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.

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 framewindowing tertentu.. Berikut ini merupakan persamaan dari

) (3.4) Dimana : w(n) = 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

Pi,Qi = 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 displayerror. Hasil pengenalan nada saksofon alto ditentukan berdasarkan kelas

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, ki, yang masuk dalam kelas

i,i=1, 2, …., M. Hal ini dapat juga dinyatakan dengan i ki = k.

c. Tetapkan x untuk kelas i berdasarkan jumlah ki terbanyak dari sampel.

Dokumen terkait