PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR
PENGENALAN NADA SAKSOFON ALTO MENGGUNAKAN FFT DAN PENGKLASIFIKASIAN K-NN DENGAN JARAK SIMETRIK PROBABILITAS 2 Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro
Oleh: FREDERIK MERIS NIM : 115114023
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2015
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI FINAL PROJECT
ALTO SAXOPHONE TONE RECOGNITION USING FFT AND K-NN CLASSIFIER WITH SYMMETRIC PROBABILISTIC 2 Presented as Partial Fullfillment of The Requirements To Obtain Sarjana Teknik Degree In Electrical Engineering Study Program
By :
FREDERIK MERIS NIM : 115114023
ELECTRICAL ENGINEERING STUDY PROGRAM DEPARTMENT OF ELECTRICAL ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2015 ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PERSETUJUAN
TUGAS AKHIR
PENGENALAN NADA SAKSOFON ALTO MENGGUNAKAN FFT DAN PENGKLASIFIKASIAN K-NN DENGAN JARAK SIMETRIK PROBABILITAS 2 (ALTO SAXOPHONE TONE RECOGNITION USING FFT AND K-NN CLASSIFIER WITH SYMMETRIC PROBABILISTIC 2)
Oleh:
Frederik Meris NIM : 115114023
Telah Disetujui Oleh:
Pembimbing :
Dr. Linggo Sumarno
Tanggal :____________
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI HALAMAN PENGESAHAN TUGAS AKHIR
PENGENALAN NADA SAKSOFON ALTO MENGGUNAKAN FFT DAN PENGKLASIFIKASIAN K-NN DENGAN JARAK SIMETRIK PROBABILITAS 2 (ALTO SAXOPHONE TONE RECOGNITION USING FFT AND K-NN CLASSIFIER WITH SYMMETRIC PROBABILISTIC 2) Oleh : Frederik Meris NIM: 115114023 Telah dipertahankan di depan Panitia Penguji Pada tanggal 20 Agustus 2015 Dan dinyatakan memenuhi syarat Susunan Panitia Penguji
Nama Lengkap
Tanda Tangan
Ketua
: Dr. Iswanjono
..........................
Seketertaris
: Dr. Linggo Sumarno
..........................
Anggota
: Wiwien Widyastuti, S.T.,M.T
..........................
Yogyakarta,…………………… Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan,
Paulina Heruningsih Prima Rosa, S.Si.,M.Sc.
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.
Yogyakarta, 25 Agustus 2015
Frederik Meris
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP MOTTO :
I’m Not Lucky, I’m Blessed
Persembahan Karya ini ku persembahkan kepada .... Tuhan Yesus yang selalu ada disetiap perjalanan hidupku. Papa, Mama danKakak-kakak yang selalu mendukungku dalam segala hal. Dan semua orang yang mengasihiku dan mendukungku dalam Tugas Akhir. VI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertandatangan dibawah ini, saya mahasiswa Universitas Sanata Dharma: Nama
: Frederik Meris
Nomor l\4ahasiswa
: l1 5114023
Dengan pengembangan
ilmu
pengetahuan. saya memberikan kepada perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berir-radul
:
PENGENALAN NADA SAKSOFON ALTO MENGGUNAKAN FFT DAN PENGKLASIFIKASIAN K-NN DENGAN JARAK SIMETRIK PROBABILITAS
12
Beserla perangkat yang diperlukan (kalo ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Samata Dharma hak untuk menyimpan. rnengalihkan dalam
bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan mempublikasikannya akademis tanpa perlu meminta
di
internet atau media lainnya untuk kepentingan
ijin dari
saya mallpun rnemberikan royalty kepada saya
selama tetap mencantumkan nama saya sebagai penulis.
Demikian pernyataa ini saya buat dengan sebenarnya.
(Frederik Meris)
vil
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
INTISARI Kebanyakan orang hanya bisa mendengarkan suatu nada dari alat musik tanpa mengetahui nada apa yang sedang dimainkan, karena kurangnya ketajaman pendengaran serta pengetahuan tentang bermusik sangat terbatas. Alat musik yang digunakan pun juga bervariasi, salah satunya alat musik tiup. Saksofon adalah merupakan bagian dari banyak alat musik apabila dengan tiupan akan menghasilkan sebuah bunyi. Sistem pengenalan sangat diperlukan untuk membantu dalam mengenali nada alat musik, khususnya untuk nada dasar (do, re, mi, fa, sol, la ,si dan do tinggi) pada alat musik saksofon alto. Sistem pengenalan nada alat musik saksofon alto pada tugas akhir ini menggunakan mikrofon dan komputer untuk mengoperasikannya. Mikrofon berfungsi untuk menerima gelombang suara nada alat musik saksofon alto. Komputer berfungsi untuk memproses data hasil rekaman, menampilkan gelombang hasil rekaman, menampilkan spektrum ekstraksi ciri dan menampilkan hasil nada yang dikenali berupa teks. Sistem pengenalan nada alat musik saksofon alto menggunakan FFT, jarak Simetrik Probabilistik 2 dan klasifikasi k-NN sudah berhasil dibuat dan dapat bekerja sesuai dengan perancangan. Pada program pengenalan nada secara real time tanpa thresholding dan menggunakan thresholding mampu mengenali nada sebesar 100%. Parameter pengenalan terbaik berada pada variasi frame blocking 128, windowing koefisien 50% dan k=1 pada kNN. Tingkat pengenalan nada-nada kromatis saksofon alto mencapai 92%. Dengan database yang sama, hasil pengenalan nada alat musik pianika mencapai 83,75%. Kata kunci :
Saksofon Alto, FFT (Fast Fourier Transform), Simetrik Probabilistik 2,knearest neighbor (k-NN), Pengenalan Nada
VIII
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT Most of people can only hear a tone from the instrument without knowing what tone is being played, because of the lack of hearing acuity and knowledge of music is very limited. Musical instruments used vary, one wind instrument. The saxophone is a part of many musical instruments when the puffs will produce a sound. Recognition system is needed to assist in recognizing musical tones, especially for fundamental tones (do, re, mi, fa, sol, la, si, do’) on a musical instrument the alto saxophone. Tone recognition system of alto saxophone at the end of this task using a microphone and a computer to operate. Functioning microphone to receive sound waves alto saxophone tones of musical instruments. Computer functions to process data recording, featuring a wave of record results, spectral feature extraction, and displays the results of a recognizable tone as text. Tone recognition system of alto saxophone musical instrument uses FFT, Symmetric Probabilistic 2 distance and classification of k-NN has been created and capable to work in accordance with design. At real time program of tone recognition with and without thresholding are able to recognize the ton of 100%. The best recognition parameter can be found at frame blocking 128 variation, windowing coefficient of 50% and k=1 for k-NN. Introduction level of a chromatic tones alto saxophone reached 92%. The result of recognition of musical instrument tones pianica with the same database reached 83.75%. Keyword:
Alto Saxophone, Fast Fourier Transform (FFT), Symmetric Probabilistic 2 Distance Functions, Classifier k-NN, Recognition Tone.
IX
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR Puji dan Syukur kepada Tuhan Yesus karena telah memberikan Berkat-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir dengan baik, dan dapat memperoleh gelar sarjana. Dalam penulisan tugas akhir ini, penulis menyadari bahwa tidak lepas dari seluruh bantuan dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis mengucapkan banyak terimakasih kepada: 1. Tuhan Yesus Kristus atas berkat dan anugerah-Nya kepada penulis 2. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma. 3. Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elekro Universitas Sanata Dharma 4. Dr. Linggo Sumarno, selaku dosen pembimbing yang dengan tenang dan penuh kesabaran untuk membimbing dalam menyelesaikan penulisan Tugas Akhir ini. 5. Dr. Iswanjono, Wiwien Widyastuti, S.T., M.T., selaku dosen penguji yang telah memberikan bimbingan, saran, dan merevisi Tugas Akhir ini. 6. Papa dan Mama, serta kakak-kakak yang selalu mendoakan dan membantu segala sesuatunya sampai pencapaian menyelesaiakan studi di jenjang perkuliahan 7. Segenap staff sekretariat, dan laboran Teknik Elektro yang telah memberikan dukungan secara tidak langung dalam kelancaran tulisan tugas Akhir ini. 8. Ketua kelompok sel saya Daddy Uchu dan saudara sel yang selalu memberikan doa dan selalu memberikan masukan dan nasihat. 9. Mas Wedha dan Ko Ahwie yang sudah bersedia meminjamkan saksofon alto untuk kelancaran Tugas akhir. 10. Teman-teman singer ”Youth Impact Singers” Marthen, Littabeth, Meika, Haris, Jeremy, Albert, Angel, Kak Iren, Kak Siska, adek Fila, Topel, dan Cik Zenia yang selalu mendukung dan mendoakan dalam kelancaran penulisan Tugas Akhir ini. 11. Papsky Lucky dan Om Topel “3 idiots” yang selalu memberikan dukungan dan doa dan terus mengingatkan untuk menyelesaikan tugas akhir.
X
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 12. Teman-teman group “SKRIPSI” Cahyo, Yohanes, Irfan, Evan, Edwin, Dean, Yugo yang selalu mendukung, selalu mengingatkan setiap ada konsultasi untuk tugas akhir dan selalu memberikan semangat. 13. Teman-teman Teknik Elktro 2011 yang telah memberikan semangat pada saat menempuh pendidikan di Universitas Sanata Dharma. 14. Semua Pihak yang tidak bisa disebutkan satu persatu yang telah banyak mendukung, dan memberikan banyak bantuan dalam menyelesaikan Tugas Akhir ini. Penulis menyadari bahwa dalam penyusunan laporan Tugas Akhir ini masih mengalami kesulitan dan tidak lepas dari kesalahan. Oleh karena itu, penulis mengharapkan masukan, saran ,kritikan yang mendukung agar skripsi ini menjadi lebih baik, dan semoga sripsi ini dapat bermanfaaat sebagaimana mestinya
Penulis
Frederik Meris
XI
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI Halaman
HALAMAN JUDUL. ............................................................................................... i HALAMAN PERSETUJUAN.. ........................................................................... iii HALAMAN PENGESAHAN. .............................................................................. iv PERNYATAAN KEASLIAN KARYA. ............................................................ v HALAMAN PERSEMBAHAN DAN MOTTO HIDUP............................. vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS. ..................................... vii INTISARI. ................................................................................................................... viii ABSTRACT. ............................................................................................................... ix KATA PENGANTAR. ............................................................................................ x DAFTAR ISI. ............................................................................................................. xii DAFTAR GAMBAR. .............................................................................................. xvi DAFTAR TABEL. ................................................................................... xviii BAB I PENDAHULUAN 1.1.
Latar Belakang. ................................................................................................. 1
1.2.
Tujuan dan Manfaat Penelitian ......................................................................... 2
1.3.
Batasan Masalah ............................................................................................... 2
1.4.
Metodologi Penelitian ...................................................................................... 3
BAB II DASAR TEORI 2.1.
Saksofon Alto .................................................................................................... 4
2.2.
Mikrofon ............................................................................................................ 5
2.3.
Sound card ......................................................................................................... 6
2.4.
Matlab................................................................................................................ 6
2.5.
Teorema Pencuplikan ........................................................................................ 8
2.6.
Preprocessing .................................................................................................... 8 2.6.1. Normalisasi... ........................................................................................... 9 2.6.2. Pemotongan Sinyal.... .............................................................................. 9
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.6.3. Frame Blocking ....................................................................................... 10 2.6.4. Normalisasi 2.... ....................................................................................... 11 2.6.5 Windowing Hamming... ............................................................................ 11 2.7.
Dicerete Fourier Transform (DFT)................................................................... 12
2.8.
Fast Fourier Transform (FFT).. ........................................................................ 12
2.9
Template Matching ............................................................................................ 16
2.9.1.
Fungsi Jarak Simetrik Probabilitas 2 .............................................................. 16
2.10.
Klasifikasi k-NN. .............................................................................................. 16
BAB III PERANCANGAN 3.1.
Sistem Pengenalan Nada Saksofon Alto ........................................................... 18 a. Saksofon Alto... ............................................................................................. 19 b. Mikrofon.... .................................................................................................... 19 c. Sound Card .......... ......................................................................................... 20 d. Proses Perekaman.... ...................................................................................... 20 d. Proses Pengenalan Nada.... ............................................................................ 20
3.2.
Perancangan Database Nada ............................................................................. 22
3.3.
Nada Uji ............................................................................................................ 23
3.4.
Perancangan Tampilan Program GUI MatLab ................................................. 23
3.5.
Perancangan Alur Program............................................................................... 24 3.5.1. Rekam ..................................................................................................... 25 3.5.2. Normalisasi ............................................................................................. 26 3.5.3. Pemotongan Sinyal ................................................................................. 27 3.5.4. Frame Blocking ...................................................................................... 28 3.5.5. Normalisasi 2. ......................................................................................... 29 3.5.6. Windowing Hamming. ............................................................................ 30 3.5.7. Fast Fourier Transform (FFT). .............................................................. 31 3.5.8. Perhitungan Jarak Simetrik Probabilistik 2........................................... 32 3.5.9. Penentuan Hasil Nada ............................................................................. 33
3.6.
Perancangan Subsistem Pengenalan Nada Saksofon Alto ............................... 34 3.6.1 Subsistem Sampling................................................................................. 34
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI BAB IV HASIL DAN PEMBAHASAN 4.1.
Pengujian Program Pengenalan Nada Saksofon Alto menggunakan FFT dan Pengklasifikasian K-NN dan Fungsi Jarak Simetrik Probabilitas 2 ............... 35 4.1.1. Pengenalan Nada ................................................................................... 37 a. Popup Menu............................................... ........................................ 38 b. Tombol “RECORD”........................................................... ............... 40 c. Tombol “RESET”............................................................................... 46 b. Tombol “CLOSE”........................................................... ................... 46
4.2.
Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat Pengenalan Nada Saksofon Alto ................................................................................................... 46 4.2.1. Pengujian Parameter Pengenalan Nada ................................................. 47 4.2.1.1 Pengujian secara Tidak Real-Time............................................. 47 4.2.1.2 Pengujian secara Real-Time...................................................... 50 a) Pengujian Tanpa Thresholding............................................. 50 b) Pengujian Untuk Menentukan Batasan Nilai Jarak Optimal... 51 c) Pengujian Mengunakan Thresholding..................................... 52
4.3.
Pengujian Dengan Nada Masukan Pianika... .................................................... 53
4.4.
Pengujian Dengan Masukan Nada-Nada Kromatis Pada Saksofon Alto... ...... 54
BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan ...................................................................................................... 56
5.2.
Saran ................................................................................................................ 56
DAFTAR PUSTAKA .............................................................................................. 57 LAMPIRAN LAMPIRAN 1 PERCOBAAN MENCARI SPEKTRUM FREKUENSI UNTUK SISTEM PENGENALAN NADA ALAT MUSIK SAKSOFON ALTO MENGGUNAKAN MATLAB 7.04 2008a ..................................................................................................... L1 LAMPIRAN 2 PERCOBAAN MENCARI DURASI PEREKAMAN PENGENALAN NADA ALAT MUSIK SAKSOFON ALTO MENGGUNAKAN MATLAB 7.0.4 2008a .................................................................................................................... L6 LAMPIRAN 3 LISTING PROGRAM GUI MATLAB ................................................. L9 LAMPIRAN 4 LISTING PROGRAM TIDAK REAL-TIME ........................................ L21
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI LAMPIRAN 5 HASIL PERSENTASE PENGENALAN NADA SECARA TIDAK REALTIME
.................................................................................................................... L27
LAMPIRAN 6 TABEL JARAK OPTIMAL. ................................................................. L33
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR Halaman Gambar 2.1.
Dimensi Saksofon Alto dan bentuk Saksofon Alto ............................... 4
Gambar 2.2.
Sound Card ............................................................................................ 6
Gambar 2.3.
Penulisan Program Matlab Secara Langsung ........................................ 7
Gambar 2.4.
M-file Matlab ......................................................................................... 8
Gambar 2.5.
Sinyal terekam ....................................................................................... 9
Gambar 2.6.
Hasil proses normalisasi dari gambar 2.5. ............................................. 9
Gambar 2.7.
Hasil pemotongan awal sinyal Gambar 2.6. .......................................... 10
Gambar 2.8.
Hasil Pemotongan sinyal untuk daerah transisi dari gambar 2.7. .......... 10
Gambar 2.9.
Hasil Frame Blocking dari gambar 2.8.................................................. 10
Gambar 2.10.
HasiL Proses Normalisasi 2 dari gambar 2.9. ....................................... 11
Gambar 2.11.
Hasil Proses Windowing dari gambar 2.10. ........................................... 12
Gambar 2.12.
Algoritma kupu-kupu FFT DIT dua dimensi untuk DFT 8 Titik .......... 15
Gambar 2.13.
Gambar ilustrasi algoritma Sande-Turkey FFT untuk N =
Gambar 3.1.
Diagram Blok Sistem Pengenalan Nada Saksfon Alto.. ........................ 18
Gambar 3.2.
GoMic Protable USB Microphone by SAMSON ................................... 19
Gambar 3.3.
Proses Pengenalan Nada Saksofon Alto ................................................ 20
Gambar 3.4.
Proses Pengambilan database Nada ...................................................... 22
Gambar 3.5.
Tampilan Utama Sistem Pengenalan Nada Saksofon Alto ................... 23
Gambar 3.6.
Diagram Alir Sistem Pengenalan Nada saksofon Alto .......................... 25
Gambar 3.7.
Diagram Alir Sub Rutin Rekam ............................................................ 25
Gambar 3.8.
Diagram alir Normalisasi....................................................................... 26
Gambar 3.9.
Diagram alir Pemotongan Sinyal ........................................................... 28
Gambar 3.10.
Diagram Alir Frame Blocking ............................................................... 28
Gambar 3.11.
Diagram alir Normalisasi 2.................................................................... 29
Gambar 3.12.
Diagram alir Windowing ........................................................................ 30
Gambar 3.13.
Diagram alir Ekstraksi ciri FFT ............................................................. 31
Gambar 3.14.
Diagram Alir perhitungan jarak Simetrik Probabilitas 2 ..................... 32
Gambar 3.15.
Diagram alir K-NN ................................................................................ 33
Gambar 4.1.
Ikon Matlab 7.6.0 (R2008a) .................................................................. 35
xvi
= 8 ......... 15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 4.2.
Tampilan Matlab .................................................................................... 36
Gambar 4.3
Tampilan Program Pengenalan Nada Saksofon alto ............................. 36
Gambar 4.4.
Tampilan Hasil Pengenalan ................................................................... 37
Gambar 4.5.
Grafik Pengaruh Perubahan Windowing Koefisien Terhadap Perenstase Keberhasilan Pada Frame Blocking 128 ............................................... 48
Gambar 4.6.
Grafik Pengaruh Perubahan Windowing Koefisien Terhadap Perenstase Keberhasilan Pada Frame Blocking 64 ................................................. 48
Gambar 4.7.
Grafik Pengaruh Perubahan Windowing Koefisien Terhadap Perenstase Keberhasilan Pada Frame Blocking 32 ................................................. 49
Gambar 4.8.
Grafik Pengaruh Perubahan Windowing Koefisien Terhadap Perenstase Keberhasilan Pada Frame Blocking 16 ................................................. 49
Gambar 4.9.
Gambar Alat Musik Pianika ................................................................. 54
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL Halaman Tabel 2.1.
Nilai Frekuensi Nada Saksofon Alto .......................................................... 5
Tabel 2.2.
Pembalikan bit ............................................................................................ 14
Tabel 3.1.
Spesifikasi GoMic Portable USB Microphone by SAMSON ..................... 19
Tabel 3.1.
(Lanjutan) Spesifikasi GoMic Portable USB Microphone by SAMSON ... 20
Tabel 3.2.
Keterangan Tampilan Utama Sistem.......................................................... 24
Tabel 4.1.
Menggunakan nilai frame blocking 128 dengan 1 database untuk setiap nada .................................................................................................................... 47
Tabel 4.2.
Menggunakan nilai frame blocking 64 dengan 1 database untuk setiap nada .................................................................................................................... 47
Tabel 4.3.
Menggunakan nilai frame blocking 32 dengan 1 database untuk setiap nada .................................................................................................................... 48
Tabel 4.4.
Menggunakan nilai frame blocking 16 dengan 1 database untuk setiap nada .................................................................................................................... 48
Tabel 4.5.
Hasil Pengujian secara real time tanpa Thresholding dengan variasi frame blocking 128, windowing koefisien 50% dan k=1 pada k-NN dengan Confusion matriks ...................................................................................... 51
Tabel 4.6.
Jarak Optimal Tiap Nada dengan variasi frame blocking 128, windowing koe-
.
fisien 50% dan k=1 pada k-NN dengan Confusion matriks ....................... 52
Tabel 4.7.
Hasil Pengujian secara real time dengan variasi 128, 50% dan k=1 menggunAkan Thresholding dengan Confusion matriks .......................................... 52
Tabel 4.7.
(Lanjutan) Hasil Pengujian secara real time dengan variasi 128, 50% dan k=1 menggunakan Thresholding dengan Confusion matriks ............................ 53
Tabel 4.8.
Hasil pengujian dengan nada dari alat musik pianika dengan confusion matriks ................................................................................................................ 54
Tabel 4.9.
Hasil pengujian dengan masukan nada-nada kromatis pada saksofon alto. 55
xviii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN 1.1
Latar Belakang Musik merupakan ekspresi yang timbul dari dalam jiwa manusia yang diwujudkan
dalam bentuk karya seni. Musik terbentuk dari kumpulan nada-nada yang tersusun secara harmonis sehingga menghasilkan “sesuatu yang indah” menurut indera pendengaran yang dimiliki manusia. Baik musik tradisional maupun musik pop, rock dan jazz yang masingmasing memberikan keindahan dalam bermusik. Musik juga bisa menjadi efektif di bidang akademis dengan membantu pembentukan pola belajar, mengatasi kebosanan dan menangkal kebisingan eksternal yang mengganggu [1]. Alat musik yang digunakan pun juga bervariasi, salah satunya alat musik tiup yaitu saksofon. Saksofon merupakan bagian dari banyak alat musik apabila dengan tiupan akan menghasilkan sebuah bunyi. Tinggi rendahnya nada ditentukan oleh frekuensi dasar gelombang bunyi [2]. Semakin besar frekuensi dasar gelombang bunyi, maka semakin tinggi nada yang dihasilkan, demikian pula sebaliknya. Indera pendengaran manusia tidak dapat mengetahui secara pasti jenis nada apa yang didengar olehnya, terkecuali bagi para pemusik profesional. Hal ini amatlah penting bagi seorang pemusik untuk mengetahui apakah alat musiknya sudah menghasilkan nada-nada yang tepat. Berkaitan dengan hal tersebut, dari beberapa penelitian sebelumnya telah dilakukan untuk membuat sistem pengenalan nada pada alat musik, seperti suling rekorder dan alat musik tradisional, seperti “Musical Instruments Sound Recognition”[3] dan “Pengenalan Nada Suling Rekorder Alto Secara Real Time Menggunakan Ekstraksi Cara DCT dan Fungsi Korelasi”[4] dan “Pengenalan Nada Gamelan Kenong Secara Real Time Menggunakan Ekstraksi Ciri DCT Dan Fungsi Jarak Chebyshev”[5]. Kedua sistem ini meniru kemampuan manusia untuk mengenali nada alat musik yang di gunakan dengan menggunakan metode Discrete Cosine Transform (DCT) sebagai nada acuan dan nada acuan tersebut akan dibandingkan dengan nada yang dimainkan dengan menggunakan fungsi Korelasi dan fungsi jarak Chebyshev.
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
Berdasarkan penelitian yang telah dilakukan sebelumnya, penulis ingin membuat suatu sistem pengenalan nada saksofon yakni dengan jenis saksofon alto. Metode yang digunakan juga berbeda yaitu dengan menggunakan metode Fast Fourier Transform (FFT), fungsi Simetrik Probabilistik 2 dan klasifikasi K-NN. Sistem ini akan secara otomatis membandingkan nada dari D, E, Fis, G, A, B, Cis dan D’ atau kita kenal dengan tangga nada do, re, mi, fa, sol, la, si, do’, dengan nada yang yang telah tersimpan pada sistem tersebut (data base). Setelah itu, Nada D, E, Fis, G, A, B, Cis dan D’, diproses terdahulu menggunakan metode Fast Fourier Transform (FFT) dan selanjutnya nada tersebut digunakan sebagai nada acuan. Nada yang dimainkan kemudian akan dibandingkan dengan kedelapan nada acuan dengan menggunakan perhitungan jarak Simetrik Probabilistik 2 dan metode K-NN sebagai hasil keluaran pengenalan nada dimana mencari kelas nilai yang paling banyak muncul.
1.2
Tujuan dan Manfaat Penelitian Tujuan penelitian ini adalah menghasilkan aplikasi pengenalan nada pada alat
musik saksofon alto. Manfaat dari penelitian ini adalah: a. Sebagai alat bantu pendukung pembelajaran musik khusunya untuk mengenali nada suara D, E, Fis, G, A, B, Cis, D’. b. Sebagai alat bantu bagi industri alat musik dalam melakukan pengujian alat musik saksofon alto.
1.3
Batasan Masalah Batasan masalah dalam penelitian ini adalah: a. Pengenalan nada bersifat real time. b. Saksofon yang digunakan adalah jenis saksofon alto. c. Nada saksofon alto yang dikenali adalah nada D, E, Fis, G, A, B, Cis, D’ atau biasa di kenal do, re, mi, fa, sol, la, si, do’. d. Jarak antara saksofon alto dengan mikrofon adalah 80 cm. e. Menggunakan software MatLab dalam pembuatan program pengenalan nada. f. Menggunakan metode Fast Fourier Transform (FFT), Hamming window, dan fungsi Simetrik Probabilistik2 dan K-NN untuk proses pengenalan nada.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 1.4
3
Metodologi Penelitian Metodelogi yang digunakan pada tugas akhir ini adalah: a. Studi literature Metode ini merupakan sumber utama dalam penulisan penelitian yang sumbernya diperoleh dari jurnal-jurnal, internet, dan handbook untuk mempelajari hal-hal mengenai sampling, frame blocking, normalisasi, pemotongan sinyal, Hamming window, ekstraksi ciri FFT, fungsi jarak Simetrik Probabilistik 2 dan klasifikasi KNN. b. Perancangan subsistem perangkat lunak Tahap perancangan subsistem perangkat lunak bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan berbagai faktor–faktor permasalahan dan kebutuhan yang telah ditentukan c. Pembuatan subsistem perangkat lunak. Sistem akan bekerja apabila user memberikan interupsi melalui PC dengan media push button yang sudah disediakan dalam perangkat lunak. Sistem akan mengolah interupsi yang diterima dan memulai proses recording sampai user memberikan interupsi kembali untuk menghentikan proses recording. Setelah itu, user memberikan interupsi untuk memulai proses pengenalan nada. Komputer akan mengolah nada dan menyajikannya sebagai sebuah informasi. d. Analisa dan Kesimpulan Analisa data dilakukan dengan meneliti pengaruh variasi
frame blocking,
Windowing koefisien, nilai k pada K-NN, serta memeriksa keakuratan data terhadap hasil proses pengolahan nada, dengan cara membandingkan antara data di komputer dengan data di lapangan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II DASAR TEORI 2.1.
Saksofon Alto Saksofon merupakan alat musik yang termasuk ke dalam kelompok aerophone atau
alat musik tiup[6], single-reed woodwind instrument. Sumber bunyi dari getaran udara di dalam alat berasal dari mulut yang meniup. Pada umumnya saksofon terbuat dari logam dan
dimainkan
menggunakan
single-reed
seperti
klarinet.
Saksofon
umumnya
dihubungkan dengan popular musik, big band musik dan jazz, tapi awalnya ditujukan sebagai instrumen orkestra dan band militer. Saksofon berbentuk tabung dengan sumber suara yang dilengkapi dengan lubang-lubang yang berfungsi sebagai pengatur tinggi rendah suatu nada. Saksofon alto yang digunakan memiliki dimensi 42 x 65 cm. Gambar 2.1 menunjukkan saksofon alto.
65 cm
42 cm
Gambar 2.1. Dimensi Saksofon Alto dan bentuk Saksofon Alto
Saksofon memiliki beberapa jenis yang masing-masing dari setiap jenis ini memiliki ambitus (rentang nada) yang berbeda-beda. Diantaranya ada yang bernama saksofon Soprano (Bb), Alto (Eb), Tenor (Bb), dan Baritone (Eb). Saksofon jenis sopran adalah jenis yang paling umum dipakai. Saksofon sopran memiliki suara yang nyaring dan tinggi khas sopran. Jenis kedua dari saksofon adalah jenis alto. Suara yang dihasilkan
4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5
saksofon alto jauh lebih berat. Berbeda dengan dua jenis saksofon sebelumnya, saksofon jenis tenor memiliki ukuran yang lebih besar sehingga menghasilkan suara yang lebih rendah dibandingkan dua jenis saksofon sebelumnya. Jenis saksofon yang terakhir adalah saksofon bass. Saksofon bass menghasilkan suara rendah khas bass. Saksofon alto memiliki nada dasar di D. Saksofon alto memiliki nilai frekuensi yang berbeda-beda untuk setiap nada. Tabel 2.1 menunjukkan contoh nilai frekuensi nada saksofon alto.
Tabel 2.1. Nilai Frekuensi Nada Saksofon Alto[7] Nada Saksofon Alto
Frekuensi (Hz)
Nada D
349
Nada E
392
Nada Fis
440
Nada G
494
Nada A
523
Nada B
587
Nada Cis
659
Nada D’
698
Cara meniup saksofon alto juga sangat mempengaruhi terjadinya harmonisa frekuensi.
2.2. Mikrofon Mikrofon berguna untuk merubah suara menjadi getaran listrik sinyal analog untuk selanjutnya diperkuat dan diolah sesuai dengan kebutuhan[8] . Pengolahan berikutnya dengan power amplifier dari suara yang berintensitas rendah menjadi lebih keras terakhir diumpan ke speaker. Mikrofon harus dipilih dengan lebih hati-hati. Hal ini dilakukan untuk mencegah berkurangnya kemampuan mikrofon dari performa yang optimal. Hal ini dilakukan untuk mencegah berkurangnya kemampuan mikrofon dari performa yang optimal. Karakteristik mikrofon yang harus diperhatikan ketika akan memilih sebuah mikrofon adalah: a.
Prinsip cara kerja mikrofon dari jenis mikrofon itu sendiri.
b.
Daerah respon frekuensi suara yang mampu dicuplik oleh mikrofon.
c.
Sudut atau arah pencuplikan mikrofon.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI d.
Output sinyal listrik yang dihasilkan mikrofon.
e.
Bentuk fisik mikrofon.
6
Agar lebih efektif, mikrofon yang digunakan haruslah sesuai kebutuhan dan seimbang antara sumber suara yang ingin dicuplik, misalnya suara manusia, alat musik, suara kendaraan, atau yang lainnya dengan sistem tata suara yang digunakan seperti sound sistem untuk live music, alat perekaman, dan sebagainya.
2.3.
Sound Card Sound card merupakan sebuah periperal pada komputer sebagai I/O suara yang
menyediakan kemampuan untuk menghasilkan suara yang dapat didengar oleh pengguna baik melalui speaker atau headphone [9] . Pada dasarnya setiap kartu suara memiliki: a.
Digital Signal Processor (DSP) yang akan menangani semua jenis komputasi.
b.
Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.
c.
Analog to Digital Converter (ADC) sebagai masukan suara.
d.
Read Only Memory (ROM) atau Flash sebagai penyimpanan data.
e.
Musical Instrument Digital Interface (MIDI) untuk menyambungkan beberapa peralatan musik eksternal.
f.
Jack untuk menyambungkan kartu suara dengan speaker pada jalur line out atau microphone pada jalur line in. Beberapa kartu suara sudah terpasang secara pabrikan (on board) pada
motherboard komputer, tetapi bisa juga ditambahkan untuk keperluan pada slot PCI motherboard.
Gambar 2.2. Sound Card
2.4.
MatLab MATLAB merupakan bahasa pemrograman yang hadir dengan fungsi dan
karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++ [10]. MATLAB merupakan bahasa pemrograman level
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7
tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan,
dan
grafik-grafik
perhitungan.
MATLAB
adalah
software
buatan
MathWork.Inc., yang sangat bermanfaat untuk menyelesaikan berbagai masalah komputasi numerik. Beberapa bagian penting yang terdapat pada antar muka MATLAB adalah sebagai berikut : a. Command Window atau jendela perintah adalah jendela yang dipakai untuk memberikan perintah secara manual. b. Workspace berisi daftar variabel yang diciptakan oleh pemakai dan masih ada dalam memori. c. Command History mencantumkan perintah-perintah yang pernah diberikan oleh pemakai. d. Current Directory menyatakan direktori kerja. Terdapat dua metode yang digunakan untuk menulis program dalam Matlab. Kedua metode itu adalah metode langsung dan tidak langsung. Untuk menulis program Matlab secara langsung maka program itu ditulis langsung di Command window.
Gambar 2.3. Penulisan Program Matlab Secara Langsung
Untuk menulis program Matlab secara tidak langsung maka program itu dapat ditulis sebagai M-file.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
8
Gambar 2.4. M-file Matlab
2.5.
Teorema Pencuplikan Sampling merupakan proses pencuplikan sinyal kontinyu atau analog pada
periode-periode tertentu. Dalam proses ini sinyal suara akan dicuplik menjadi gelombang diskrit. Pada saat proses sampling dilakukan, pengaturan nilai frekuensi sampling harus diperhatikan [11]. Frekuensi sampling adalah laju pencuplikan yang menandakan banyak pencuplikan gelombang analog dalam satu detik. Nilai satuan frekuensi sampling adalah Hertz (Hz). Nilai frekuensi sampling sebaiknya tertuju pada kriteria Nyquist. Didalam kriteria Nyquist dituliskan bahwa frekuensi sampling minimal harus lebih besar sama dengan 2 kali nilai frekuensi sinyal analog yang akan dicuplik [11]. Rumus pada kriteria Nyquist dapat dituliskan: (2.1) Keterangan :
Fs = frekuensi sampling (Hz) Fm = frekuensi sinyal analog (Hz)
2.6.
Preprocessing Preprocessing adalah beberapa proses awal dalam pengenalan nada yang bertujuan
untuk pengkondisian sinyal suara. Preprocessing dilakukan sebelum proses ekstraksi ciri. Preprocessing mempunyai beberapa tahapan proses yaitu pemotongan sinyal, blocking, normalisasi dan windowing.
frame
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
2.6.1. Normalisasi Normalisasi merupakan suatu cara untuk mengatasi jarak antara sumber suara dengan mikrofon. Pada perekaman atau pengambilan suara ini perlu adanya normalisasi supaya amplitudo nada saat dimainkan dapat menjadi maksimal [12]. Normalisasi amplitudo dilakukan dengan cara membagi semua nilai input dengan nilai maksimum dari input sendiri, sehingga untuk semua sinyal masukan memiliki nilai maksimum yang sama yaitu 1 (satu). 0.2 0.15 0.1
Amplitudo
0.05 0 -0.05 -0.1 -0.15 -0.2
0
500
1000
1500
2000 2500 Data Tercuplik
3000
3500
4000
4500
3500
4000
4500
Gambar 2.5. Sinyal terekam 1 0.8 0.6
Amplitudo
0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
500
1000
1500
2000 2500 Data Tercuplik
3000
Gambar 2.6. Hasil proses normalisasi dari gambar 2.5
2.6.2. Pemotongan Sinyal Pemotongan sinyal merupakan proses yang berkaitan dengan ekstraksi ciri. Proses ini bertujuan untuk memotong beberapa bagian sinyal. Dalam proses perekaman, pemotongan sering terjadi untuk bagian awal dan akhir sinyal. Pemotongan bagian awal dan akhir sinyal nada dimaksudkan untuk menghilangkan bagian yang tidak termasuk bagian dari sinyal nada serta untuk mengurangi cacat sinyal akibat derau ruangan yang ikut terekam [13].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
1 0.8 0.6
Ampitudo
0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1
0
500
1000
1500
2000 2500 Data Tercuplik
3000
3500
4000
Gambar 2.7. Hasil pemotongan awal sinyal Gambar 2.6 0.6 0.4
Amplitudo
0.2 0 -0.2 -0.4 -0.6 -0.8
0
500
1000
1500 Data Tercuplik
2000
2500
3000
Gambar 2.8. Hasil Pemotongan sinyal untuk daerah transisi dari gambar 2.7
2.6.3. Frame Blocking Frame blocking merupakan pembagian sinyal suara menjadi beberapa frame dan satu frame terdiri dari beberapa data sample[14]. Pengambilan sample tersebut tergantung dari tiap detik suara yang akan disample dan berapa besar frekuensi sampling. Gambar 2.8 menunjukkan contoh frame blocking, keseluruhan frame dibagi menjadi 5 M frame. Setiap M memiliki jumlah data sama yaitu 2 data, dengan N adalah Nyquist 0.4 0.3
Amplitudo
0.2 0.1 0 -0.1 -0.2 -0.3 -0.4
0
20
40
60 80 Data Tercuplik (Frame)
100
120
Gambar 2.9. Hasil Frame Blocking dari gambar 2.8
140
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
Fungsi frame blocking yaitu untuk mereduksi data yang akan diproses dalam sistem pengenalan. Frame blocking juga dapat mempercepat proses perhitungan pada FFT (Fast Fourier Transform) radix 2 dengan jumlah data pada setiap frame memiliki 2n data sampel yang di ambil dari keseluruhan data sampel.
2.6.4. Normalisasi 2 Normalisasi 2 merupakan suatu cara untuk mengatasi amplitudo sinyal pada hasil dari frame blocking yang telah di potong pada bagian transisi dimaksimal. Normalisasi 2 amplitudo dilakukan dengan cara membagi semua nilai input dengan nilai maksimum dari input sendiri, sehingga untuk semua sinyal masukan memiliki nilai maksimum yang sama yaitu 1 (satu). 1
Amplitudo
0.5
0
-0.5
-1
0
20
40
60
80
100
120
140
Data Tercuplik
Gambar 2.10. Hasi Proses Normalisasi 2 dari gambar 2.9
2.6.5. Windowing Hamming Pengenalan nada pada alat musik saksofon alto ini menggunakan windowing Hamming. Windowing berfungsi untuk menghilangkan discontinuitas. Terjadinya discontinuitas diakibatkan oleh proses Frame Blocking atau Framing [15]. 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. Pada pengenalan nada alat musik saksofon alto windowing yang digunakan adalah windowing Hamming. Berikut ini merupakan persamaan dari windowing Hamming : ( ) Dimana :
(
w(n) = windowing N
= jumlah data dari sinyal
)
(2.2)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI n
12
= waktu diskrit ke-
1
Amplitudo
0.5
0
-0.5
-1
0
20
40
60
80
100
120
140
Waktu
Gambar 2.11 Hasil Proses Windowing Hamming dari gambar 2.10
2.7.
Discerete Fourier Transform (DFT)
Discrete Fourier Transform (DFT) adalah transformasi yang mengubah domain waktu ke domain frekuensi. Rumus DFT dapat didefinisikan sebagai[17]:
(2.3)
dengan: N = jumlah sempel. ( ) = runtun masukan (time domain). X(k) = runtun keluaran (frekuensi domain).
2.8.
Fast Fourier Transform (FFT) Fast Fourrier Transform (FFT) merupakan jenis dari ekstraksi ciri dan
pengembangan dari Discrete Fourrier Transform (DFT).
DFT merupakan metode
transformasi matematis untuk sinyal waktu diskrit, sementara FFT adalah algoritma yang digunakan untuk transformasi FFT. Persamaan matematis DFT diuraikan pada persamaan (2.4). ( )
∑
( )
(2.4)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
, n=0, 1,…, N-1, dan k = 0, 1, 2, …, N-1
dengan
X(n) adalah keluaran dalam domain frekuensi, x adalah masukkan dalam domain waktu dan N adalah runtun masukkan diskret. e = natural number (2.7182818284…) k = indeks dalam domain frekuensi (0, 1, 2, …, N-1) n = indeks dalam domain waktu (0,1,2, …, N-1) j = konstanta fourrier Prinsip dasar FFT adalah menguraikan penghitungan N-titik DFT menjadi penghitungan DFT dengan ukuran yang lebih kecil dan memanfaatkan periodisitas dan simetri dari bilangan kompleks
[18]
Ada dua jenis algoritma FFT yaitu algoritma Fast Fourier Transform Decimation In Time ( FFT DIT) dan algoritma Fast Fourier Transform Decimation In Frekuensi ( FFT DIF). Pada penulisan ini, algoritma FFT yang digunakan adalah radiks dua dengan metode decimation in time. Pada DIT, masukan disusun/dikelompokkan menjadi kelompok ganjil dan kelompok genap. Runtun bernomor genap adalah x(0), x(2), x(4)…..x(N-2) dan runtun bernomor ganjul adalah x(1), x(3), x(5)…x(N-1). Kedua runtun berisi N/2-titik. Runtun genap ditandakan x(2k) dengan x=0 sampai k=N/2-1, sedangkan runtun ganjil menjadi x(2k-1). Persamaan (2.3) dapat dinyatakan sebagai penjumlahan untuk n ganjil dan genap. ( )
∑
(
)
∑
Selanjutnya dengan menggantikan ( )
∑
(
)
( =
∑
)
(2.5)
maka persamaan (2.5) menjadi (
)
(2.6)
n = 0, 1, 2, …,N-1 Algoritma decimation in time mengharuskan masukkan disusun ulang sedemikian rupa sehingga hasil perhitungan akhir mempunyai urutan yang sesuai. Tabel 2.2 memperlihatkan penyusunan ulang untuk tujuan tersebut[19].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
Tabel 2.2. Pembalikan bit
Masukkan yang Berkebalikan
Masukkan Asli
Bit
Desimal
Biner
Biner
Desimal
0
000
000
0
1
001
100
4
2
010
010
2
3
011
110
6
4
100
001
1
5
101
101
5
6
110
011
3
7
111
111
7
Berdasarkan persamaan matematis DFT (2.2) memerlukan bilangan kompleks, sedangkan pada FFT memerlukan perhitungan dalam perkalian kompleks
untuk perkalian . Penghematan
adalah sebesar
-
. Untuk
penjumlahan kompleks DFT membutuhkan N(N-1), sedangkan pada FFT memerlukan . Penghematan penjumlahan kompleks adalah N(N-1) -
[11]. Contoh
pernghematan perhitungan dalam perkalian kompleks apabila nilai N = 64, maka
-
= 4096 – 192 = 3094. Penghematan perhitungan DFT dibandingkan FFT untuk penjumlahan kompleksnya adalah 64(64-1) -
= 4032 – 384 = 364
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
Gambar 2.12 Algoritma kupu-kupu FFT DIT dua dimensi untuk DFT 8 Titik [20]
Gambar 2.13 Gambar ilustrasi algoritma Sande-Turkey FFT untuk N = Keterangan
= 8 [20]
: a, b, c, d, e, f, g, h adalah keluaran dari tahap pertama : i, j, k, l, m, n, o, p adalah keluaran dari tahap ke-2 :X(0), X(1), X(2), X(3), X(4), X(5), X(6), X(7) adalah keluaran dari tahap ke-3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
16
Setelah melakukan transformasi FFT, suara asli yang diperoleh dari hasil perekaman akan diubah ke dalam bentuk pola suara yang merupakan hasil ekstraksi ciri suara. Data suara yang telah diubah mempunyai bentuk 1 dimensi, keluaran hasil ekstraksi ciri mempunyai dimensi yang sama dengan masukkan suara asli yaitu 1 dimensi. Jika masukkan adalah f(x) maka keluarannya adalah F(y). Definisi FFT untuk 1 dimensi dengan masukkan f(x) dengan ukuran dimensi sebesar N (sehingga x = 0, 1, 2,…,N-1) maka: ( )
2.9.
∑
( )
(2.7)
Template Matching Pendekatan pengenalan pola adalah salah satu yang paling sederhana dan paling
awal dengan didasarkan pada template matching. Matching adalah operasi generik dalam pengenalan pola yang digunakan untuk menentukan kesamaan antara dua entitas dari jenis yang sama. Dalam template matching, contoh atau bentuk asli dari pola yang menjadi pengenalan sudah tersedia. Pola yang menjadi pengenalan dicocokan terhadap template yang telah tersimpan. Kesamaan ukuran dapat di optimalkan berdasarkan template tersedia[21].
2.9.1. Fungsi Jarak Simetrik Probabilitas 2 Fungsi Jarak Simetrik Probabilitas 2 adalah menghitung besarnya perubahan dari dua variabel[22]. Fungsi jarak ini membagi dua variabel satu dengan variabel lainnya yang saling berhubungan. Fungsi Simetrik Probabilitas 2 dirumuskan sebagai berikut
(2.8) = jarak Simetrik Probabilitas 2
Dengan : n
= panjang vektor
Pi,Qi
= vektor yang akan dibandingkan
2.10. Klasifikasi k-NN Algoritma yang disebut aturan tetangga terdekat atau biasa dikenal k nearest neighbour (k-NN) adalah diringkas secara berikut[23]. Misal ada vector x yang tidak diketahui, maka:
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III PERANCANGAN 3.1.
Sistem Pengenalan Nada Saksofon Alto Diagram blok sistem pengenalan nada saksofon alto secara keseluruhan
diperlihatkan pada Gambar 3.1.
Saksofon Alto
Sound Card
Proses Perekaman
Notebook
Proses Pengenalan Nada
Mikrofon
Gambar 3.1. Diagram Blok Sistem Pengenalan Nada Saksfon Alto
Sistem pengenalan nada saksofon alto terdiri dari perangkat keras dan perangkat lunak. Perangkat keras terdiri dari saksofon alto, mikrofon, dan notebook. Sedangkan perangkat lunak terdiri dari program pada notebook yang berfungsi sebagai interface dalam proses pengenalan nada. Perangkat lunak yang dibuat dengan menggunakan Matlab tersebut memiliki peran penting dalam proses pengaturan sistem pengenalan nada saksofon alto
seperti merekam nada saksofon alto dan mengenali suara nada yang terekam.
Perekaman suara nada dilakukan oleh notebook melalui mikrofon pada line in notebook.
18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
a. Saksofon Saksofon yang digunakan adalah saksofon jenis alto. Saksofon alto berfungsi untuk menghasilkan nada D, E, Fis, G, A, B, Cis, D’ yang akan dikenali oleh perangkat lunak. Nada yang dihasilkan akan direkam menggunakan mikrofon yang terdapat pada line in notebook. b. Mikrofon Mikrofon berfungsi untuk menangkap sinyal analog dan kemudian menyalurkannya ke sound card pada notebook melewati line in yang ada pada sound card. Mikrofon yang digunakan adalah
GoMic Portable USB Microphone by SAMSON seperti yang
ditunjukkan pada Gambar 3.2. GoMic Portable USB Microphone sangat mudah digunakan dan dibawa karena bentuknya yang sangat ringan.
Gambar 3.2. GoMic Portable USB Microphone by SAMSON
Tabel 3.1 Spesifikasi GoMic Portable USB Microphone by SAMSON Pollar pattern
Cardiod and Omni
Frequency Response: Cardiod
80 Hz – 18 KHz
Omni
20Hz – 20 KHz
Element type
Fixed Charge electret
Element Diameter
10mm
Diapragm thicknes Cardiod and Omni Sensitivity
4 Microns and 2 Microns -47 +/- 2dB/Pa
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
20
Tabel 3.1 (Lanjutan) Spesifikasi GoMic Portable USB Microphone by SAMSON SPL
023 lbs (.105)
Weight
2.8” x 1.7 x 23” x 0.9”
Dimensions
70.5mm x 43.5mm x 23mm
c. Sound card Sound card berfungsi mengubah sinyal analog dari mikrofon menjadi sinyal digital. Sound card yang digunakan adalah sound card yang sudah terpasang pada motherboard. Dalam konversi sinyal analog menjadi sinyal digital dan kemudian disimpan diperlukan pengaturan yang meliputi pengaturan frekuensi sampling dan channel. Pengaturan tersebut dilakukan pada proses perekaman oleh program yang akan dibuat. d. Proses perekaman Proses perekaman merupakan proses masuknya nada terekam melalui mikrofon pada line in notebook berupa sinyal digital. Proses perekaman berfungsi untuk merubah data sinyal analog menjadi data sinyal digital. Sinyal digital kemudian disimpan dan digambarkan dalam sebuah plot. Data nada yang telah disimpan disebut nada terekam dan kemudian dapat diproses untuk dikenali lewat proses pengenalan nada. e. Proses pengenalan nada Proses pengenalan nada adalah proses mengenali nada yang terekam agar dapat diketahui jenis nada apa yang direkam. Proses ini terdiri dari subproses normalisasi, pemotongan sinyal, frame blocking, normalisasi 2, windowing, ekstraksi ciri FFT, perhitungan jarak Simetrik Probabilistik 2 (Database), K-NN sebagai penentuan hasil nada. Diagram blok proses pengenalan nada dapat dilihat pada Gambar 3.3. Masukan (Suara saksofon alto.wav)
Normalisasi
Pemotongan Sinyal
Frame Blocking
Normalisasi 2
Windowing
Keluaran (Tampilan dalam bentuk teks)
Penentuan Hasil Pengenalan Nada (K-NN)
Perhitungan Jarak Simetrik Probabilitas 2
Data Base
Gambar 3.3. Proses Pengenalan Nada Saksofon Alto
Ekstraksi Ciri FFT
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
Setiap subproses dalam proses pengenalan nada memiliki fungsi masing-masing, yaitu : 1. Nada Saksofon Alto Hasil dari sampling nada saksofon alto yang direkam dengan menggunakan mikrofon akan diproses ke tahap selanjutnya seperti yang ditunjukkan pada Gambar 3.4. 2. Pemotongan Sinyal Fungsi proses pemotongan sinyal adalah untuk menghilangkan efek noise atau suara lain yang ikut terekam saat proses perekaman. 3. Frame blocking Proses ini berfungsi untuk memilih data dari data nada terekam, sehingga data yang dipilih dapat mewakili semua data pada nada terekam. 4. Normalisasi Data yang telah melalui proses frame blocking selanjutnya dinormalisasi. Pada tahap ini semua nada saksofon alto yang sudah terekam akan dinormalisasikan. Tujuan dari normalisasi ini agar amplitudo pada saat nada dimainkan bisa maksimal. 5. Windowing Data yang telah dinormalisasikan mengalami proses windowing. Dari jenis windowing yang ada, dalam penelitian ini menggunakan Hamming Window. 6.
Fast Fourier Transform Proses Fast Fourier Transform merupakan proses ekstraksi ciri suatu data suara maupun gambar. Evaluasi FFT yang digunakan berdasarkan frame blocking yang digunakan. Setelah menentukan besar frame blockingnya, kemudian frame blocking tersebut dievaluasi basis data koefisiennya.
7. Perhitungan Jarak Simetrik Probabilitas 2 Perhitungan Jarak Simetrik Probabilitas 2 merupakan proses dari sistem yang berfungsi untuk mengenali nada saksofon alto dengan cara menghitung nilai similiaritas terbesar antara database nada dengan nada uji. 8. Penentuan hasil pengenalan nada Proses penentuan adalah subproses terakhir dari proses pengenalan nada. Penentuan hasil pengenalan nada ditentukan berdasarkan hasil perhitungan kelas yang paling banyak muncul dengan metode K-NN. 9. Hasil pengenalan nada (Result) Hasil akhir dari proses pengenalan nada adalah nada yang dikenali. Hasil akhir akan ditampilkan dalam bentuk visual GUI Matlab yang telah dirancang oleh penulis.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.2.
22
Perancangan Database Nada Untuk merancang suatu pengenalan nada maka dibutuhkan nada acuan atau sering
disebut dengan database nada. Database nada terdiri dari delapan nada yaitu nada D, E, Fis, G, A, B, Cis, D’. Pengambilan database nada dilakukan melalui beberapa tahap yaitu perekaman, preprocessing yang terdiri dari proses sampling, normalisasi, pemotongan sinyal, frame blocking,
normalisasi 2, windowing dan ektraksi ciri FFT. Proses
pengambilan database nada ditunjukkan pada Gambar 3.4. Masukan (Suara saksofon alto)
Perekaman (keluaran.wav)
Preprocessing
Ekstraksi ciri FFT
Keluaran (Hasil Ekstraksi Ciri Nada)
Gambar 3.4. Proses Pengambilan database Nada
Proses pengambilan
nada disesuaikan dengan variabel bebas pada pembuatan
sistem pengenalan nada alat musik saksofon alto, tetapi dengan durasi dan frekuensi sampling yang sudah ditetapkan. Database nada direkam dan di sampling sebanyak, satu kali, dua kali, empat kali,delapan kali untuk setiap nadanya. Dari database nada tersebut akan digunakan sebagai perbandingan untuk mengetahui hasil nada dan akan dievaluasi dari setiap jumlah database tersebut. Hal ini dimaksudkan apakah dengan satu , dua, empat dan delapan database disetiap nadanya sudah mencukupi untuk mengenali nada dari sakfon alto. Dari hasil FFT yang telah dinormalisasi akan diambil sesuai windowing koefisien. Dimana maksud dari diambilnya sesuai dengan windowing koefisien adalah mengambil setengah dari hasil FFT yang telah dinormalisasi. Dari hasil tersebut akan diambil lagi sesuai dengan windowing koefisien yang di pilih oleh user. Kemudian dari hasil tersebut digunakan sebagai nada sampel agar sistem pengenalan nada alat musik saksofon alto tidak melakukan perhitungan kembali dalam
mendapatkan database nada dan proses pada
sistem pengenalan nada saksofon alto dapat berjalan lebih cepat. Database nada yang didapat kemudian disimpan dalam fungsi yang ada dalam sistem pengenalan nada alat musik saksofon alto.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.3.
23
Nada Uji Nada uji merupakan nada yang terekam selain suara database nada. Suara uji yakni
terdiri dari sepuluh nada yang terekam dari masing-masing nada dimana nada tersebut sebagai nada uji.Suara uji merupakan suara yang digunakan untuk mencari hasil terbaik dari variasi nilai frame blocking dan Windowing koefisien. Secara garis besar fungsi dari suara uji ialah untuk menjalankan program pengenalan suara nada saksofon alto secara offline atau belum real-time. Sehingga hasil penentuan nilai frame blocking dan Windowing koefisien dari pengenalan nada uji dapat menghasilkan tingkat pengenalan nada saksofon alto yang tertinggi. Proses pengambilan nada saksofon alto uji sama dengan proses pengambilan nada saksofon alto terdapat pada gambar 3.4.
3.4.
Perancangan Tampilan Program GUI MATLAB Tampilan utama untuk program pengenalan nada saksofon alto dibuat dengan
menggunakan GUI Matlab yang di tujukan pada gambar 3.5.
Gambar 3.5. Tampilan Utama Sistem Pengenalan Nada Saksofon Alto
Tampilan utama program dibuat agar user dapat menggunakan sistem ini dengan mudah dan dapat mengerti hasil dari pengenalan nada alat musik saksofon alto. Keterangan tampilan utama sistem pengenalan nada saksofon alto ditunjukkan pada Tabel 3.2.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
Tabel 3.2. Keterangan Tampilan Utama Sistem Nama
Keterangan
Tombol RECORD
Berfungsi untuk menjalankan program
Variasi Nilai Frame
Untuk memilih frame yang digunakan pada
Blocking
proses pengenalan nada, pilihan berupa 128, 64, 32, dan 16.
Variasi Nilai k pada k-NN
Untuk variasi nilai k=1, 3, 5 dan 7 pada k-NN
Variasi Nilai Windowing
Untuk variasi windowing koefisien
Koefisien
menggunakan 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% dan 100%
Plot Hasil Perekaman
Berfungsi untuk menampilkan grafik hasil dari perekaman nada Berfungsi untuk menampilkan grafik data hasil ekstaksi ciri FFT.
Hasil Nada
Berfungsi untuk menampilkan hasil yang telah diproses oleh program dengan hasil dari K-NN.
RESET
Berfungsi untuk mengembalikan ke tampilan awal program
CLOSE
3.5.
Berfungsi untuk mengakhiri program
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 dan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
27
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
28
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.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
29
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
amplitudo yang lainnya menyesuikan dengan skala tersebut. Proses normalisasi pada nilainilai 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 :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI ) Dimana :
(
)
31
(3.4)
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
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 masingmasing 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) = jarak Simetrik Probabilitas 2
Dengan : n
= panjang vektor
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Pi,Qi
33
= 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.
Tidak
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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
34
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
3.6.
ki terbanyak dari sampel.
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).
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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 langkahlangkah 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.
35
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
36
Gambar 4.2. Tampilan Matlab 3. Sebelum membuka tampilan program, perlu memastikan terlebih dahulu pada Current Directory sudah sesuai dengan tempat penyimpanan program yang telah dirancang. 4. Mengetikan perintah gui pada Command window untuk memunculkan tampilan program pengenalan nada. Setelah itu akan muncul tampilan program pengenalan nada seperti pada Gambar 4.3.
Gambar 4.3. Tampilan Program Pengenalan Nada Saksofon alto
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
5. User memilih nilai variasi frame blocking, windowing koefisien dan nilai k pada KNN yang akan digunakan terlebih dahulu sebelum melakukan pengenalan nada. Nilai variasi frame blocking yang disediakan adalah 16, 32, 64 dan 128. Nilai variasi windowing koefisisen yang disediakan adalah 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%. Nilai variasi K-NN yang disediakan adalah 1, 3, 5 dan 7. 6. Apabila langkah 5 sudah dilakukan, user dapat memulai pengenalan nada dengan menekan tombol “RECORD”. Hasil pengenalan nada saksofon alto terlihat seperti pada gambar 4.4.
Gambar 4.4 Tampilan Hasil Pengenalan 7. User dapat mengulang kembali pengenalan nada dengan menekan tombol “RESET” dan mengulang kembali langkah 5 dan 6. 8. User dapat mengakhiri pengenalan nada dengan menekan tombol “CLOSE”.
4.1.1. Pengenalan Nada Pengenalan nada dapat dilakukan dengan melakukan berbagai langkah-langkah seperti yang telah dijelaskan di atas. Tampilan program pengenalan nada dapat dilihat pada Gambar 4.3. Pada tampilan pengenalan nada terdapat 3 pop up menu, 2 axes, 3 push button, dan 1 edit text. User dapat memulai pengenalan nada dengan melakukan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
38
pengaturan terlebih dahulu pada program pengenalan nada. Pengaturan yang perlu dilakukan adalah dengan memilih nilai nilai variasi frame blocking, windowing koefisien dan nilai k pada k-NN yang terdapat pada pop up menu. Setelah menentukan nilai variasi yang akan digunakan, user dapat memulai pengenalan nada dengan menekan tombol tekan ”RECORD”. Hasil pengenalan yang ditampilkan adalah plot perekaman, plot FFT, dan nada yang berhasil dikenali. User dapat mengulang pengenalan nada dengan menekan tombol “RESET” dan mengakhiri pengenalan dengan menekan tombol “CLOSE” seperti yang telah dijelaskan di atas. a. Pop Up Menu Pada tampilan program pengenalan nada terdapat 3 pop up menu yaitu variasi frame blocking, windowing koefisien dan nilai K-NN. Nilai variasi frame blocking yang ditampilkan pada pop up menu yaitu 16, 32, 64, 128. Nilai variasi windowing koefisien yang ditampilkan pada pop up menu yaitu 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% dan 100%. Pada variasi frame blocking menampilkan menjalankan perintah program yang telah dirancang sebagai berikut: indeks=get(handles.popupmenu1,'Value'); switch indeks case 1 framebl=128; case 2 framebl=64; case 3 framebl=32; case 4 framebl=16; end handles.frame=framebl; guidata(hObject,handles);
Pada program di atas, nilai frame blocking diinisialisai menggunakan nama frame yang dibagi dalam 4 kondisi sesuai dengan banyaknya variasi. Inisialisasi frame tersebut diproses menggunakan perintah handles. Perintah ini digunakan untuk data atau nilai frame blocking yangtelah diinisialisasi sebagai masukan apabila dilakukan callback. Pada pop up menu variasi windowing koefisien listing program sebagai berikut:
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
39
indeks=get(handles.popupmenu2,'Value'); switch indeks case 1 koef=100; case 2 koef=90; case 3 koef=80; case 4 koef=70; case 5 koef=60; case 6 koef=50; case 7 koef=40; case 8 koef=30; case 9 koef=20; case 10 koef=10; end handles.pct=koef; guidata(hObject,handles);
Proses yang dilalui oleh pop up menu pada variasi windowing koefisien sama dengan proses pada pop up menu variasi frame blocking. Nilai windowing koefisien diinisialisasikan dengan nama pct. Pada pop up menu variasi nilai K-NN listing program sebagai berikut : indeks=get(handles.popupmenu3,'Value'); switch indeks case 1 knn=7; case 2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
40
knn=5; case 3 knn=3; case 4 knn=1; end handles.varn=knn; guidata(hObject,handles);
b. Tombol “RECORD” Tombol “RECORD” adalah tombol yang berfungsi untuk melakukan pengenalan nada saksofon alto. User dapat melakukan pengenalan nada saksofon alto dengan menekan tombol tersebut. Tombol “RECORD” memulai pengenalan nada dengan menjalankan beberapa subproses. Subproses yang dijalankan dimulai dari perekaman nada, ekstraksi ciri FFT, penghitungan jarak Simetrik Probabilitas 2, dan penentuan hasil pengenalan nada berdasarkan kelas yang dipilih oleh user pada nilai k-NN. Program yang digunakan untuk perekaman nada sebagai berikut: sample_length=3; sample_freq=4800; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq, 's.wav'); axes(handles.axes1) plot(x); x=wavread('s.wav');
Perekaman nada pada Matlab menggunakan perintah wavrecord dan wavwrite untuk menyimpan nada yang telah direkam. Nada yang telah terekam tersebut diplot pada tampilan program pengenalan menggunakan perintah plot. Nada terekam diplot pada axes yang telah tersedia di dalam tampilan program perekaman dan ekstraksi ciri FFT (Gambar 3.14). %Ekstraksi ciri FFT x5=abs(fft(x4));
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
x6=x5(1:fb/2); %Ambil sesuai persen koefisien jumkoef=floor((pctkoef/100)*(fb/2)); x7=x6(1:jumkoef); x7=x7(:) axes(handles.axes2) bar (x7);
Nada terekam dan yang telah disimpan dipanggil kembali menggunakan perintah wavread. Dilakukan penginisialisasian nilai frame blocking, batas potong, dan windowing koefisien untuk memudahkan menjalankan proses ekstraksi ciri. Proses ekstraksi ciri memilki 3 masukan yaitu variabel b0, fb, dan pctkoef. bo adalah nilai batas potong. Fb dan pctkoef merupakan nilai masukan yang telah dipilih oleh user. Hasil dari ekstrasi ciri ditampilkan pada tampilan program seperti halnya hasil perekaman. if (b0==0.3) && (fb==128) &&(pctkoef==100) load db1128100; elseif (b0==0.3) && (fb==128) &&(pctkoef==90) load db112890; elseif (b0==0.3) && (fb==128) &&(pctkoef==80) load db112880; elseif (b0==0.3) && (fb==128) &&(pctkoef==70) load db112870; elseif (b0==0.3) && (fb==128) &&(pctkoef==60) load db112860; elseif (b0==0.3) && (fb==128) &&(pctkoef==50) load db112850; elseif (b0==0.3) && (fb==128) &&(pctkoef==40) load db112840; elseif (b0==0.3) && (fb==128) &&(pctkoef==30) load db112830; elseif (b0==0.3) && (fb==128) &&(pctkoef==20) load db112820; elseif (b0==0.3) && (fb==128) &&(pctkoef==10) load db112810; elseif (b0==0.3) && (fb==64) &&(pctkoef==100) load db164100; elseif (b0==0.3) && (fb==64) &&(pctkoef==90) load db16490; elseif (b0==0.3) && (fb==64) &&(pctkoef==80) load db16480; elseif (b0==0.3) && (fb==64) &&(pctkoef==70) load db16470; elseif (b0==0.3) && (fb==64) &&(pctkoef==60) load db16460; elseif (b0==0.3) && (fb==64) &&(pctkoef==50) load db16450; elseif (b0==0.3) && (fb==64) &&(pctkoef==40) load db16440;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
elseif (b0==0.3) && (fb==64) &&(pctkoef==30) load db16430; elseif (b0==0.3) && (fb==64) &&(pctkoef==20) load db16420; elseif (b0==0.3) && (fb==64) &&(pctkoef==10) load db16410; elseif (b0==0.3) && (fb==32) &&(pctkoef==100) load db132100; elseif (b0==0.3) && (fb==32) &&(pctkoef==90) load db13290; elseif (b0==0.3) && (fb==32) &&(pctkoef==80) load db13280; elseif (b0==0.3) && (fb==32) &&(pctkoef==70) load db13270; elseif (b0==0.3) && (fb==32) &&(pctkoef==60) load db13260; elseif (b0==0.3) && (fb==32) &&(pctkoef==50) load db13250; elseif (b0==0.3) && (fb==32) &&(pctkoef==40) load db13240; elseif (b0==0.3) && (fb==32) &&(pctkoef==30) load db13230; elseif (b0==0.3) && (fb==32) &&(pctkoef==20) load db13220; elseif (b0==0.3) && (fb==32) &&(pctkoef==10) load db13210; elseif (b0==0.3) && (fb==16) &&(pctkoef==100) load db116100; elseif (b0==0.3) && (fb==16) &&(pctkoef==90) load db11690; elseif (b0==0.3) && (fb==16) &&(pctkoef==80) load db11680; elseif (b0==0.3) && (fb==16) &&(pctkoef==70) load db11670; elseif (b0==0.3) && (fb==16) &&(pctkoef==60) load db11660; elseif (b0==0.3) && (fb==16) &&(pctkoef==50) load db11650; elseif (b0==0.3) && (fb==16) &&(pctkoef==40) load db11640; elseif (b0==0.3) && (fb==16) &&(pctkoef==30) load db11630; elseif (b0==0.3) && (fb==16) &&(pctkoef==20) load db11620; elseif (b0==0.3) && (fb==16) &&(pctkoef==10) load db11610; end
Ekstraksi database diperoleh dari proses dengan menggunakan program sebagai berikut: function coba1 b0 = 0.3;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
fb=128; %variasi frameblocking yang digunakan 16,32,64 dan 128 pctkoef=50; %variasi windowing koefisien yang digunakan 10%-100% z1=zciri ('Do',b0,fb,pctkoef); z2=zciri ('Re',b0,fb,pctkoef); z3=zciri ('Mi',b0,fb,pctkoef); z4=zciri ('Fa',b0,fb,pctkoef); z5=zciri ('Sol',b0,fb,pctkoef); z6=zciri ('La',b0,fb,pctkoef); z7=zciri ('Si',b0,fb,pctkoef); z8=zciri ('Do_',b0,fb,pctkoef); z=[z1 z2 z3 z4 z5 z6 z7 z8]; save db112850 z
Program di atas untuk memanggil database yang akan dibandingankan dengan nada yang telah terekam menggunakan perhitungan jarak. Database yang dipanggil sesuai dengan pilihan variasi frame blocking dan windowing koefisien yang telah dipilih user. Proses yang dilakukan selanjutnya adalah membandingkan database dengan nada terekam menggunakan perhitungan jarak. Nilai perhitungan jarak tersebut dimasukkan ke dalam metode penentuan keluaran yaitu k-Nearest Neighbor (k-NN), dimana k-Nearest Neighbor (k-NN) akan mengurutkan dari kecil sampai besar nilai dari hasil perhitungan jarak. Setelah mendapatkan nilai yang paling minimum dari pengurutan nilai hasil penghitungan jarak akan diambil nilai minimum sebanyak k (nilai yang dipilih oleh user) pada k-Nearest Neighbor (k-NN), sesuai dengan urutan sampel dari database. Nilai kelas yang paling banyak muncul akan menjadi penentuan keluaran nada saksofon alto yang dikenal. Perintah program perhitungan jarak (Gambar 3.15) sebagai berikut: for k=1:8 z2(k)=jarak(x7,z(:,k)); end
Setelah didapatkan proses perhitungan jarak selanjutnya masuk dalam penentuan pengeluan kelauran nada dalam tahap ini menggunakan metode k-NN. Kelas yang digunakan k-Nearest Neighbor (k-NN) adalah bilangan ganjil seperti 1, 3, 5, dan 7. Kelas k=1 sama dengan tidak menggunakan k-Nearest Neighbor (k-NN)
karena nilai
minimumnya hanya mencari satu nilai sampel dari database dan juga kelasnya hanya ada
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
satu. k=1 tidak bisa mencari nilai yang paling minimum dari nada lain, sedangkan kelas k=3, 5, 7 menggunakan k-Nearest Neighbor (k-NN) karena mencari nilai minimum dari sampel database disetiap variasi sesuai dengan nilai k nya. k-Nearest Neighbor (k-NN) yang diambil sebagai keluaran adalah kelas yang paling banyak muncul. Perhitungan pengurutan nilai minimum ini menggunakan jarak simetrik probabilisitik 2 yang digunakan sebagai perhitungan nilai jarak minimum yang didapatkan dari perbandingan nada masukan dengan database. Karena keterbatasan Matlab 7.6.0 perintah program ditambah modus (mode) yang digunakan untuk mencari nilai yang paling sering muncul, di dalam modus terdapat sampel sesuai dengan variasi dari database. Berikut perintah program k-NN (Gambar 3.16): % Cari n tertangga terdekat k=vark m=1; [s1,s2]=sort(z2,'ascend'); jarakc=sort(z2,'ascend') kj=s1(1:k) tekecil)atau(similaritas terbesar) kn=s2(1:k) hk=ceil(kn/m) terpilih zout=mode(hk) sering muncul
% k pada knn % jumlah sampel per kelas % urut dari kecil terbesar % k (jarak % k kelas terdekat % penentuan kelas-kelas yang % pilih kelas yang paling
idxkout=find(hk==zout); jpilih=kj(idxkout); fjpilih=fliplr(jpilih); jmaks=fjpilih(1) %Penentuan keluaran nada nadaout=kel(zout) set(handles.edit2,'String',nadaout); if (zout == 1)&&(jmaks<55.0487) korout = {'Do'}; elseif (zout == 1) && (jmaks>=55.0487) korout = {'ERROR'}; end if (zout == 2) && (jmaks<81.5725) korout = {'Re'}; elseif (zout == 2) && (jmaks>=81.5725) korout = {'ERROR'}; end if (zout == 3) && (jmaks<42.4711) korout = {'Mi'}; elseif (zout == 3) && (jmaks>=42.4711) korout = {'ERROR'};
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
45
end if (zout == 4) && (jmaks<54.8266) korout = {'Fa'}; elseif (zout == 4) && (jmaks>=54.8266) korout = {'ERROR'}; end if (zout == 5) && (jmaks<57.4214) korout = {'Sol'}; elseif (zout == 5) && (jmaks>=57.4214) korout = {'ERROR'}; end if (zout == 6) && (jmaks<105.5574) korout = {'La'}; elseif (zout == 6) && (jmaks>=105.5574) korout = {'ERROR'}; end if (zout == 7) && (jmaks<36.6529) korout = {'Si'}; elseif (zout == 7) && (jmaks>=36.6529) korout = {'ERROR'}; end if (zout == 8) && (jmaks<62.7467) korout = {'Do_T'}; elseif (zout == 8) && (jmaks>=62.7467) korout = {'ERROR'}; end hasilout=korout set(handles.edit2,'string',hasilout)
Perintah program di atas adalah untuk menjalankan hasil penentuan keluaran nada apa yang dihasilkan dari penamaan keluaran teks dari 8 nada. Pada program tersebut penentuan keluaran metode k-Nearest Neighbour dan menentukan bukan nada yang dihasilkan menggunakan metode thresholding. Variasi k-NN menggunakan variabel “vark”. Pada metode k-Nearest Neighbour bertujuan untuk mengambil kelas terdekat atau tetangga terdekat dari perhitungan nilai jaraknya. Fungsi “ascend” pada program berfungsi untuk mengurutkan nilai jarak dari yang terkecil sampai yang terbesar. Metode Thresholding bertujuan untuk menentukan hasil keluaran yang tidak sesuai dengan nada pada database dengan penamaan “ ERROR”. Nilai thresholding didapatkan dari nilai batas optimal pada setiap nada (lampiran 6). Penentuan keluaran menggunakan fungsi logika “if dan else” dimana meliahat beberapa syarat yaitu kelas dan nilai thresholding, jika salah satu tidak terpenuhi maka program akan lanjut ke proses else. Hasil keluaran yang sesuai
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
dengan persyaratan kelas dan nilai thresholding akan di tampilkan dengan format “set(handles.edit2,’string’,hasilout)” dimana hasil keluaran akan ditampilan pada edit2 berupa text yakni delapan nada tersebut berdasarkan penamaan pada program hasil pengeluaran. Variabel kel adalah inisialisasi 8 nada. Nilai kelas yang paling banyak muncul akan dipanggil sebagai keluaran sesuai dengan nama yang telah diinisialisasi sebagai berikut: %deskripsi string keluaran kel={'Do';'Re';'Mi';'Fa';'Sol';'La';'Si';'Do_T'};
c. Tombol “RESET” Tombol “RESET” digunakan apabila user masih ingin melakukan pengenalan nada untuk nada lainnya. Tombol “RESET” berfungsi mengembalikan atau mengulang tampilan program ke tampilan awal. Program yang digunakan untuk tombol RESET adalah sebagai berikut: axes(handles.axes5); plot(0); axes(handles.axes6); plot(0); set(handles.edit3,'String',' ');
Program di atas berfungsi untuk mengembalikan atau mengosongkan axes plot dan kolom edit yang menampilkan hasil pengenalan nada. d. Tombol “CLOSE” Tombol “CLOSE” berfungsi untuk mengakhiri proses pengenalan nada. Program untuk tombol CLOSE yaitu: delete(figure(gui));
4.2.
Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat
Pengenalan Nada Saksofon Alto Pengujian program pengenalan nada saksofon alto terdiri dari tiga tahap pengujian. Tiga tahap pengujian yang dilakukan antara lain pengujian untuk menentukan batasan nilai jarak optimal, pengujian parameter pengaturan pengenalan nada meliputi pengujian secara tidak real-time dan pengujian secara real-time dan pengujian program menggunakan suara masukan dari alat musik lain.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
4.2.1. Pengujian Parameter Pengenalan Nada Pada pengujian ini bertujuan untuk menguji seberapa besar tingkat pengenalan nada dari setiap parameter. Parameter ini antara lain frame blocking, windowing koefisien. Dan nilai k pada K-NN. Pengujian program pengenalna alat musik saksofon alto ini mengguanakan 2 cara, yaitu pengujian secara tidak real-time, dan pengujian secara realtime. Untuk pengujian secara real-time dibagi menjadi 2 cara, real-time tanpa Thresholding, dan real-time menggunakan Thresholding.
4.2.1.1. Pengujian Secara Tidak Real-Time Nada uji digunakan sebagai nada masukan untuk pengujian tidak real time. Proses pengambilan nada uji sama dengan proses pengambilan database nada. Pengujian tidak real time menggunakan nada uji sebanyak 8, 16, 32 dan 64 data (setiap nada memiliki 1, 2, 4 dan 8 database). Hasil pengujian tidak real time adalah data tingkat pengenalan nada dari pengujian yang telah dilakukan. Persentase tingkat pengenalan sistem dapat dicari dengan menggunakan program (lampiran 4). Data tingkat pengenalan untuk database 1, 2, 4 dan 8 disetiap nadanya (lampiran 5) tersebut dipresentasikan dengan persentase yang menunjukan tingkat pengenalan nada berdasarkan variasi nilai frame blocking, windowing koefisien dan nilai k pada k-NN seperti yang ditunjukkan pada tabel 4.1, 4.2, 4.3, dan 4.4. Tabel 4.1. Menggunakan nilai frame blocking 128 dengan 1 database untuk setiap nada nilai k 7 5 3 1
100% 12,5% 12,5% 12,5% 100%
90% 12,5% 12,5% 12,5% 100%
80% 12,5% 12,5% 12,5% 100%
Windowing Koefisien 70% 60% 50% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 100% 100% 100%
40% 30% 20% 10% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 37,5% 25% 25% 37,5% 62,5% 25% 100% 100% 75% 12,5%
Tabel 4.2. Menggunakan nilai frame blocking 64 dengan database 1 untuk setiap nada nilai k 7 5 3 1
100% 12,5% 12,5% 12,5% 100%
90% 12,5% 12,5% 12,5% 100%
80% 12,5% 12,5% 12,5% 100%
Windowing Koefisien 70% 60% 50% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 100% 100% 100%
40% 30% 20% 10% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 25% 0% 12,5% 25% 25% 0% 87,5% 87,5% 50% 0%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 4.3. Menggunakan nilai frame blocking 32 dengan 1 database untuk setiap nada nilai k 7 5 3 1
100% 12,5% 12,5% 12,5% 100%
90% 12,5% 12,5% 12,5% 100%
80% 12,5% 12,5% 12,5% 87,5%
Windowing Koefisien 70% 60% 50% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 87,5% 75% 75%
40% 30% 20% 10% 12,5% 12,5% 12,5% 12,5% 12,5% 25% 25% 12,5% 25% 12,5% 25% 0% 62,5% 62,5% 37,5% 12,5%
Tabel 4.4. Menggunakan nilai frame blocking 16 dengan 1 database disetiap nadanya nilai k 7 5 3 1
100% 12,5% 12,5% 12,5% 50%
90% 12,5% 12,5% 12,5% 50%
80% 12,5% 12,5% 12,5% 62,5%
Windowing Koefisien 70% 60% 50% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 12,5% 50% 37,5% 37,5%
40% 30% 20% 10% 0% 12,5% 12,5% 12,5% 12,5% 25% 12,5% 12,5% 37,5% 25% 37,5% 12,5% 37,5% 37,5% 37,5% 0%
Gambar 4.5. Gambar Pengaruh Perubahan Windowing koefisien terhadap persentase keberhasilan pada frame blocking 128
Gambar 4.6. Gambar Pengaruh Perubahan Windowing koefisien terhadap persentase keberhasilan pada frame blocking 64
48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
49
Gambar 4.7. Gambar Pengaruh Perubahan Windowing koefisien terhadap persentase keberhasilan pada frame blocking 32
Gambar 4.8. Gambar Pengaruh Perubahan Windowing koefisien terhadap persentase keberhasilan pada frame blocking 16
Hasil pengenalan di atas berdasarkan dari tabel dan (lampiran 5) merupakan hasil pengenalan nada dari program yang menggunakan database 1, 2, 4 dan 8. Dari hasil pengenalan nada tersebut di evaluasi apakah dengan menggunakan database nada 1, 2, 4 dan 8 sudah mampu mengenali nada saksofon alto. Setelah dievaluasi diperoleh pengenalan terbaik yang akan digunakan sebagai pengenalan nada secara real time. Berdasarkan tabel 4.1, 4.2, 4.3, 4.4 dan (lampiran 5) menunjukkan kenaikan dan penurunan kinerja sistem dari hasil pengenalan nada dikarenakan oleh pengaruh variasi nilai frame blocking, windowing koefisien dan nilai k pada K-NN. Kelas yang digunakan k-Nearest Neighbour (k-NN) adalah bilangan ganjil seperti 1, 3, 5, dan 7. Berdasarkan data dari tingkat persentase keberhasilan mengenali nada saksofon
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
50
alto, dengan menggunakan database satu disetiap nadanya sudah mampu untuk mengenali nada-nada pada saksofon alto. Sehingga pada peneltian ini k-NN tidak diperlukan pada proses pengenalan nada saksofon alto, dikarenakan untuk kelas k=1 sama dengan tidak menggunakan k-Nearest Neighbor (k-NN) karena nilai minimumnya hanya mencari satu nilai sampel dari database dan juga kelasnya hanya ada satu. k=1 tidak bisa mencari nilai yang paling minimum dari nada lain, sedangkan kelas k=3, 5, 7 menggunakan k-Nearest Neighbor (k-NN) karena mencari nilai minimum dari sampel database disetiap variasi nada sesuai dengan nilai k. Syarat dari k-Nearest Neighbor (k-NN) yang diambil sebagai keluaran adalah kelas yang paling banyak muncul.
4.2.1.2. Pengujian Real Time Pada pengujian secara real-time dibagi menjadi 2, pengujian tanpa Thresholding, dan pengujian untuk mencari nilai batas optimal sebelum ke pengujian menggunakan Thresholding a)
Pengujian tanpa Thresholding Pengujian tanpa menggunakan Thresholding ini bertujuan untuk mengetahui
kinerja program pengenalan nada saksofon alto yang telah dibuat. Dengan kesalahan yang terjadi adalah pengenalan nada dengan keluaran pengenalan secara salah. Pada program pengenalan nada saksofon alto ini user memilih variasi frame blocking, Windowing koefisien dan nilai k pada k-NN dan memilih Ya atau Tidak pada bagian pilihan Threshodling. Setelah user selesai memilih variasi- variasi yang ada maka, user dapat menjalankan program pengenalan nada saksofon alto. Pengujian real time dilakukan dengan menggunakan masukan nada saksofon alto secara langsung. Jumlah data yang diambil untuk pengujian ini adalah sebanyak sepuluh kali untuk setiap nada saksofon alto. Parameter yang digunakan dalam pengujian real time adalah parameter terbaik yang telah didapat pada pengujian tidak real time sebelumnya atau pengujian secara offline. Parameter yang didapat secara tidak realtime yakni dengan variasi frame blocking, windowing koefisien dan nilai k pada k-NN yang terbaik adalah frame blocking 128, windowing koefisien 40%, 50%, 60%, 70%, 80%, 90%, 100% dan nilai k=1 pada k-NN dengan menggunakan database 1.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
51
Berdasarkan percobaan yang telah dilakukan, sistem pengenalan nada dapat mengenali nada saksofon alto dengan baik. Hasil pengujian real time sesuai dengan hasil pengujian tidak real time yaitu mendapatkan nilai variasi parameter terbaik. Pada sistem pengenalan nada saksofon alto tersebut menggunakan variasi terbaik yakni frame blocking 128, windowing koefisien 50% dan nilai k=1 pada k-NN dengan menggunakan database 1.Tabel 4.17 memperlihatkan hasil pengujian secara real time yang dilakukan sebanyak 10 kali pengujian seperti pada tabel berikut : Tabel 4.5. Hasil Pengujian secara real time tanpa Thresholding dengan variasi frame blocking 128, windowing koefisien 50% dan k=1 pada k-NN dengan confusion matriks Output Input
Persentase Keberhasilan
Do
Re
Mi
Fa
Sol
La
Si
Do
10
0
0
0
0
0
0
Do Tinggi 0
Re
0
10
0
0
0
0
0
0
100%
Mi
0
0
10
0
0
0
0
0
100%
Fa
0
0
0
10
0
0
0
0
100%
Sol
0
0
0
0
10
0
0
0
100%
La
0
0
0
0
0
10
0
0
100%
Si
0
0
0
0
0
0
10
0
100%
DoTinggi
0
0
0
0
0
0
0
10
100%
Rata-rata tingkat persentase keberhasilan pengenalan nada
100%
100%
Pada tabel 4.5. dapat dilihat dari 10 kali percobaan tidak terdapat nada yang dikenali secara salah. Dengan demikian pengujian secara real-time tanpa menggunakan Thresholding sama dengan percobaan saat pengujian secara tidak real-time. b)
Pengujian untuk Menentukan Batasan Nilai Jarak yang Optimal Pada pengujian ini dilakukan untuk menentukan batasan nilai jarak yang optimal
sebelum ke pengujian real-time menggunakan thresholding. Parameter yang digunakan untuk menentukan batas nilai ini menggunakan variasi frame blocking 128, windowing koefisien 50%, dan nilai k=1 pada k-NN. Pengujian ini menggunakan 15 kali percobaan setiap nadanya dan dari 15 percobaaan setiap nada tersebut akan mendapatkan nilai optimal (lampiran 6). Pada tabel 4.6 menunjukan nilai optimal yang di dapat untuk setiap nada. Jarak optimal pada tabel tersebut yang digunakan sebagai batas atas penengenalan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
52
setiap nada. jika melebihi batas atas tersebut maka sistem tidak akan mengenali nada- nada yang lain selain nada yang di inginkan, dan akan terdeteksi “ERROR”. Tabel 4.6. Jarak Optimal Tiap Nada dengan variasi frame blocking 128, windowing koefisien 50% dan k=1 pada k-NN. Nada Do Re Mi Fa Sol La Si Do Tinggi
c)
Jarak Optimal 55,0587 81,5725 42,4711 54,8266 57,4214 105,5574 36,6529 62,7467
Pengujian menggunakan Thresholding Pada pengujian ini bertujuan untuk mengetahui kinerja program pengenalan nada
saksofon alto yang telah dibuat dengan penambahan thresholding, sehingga kesalahan yang dikenal sebagai keluaran teks “ERROR”. Thresholding merupakan nilai batas yang ditentukan untuk mengurangi pengenalan nada yang salah. Dalam program thresholding di inisialisasi dengan “jmaks”. Nilai “jmaks” di dapat dari pengujian sebelumnya yaitu pengujian menentukan batas nilai jarak yang optimal. Nilai jarak optimal yang digunakan dalam fungsi logika dalam penentuan keluaran. User langsung dapat menjalankan program dengan thresholding karena Thresholding telah aktif pada sistem pengenalan nada saksofon alto. Tabel 4.7. Hasil Pengujian secara real time dengan variasi frame blocking 128, windowing koefisien 50% dan k=1 pada k-NN menggunakan thresholding dengan confusion matriks Output Input
ERROR
Persentase Keberhasilan
0
100%
Do
Re
Mi
Fa
Sol
La
Si
Do
10
0
0
0
0
0
0
Do Tinggi 0
Re
0
10
0
0
0
0
0
0
0
100%
Mi
0
0
10
0
0
0
0
0
0
100%
Fa
0
0
0
10
0
0
0
0
0
100%
Sol
0
0
0
0
10
0
0
0
0
100%
La
0
0
0
0
0
10
0
0
0
100%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
53
(Lanjutan) Tabel 4.7. Hasil Pengujian secara real time dengan variasi frame blocking 128, windowing koefisien 50% dan k=1 pada k-NN menggunakan thresholding dengan confusion matriks Output Input
Do
Re
Mi
Fa
Sol
La
Si
Si
0
0
0
0
0
0
10
Do Tinggi 0
DoTinggi
0
0
0
0
0
0
0
10
Rata-rata tingkat persentase keberhasilan pengenalan nada
ERROR
Persentase Keberhasilan
0
100%
0
100% 100%
Dari hasil pengujian menggunakan thresholding yang telah dilakukan, sistem pengenalan nada saksofon alto tersebut sudah mampu menggenali nada-nada yang terdapat pada saksofon alto sesuai dengan perancangan dimana untuk nada do sampai do tinggi tidak dikenali sebagai ERROR meskipun sudah menggunakan nilai thresholding yang didapatkan dari hasil pengujian 15 kali percobaan untuk mencari nilai thresholding disetiap nadanya.
4.3.
Pengujian Dengan Nada Masukan Pianika Pada pengujian ini bertujuan untuk mengetahui tingkat pengenalan sistem dalam
mengetahui nada. Sistem diharapkan tidak dapat mengenali nada alat musik lain selain nada saksofon alto. Untuk pengujian program pengenalan nada saksofon alto digunakan alat musik pianika sebagai masukan nadanya. Ada pula langkah- langkah untuk melakukan percobaaan sebagai berikut: 1. Menyiapkan alat musik pianika yang akan digunakan. 2. Nada- nada yang akan digunakan antara lain Do, re, mi, fa, sol, la, si dan DoTinggi. 3. Menggunakan variasi frame blocking 128, windowing koefisien 50% dan k=1 karena variasi tersebut mempunyai tingkat pengenalan yang baik. Menggunakan masukan Thresholding untuk batasan setiap nadanya. 4. Melihat hasil keluaran nada, apakah pengujian tersebut dapat mengenali nada masukan, dikenali dengan keluaran “ERROR”, dikenali dengan nada lain, atau bahkan dikenali nada dengan nada saksofon alto. Setelah melakukan langkah-langkah diatas, berikut ini gambar alat musik pianika dan hasil pengujian dengan nada dari alat musik pianika :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
54
Gambar 4.9. Gambar Alat Musik Pianika Setelah melakukan langkah-langkah diatas, hasil yang diperoleh sebagai berikut: Tabel 4.8. Hasil pengujian dengan nada dari alat musik pianika dengan confusion matriks Output Input
ERROR
Persentase Keberhasilan
10
100%
Do
Re
Mi
Fa
Sol
La
Si
Do
0
0
0
0
0
0
0
Do Tinggi 0
Re
0
0
0
0
0
0
0
0
10
100%
Mi
0
0
0
0
0
0
0
0
10
100%
Fa
0
0
0
0
0
0
0
0
0
100%
Sol
0
0
3
0
0
0
0
0
6
70%
La
0
0
0
10
0
0
0
0
0
0%
Si
0
0
0
0
0
0
0
0
10
100%
DoTinggi
0
0
0
0
0
0
0
0
10
100%
Rata-rata tingkat persentase keberhasilan pengenalan nada
83,75%
Dari hasil pengujian dengan nada dari alat musik pianika dimana nada dasar yang dipakai adalah nada dasar sesuai dengan perancangan. Pada nada sol dan la dikenal dengan nada lain yakni pada nada sol dikenal nada mi dan pada nada la dikenal nada fa ini dikarenakan menurut teori musik bahwa nada dasar yang dipakai pada peracangan pengenalan saksofon alto adalah nada Do=D dan pada piano Do=F atau bisa dikatakan sama dengan pianika, dengan kata lain ada beberapa nada yang kemungkinan akan dikenali berbeda, karena tangga nada masih dalam jarak range yang sama atau masih dalam 1 oktaf yang sama. Pada perocobaan dengan alat musik pianika, pemilihan nilai Thresholding yang digunakan sangat berpengaruh dalam hal tersebut.
4.4.
Pengujian Dengan Nada-Nada Kromatis Pada Saksofon Alto Pada pengujian dengan nada-nada kromatis bertujuan untuk mengetahui tingkat
pengenalan sistem dalam mengetahui nada. Sistem diharapkan tidak dapat mengenali nadanada kromatis pada saksofon alto. Nada-nada kromatis atau biasa dikenal nada-nada tengah
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
55
yakni Cis, Fis, Gis dan Ais. Dalam pengujian ini apakah nilai thresholding bekerja dan berpengaruh pada hasil dari pengenalan nada. Pengujian dilakukan sebanya sepuluh kali untuk setiap nada-nada kromatis. Hasil pengujian dengan nada kromatis ditujukan pada tabel 4.9. Tabel 4.9. Hasil pengujian dengan masukan nada-nada kromatis pada saksofon alto Output Input
ERROR
Persentase Keberhasilan
10
100%
Do
Re
Mi
Fa
Sol
La
Si
Cis
0
0
0
0
0
0
0
Do Tinggi 0
Dis
0
4
0
0
0
0
0
0
6
60%
Fis
0
0
0
0
0
0
0
0
10
100%
Gis
0
0
0
0
0
0
0
0
10
100%
Ais
0
0
0
0
0
0
0
0
10
100%
Rata-rata tingkat persentase keberhasilan pengenalan nada
92%
Dari hasil pengujian dengan nada-nada kromatis pada tabel 4.8 dapat dilihat bahwa pada masukan nada Dis dikenal sebagai nada Re, dimana nada Dis merupakan nada antara Do dan Re sehingga kemungkinan sistem akan mengenali nada Re. Berdasarkan dari hasil tersebut bahwa nilai thresholding yang digunakan sangat mempengaruhi pengenalan nada yang dihasilkan dan nilai jarak antara nada Dis dan Re cukup dekat. Nilai variasi windowing koefisien juga sangat mempengaruhi hasil pengenalan nada, apabila variasi windowing koefisien digunakan semakin besar maka jarak antara nada akan semakin jauh. Apabila jarak semakin jauh maka tingkat pengenalan nada yang dihasilkan semakin baik. Selain itu, kuat lemahnya tiupan juga mempengaruhi hasil pengenalan nada apakah nada dikenali ERROR atau dikenali nada lain.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1 KESIMPULAN Berdasarkan percobaan dan pengujian sistem pengenalan nada saksofon alto maka dapat disimpulkan sebagai berikut : 1. Pada pengujian untuk setiap 1, 2, 4 dan 8 database untuk setiap nadanya secara tidak real-time bahwa dengan menggunakan database nada sedikit yakni dengan 1 database sudah mampu untuk mengenali nada saksofon alto. 2. Pengujian pengenalan nada saksofon alto secara real-time menggunakan 1 database dengan variasi frame blocking 128, windowing koefisien 50% dan nilai k=1 pada k-NN tanpa menggunakan Threshoding memiliki persentase pengenalan nada mencapai 100%. 3. Pengenalan nada-nada kromatis pada saksofon alto mencapai 92%. Dengan database yang sama pengenalan nada dengan masukan pianika menghasilkan 83,75%.
5.2 SARAN Sistem pengenalan saksofon alto ini masih memiliki kekurangan. Ada beberapa saran yang diharapkan dapat mengurangi kekurangan tersebut, antara lain: 1. Pengembangan dapat dilakukan agar sistem dapat mengenali nada tanpa harus merekam masukan secara manual melainkan secara continuous. 2. Pengembangan sistem dengan menambahkan tombol pemutaran nada yang telah direkam, sehingga user dapat mengetahui nada tersebut telah terekam dengan baik.
56
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR PUSTAKA [1]
Ortiz, M., 2002, Menumbuhkan Anak-anak Yang Bahagia, Cerdas, dan Percaya Diri Dengan Musik, Jakarta : Gramedia Pustaka Utama.
[2]
Kurnia, Andi, Penala, Nada Alat Musik Menggunakan Alih Ragam Fourier, Jurusan Teknik Elektro UNDIP, Semarang.
[3]
Darmawan,
Tomi,
2012,
Musical
Instruments
Sound
Recognition
[http://www.slideshare.net/mezzoblues diakses tanggal 5 Januari 2015 [4]
Rubiyo, Melanie, Pradipta, 2014, Pengenalan Nada Seruling Rekorder Alto Secara Realtime Menggunakan Ekstraksi Ciri DCT dan Fungsi Korelasi, Tugas Akhir, Fakultas Sains dan Teknologi Sanata Dharma, Yogyakarta.
[5]
Walasakti, Isoworo, Yogi , 2013, Pengenalan Nada Gamelan Kenong Secara Real Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Chebyshev, Tugas Akhir, Fakultas Sains dan Teknologi Sanata Dharma, Yogyakarta.
[6]
Sinaga, Doli, Pembelajaran Saxophone Alto Pada Lagu Nothings Gonna Change My Love, Tugas Akhir, Fakultas Seni Musik Universitas Negeri Medan, Medan.
[7]
Hasugian,Jimmy,2008,TeoriMusik, https://yoyokpm.files.wordpress.com/2008/04/teori_musik1.pdf diakses pada tangal 5 Januari 2015
[8]
Elsea, P., 1996, Microphones, http://artsites.ucsc.edu/EMS/Music/tech_background/TE-20/teces_20.html
diakses
pada tanggal 5 Januari 2015 [9]
Computer Hope, Sound Card, http://www.computerhope.com/jargon/s/souncard.htm diakses tanggal 28 Februari 2015
[10] Irawan, A, Feriza, 2012, Buku Pintar Pemrograman Matlab, MediaKom,Yogyakarta. [11] Juang, B. H., & Rabiner, L., 1993, Fundamentals Of Speech Recognition. Signal Processing Series, Prentice Hall, Englewood Cliffs, NJ. [12] Hakim, L., 2012, Analisa Suara Serak Berbasis Transformasi Wavelet dan Algoritma Jaringan Syaraf Tiruan, Tugas Akhir Jurusan Teknik Elektro, Institut Teknologi Sepuluh Nopember, Surabaya. [13] Pemotongan Sinyal, httpeprints.undip.ac.id253441ML2F003484.pdf 16 Februari 2015
57
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
58
[14] Eka Kartikasari, Yesika, 2006, Pembuatan Software Pembuka Program aplikasi Komputer Berbasis Pengenalan Sinyal Suara, PENS-ITS, Surabaya. [15] Kushidayati. Milla Fitriani, Pembuatan Data Base Transkrip Akord Instrumen Tunggal Menggunakan Metode Enhanced Pitch Class Profile (EPCP),Tugas Akhir, Institue Teeknologi Bandung, Bandung. [16] Sutiknyo, Prabowo Hadi Putro, Pengolahan Suara Berdasarkan Usia Dengan Menggunakan Metode K-Means, Paper, Jurusan Teknik Telekomunikasi Politeknik Elektronika Negeri Surabaya, Institut Teknologi Sepuluh Nopember Kampus ITS, Surabaya. [17] Kriptografi,2010,http://www.informatika.org/~rinaldi/Kriptografi/20102011/Makalah1/Makalah1-IF3058-Sem1-2010-2011-052.pdf diakses pada tanggal 28 Februari 2015. [18] E. Oran Brigham, “The Fast Fourier Transform And Its Application”, Prentice-Hall International, Inc.s [19] Nandra Pradipta, “Implementasi Algoritma FFT (Fast Fourier Transform) Pada Digital Signal Precessor TMS320C542”,Tugas Akhir, Universitas Diponegoro, Semarang. [20] Linggo Sumarno,”Pengolahan Signal Digital”, Diktat Edisi 2013. [21] Jain, A. K., Duin, R. P. W., & Mao, J. (2000). Statistical pattern recognition: A review. Pattern Analysis and Machine Intelligence, IEEE Transactions on,22(1), p. 4-37. [22] Hyuk, Sung, Cha, 2007, Comprehensive Survey on Distance/Similarity Measures between Probability Density Functions, International Jurnal Of Mathematical Models and Methods In Apllied Sciences, Issue 4 Volume 1, p. 300-307, Pace University, New York. [23] Koutroumbas, Konstantinos, Theodoridis, Sergios,
2009, Pattern Recognition
“Fourth Edition”, Academic Press is an imprint of Elsevier 30 Corporate Drive, p. 61, San Diego, California.
48
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L1
LAMPIRAN 1 PERCOBAAN MENCARI SPEKTRUM FREKUENSI UNTUK SISTEM PENGENALAN NADA ALAT MUSIK SAKSOFON ALTO MENGGUNAKAN MATLAB 7.0.4 2008a Tujuan: 1. Mengetahui frekuensi maksimum pada nada alat musik saksofon alto. 2. Mengetahui frekuensi minimum yang dapat digunakan.
Variabel: 1. Frekuensi sampling yang digunakan 4800Hz. 2. Durasi sampling perekaman yang digunakan sebesar 3 detik. Listing Program fs = 4800; y=wavrecord (2*fs,fs,'double'); wavwrite(y,fs,'4800Hz4Fa.wav'); [y,fs]=wavread('4800Hz4Fa.wav'); Y=fft(y,fs); Spek=Y.*conj(Y); f = fs*(0:(1/2*fs))/fs; plot(f,Spek(1:(1/2*fs+1)));grid;
4800Hz D (Do) 4
3.5
x 10
X: 348 Y: 3.401e+004
3
Amplitudo
2.5 2 X: 696 Y: 1.414e+004
1.5
X: 1044 Y: 6888
1 0.5 0
0
500
1000 1500 Frekuensi(Hz)
2000
2500
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
E (Re) 4
x 10
6
X: 394 Y: 5.589e+004
5
Amplitudo
4 3 2 X: 787 Y: 4588
1 0
0
500
X: 1181 Y: 843.4
1000 1500 Frekuensi(Hz)
X: 1574 Y: 641
X: 1968 Y: 1535
2000
2500
Fis (Mi) 5
2.5
x 10
X: 438 Y: 2.155e+005
Amplitudo
2
1.5
1 X: 877 Y: 3.097e+004
0.5
0
0
500
X: 1315 Y: 5825
1000 1500 Frekuensi(Hz)
2000
2500
L2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI G (Fa) 5000
Ampltudo
X: 1397 Y: 4416
X: 466 Y: 3434
4000
3000 X: 932 Y: 1575
2000
1000 X: 702 Y: 108.5
0
0
500
X: 1170 Y: 53.56
X: 2328 X: 1627 X: 1862 Y: 181.3 Y: 104.4Y: 101.7
1000 1500 Frekuensi(Hz)
2000
2500
A (Sol) 14000 X: 1043 Y: 1.307e+004
12000
Amplitudo
10000 X: 1565 Y: 6752
8000 6000
X: 522 Y: 3802
4000 X: 2088 Y: 364.7
2000 0
0
500
1000 1500 Frekuensi(Hz)
2000
2500
L3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI B (La) 7000 X: 587 Y: 6924
6000
Amplitudo
5000 X: 1175 Y: 3356
4000 3000 2000
X: 1762 X: 2350 Y: 167.3Y: 267.3
1000 0
0
500
1000 1500 Frekuensi(Hz)
2000
2500
Cis (Si) 8000 X: 667 Y: 7748
7000
X: 2003 Y: 5333
Amplitudo
6000 5000 4000 3000 2000
X: 1335 Y: 824.8
1000 0
0
500
1000 1500 Frekuensi(Hz)
2000
2500
L4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L5
D’ (Do Tinggi) 4
2.5
x 10
X: 697 Y: 2.2e+004
Amplitudo
2
1.5 X: 1394 Y: 8186
1
0.5
0
X: 2091 Y: 732.9
0
500
1000 1500 Frekuensi(Hz)
2000
2500
Kesimpulan 1. Frekuensi maksimum yang didapat sebesar 697Hz untuk nada Do tinggi (D’). 2. Berdasarkan kriteria Nyquist, bahwa frekuensi sampling minimal harus lebih besar sama dengan 2 kali dari sinyal analog, sehingga untuk frekuensi sampling 4800Hz sudah memenuhi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L6
LAMPIRAN 2 PERCOBAAN MENCARI DURASI PEREKAMAN PENGENALAN NADA ALAT MUSIK SAKSOFON ALTO MENGGUNAKAN MATLAB 7.0.4 2008a
Tujuan: 1. Mendapatkan durasi perekaman yang tepat untuk perekaman. 2. Mengetahui pengaruh durasi perekaman pada data sinyal yang terekam. Variabel: 1. Frekuensi sampling yang digunakan 4800Hz. 2. Durasi perekaman yang digunakan sebesar 1 detik, 2 detik, dan 3 detik.
Listing Program : clc fs =4800;%%fsampling 4800Hz %y = wavrecord (fs,fs,'double');%% 1 detik %wavwrite(y,fs,'1detSi7sample1.wav'); %[y,fs]=wavread('1detSi7sample1.wav'); %y = wavrecord (2*fs,fs,'double');%% 2 detik %wavwrite(y,fs,'2detSi7sample2.wav'); %[y,fs]=wavread('2detSi7sample2.wav'); y = wavrecord (3*fs,fs,'double');%% 3 detik wavwrite(y,fs,'3detSi7sample3.wav'); [y,fs]=wavread('3detSi7sample3.wav'); plot(y);grid;%output title('fs=4800; t=3detik') xlabel('frequency (Hz)') ylabel('amplitudo ')
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L7
Fs=4800Hz; t=1detik 0.25 0.2 0.15 0.1
Amplitudo
0.05 0 -0.05 -0.1 -0.15 -0.2 -0.25
0
500
1000
1500
Data Tercuplik
Fs=4800Hz; t=2detik Fs=1500Hz t=2 detik 0.2
0.15
0.1
Amplitudo
0.05
0
-0.05
-0.1
-0.15
-0.2
0
500
1000
1500
2000 2500 Data Tercuplik
3000
3500
4000
4500
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L8
Fs=4800Hz t=3 detik 0.25 data1 0.2 0.15 0.1
Amplitudo
0.05 0 -0.05 -0.1 -0.15 -0.2 -0.25
0
500
1000
1500
2000 2500 Data Tercuplik
3000
3500
4000
4500
Kesimpulan 1. Pada hasil percobaan terlihat sistem membutuhkan waktu untuk mendapatkan data sinyal rekaman. 2. Pada hasil percobaan, secara visual waktu yang dibutuhkan untuk durasi perekaman adalah 3 detik.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L9
LAMPIRAN 3 LISTING PROGRAM GUI MATLAB Program Utama function varargout = gui(varargin) % GUI M-file for gui.fig % GUI, by itself, creates a new GUI or raises the existing % singleton*. % % H = GUI returns the handle to a new GUI or the handle to % the existing singleton*. % % GUI('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GUI.M with the given input arguments. % % GUI('Property','Value',...) creates a new GUI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before gui_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to gui_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help gui % Last Modified by GUIDE v2.5 07-Jul-2015 21:31:02 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @gui_OpeningFcn, ... 'gui_OutputFcn', @gui_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L10
else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before gui is made visible. function gui_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to gui (see VARARGIN) % Choose default command line output for gui handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes gui wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = gui_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on selection change in popupmenu1. function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from % popupmenu1 indeks=get(handles.popupmenu1,'Value'); switch indeks case 1 framebl=128; case 2 framebl=64; case 3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L11
framebl=32; case 4 framebl=16; end handles.frame=framebl; guidata(hObject,handles); % --- Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on selection change in popupmenu2. function popupmenu2_Callback(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu2 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu2 indeks=get(handles.popupmenu2,'Value'); switch indeks case 1 koef=100; case 2 koef=90; case 3 koef=80; case 4 koef=70; case 5 koef=60; case 6 koef=50; case 7 koef=40; case 8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L12
koef=30; case 9 koef=20; case 10 koef=10; end handles.pct=koef; guidata(hObject,handles); % --- Executes during object creation, after setting all properties. function popupmenu2_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on selection change in popupmenu3. function popupmenu3_Callback(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns popupmenu3 contents as cell array % contents{get(hObject,'Value')} returns selected item from % popupmenu3 indeks=get(handles.popupmenu3,'Value'); switch indeks case 1 knn=7; case 2 knn=5; case 3 knn=3; case 4 knn=1; end handles.varn=knn; guidata(hObject,handles); % --- Executes during object creation, after setting all properties.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L13
function popupmenu3_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of edit2 as a double % --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) sample_length=3; sample_freq=4800; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L14
wavwrite(x, sample_freq, 's.wav'); axes(handles.axes1) plot(x); x=wavread('s.wav'); b0=0.3; fb=handles.frame; %Variasi nilai FrameBlocking 128,64,32 dan 16 pctkoef=handles.pct; %Variasi nilai persenkoefisien 50%-100% vark=handles.varn; %Variasi nilai K-NN 7,5,3 dan 1 % Normalisasi x1=x/max(abs(x)); % Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; % Potong kiri 2 bts=floor(0.25*length(x1)); x1(1:bts)=[]; %frame blocking x2=x1(1:fb); % Normalisasi 2 x3=x2/max(abs(x2)); % Windowing h=hamming(fb); x4=x3.*h; %Ekstraksi ciri FFT x5=abs(fft(x4)); x6=x5(1:fb/2); %Ambil sesuai persen koefisien jumkoef=floor((pctkoef/100)*(fb/2)); x7=x6(1:jumkoef); x7=x7(:);%hanya pemilihan fungsi vektor saja tidak berpengaruh dalam fungsi progam keseluruhan axes(handles.axes2) bar (x7); if (b0==0.3) && (fb==128) &&(pctkoef==100) load db1128100; elseif (b0==0.3) && (fb==128) &&(pctkoef==90) load db112890; elseif (b0==0.3) && (fb==128) &&(pctkoef==80) load db112880;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI elseif (b0==0.3) && (fb==128) &&(pctkoef==70) load db112870; elseif (b0==0.3) && (fb==128) &&(pctkoef==60) load db112860; elseif (b0==0.3) && (fb==128) &&(pctkoef==50) load db112850; elseif (b0==0.3) && (fb==128) &&(pctkoef==40) load db112840; elseif (b0==0.3) && (fb==128) &&(pctkoef==30) load db112830; elseif (b0==0.3) && (fb==128) &&(pctkoef==20) load db112820; elseif (b0==0.3) && (fb==128) &&(pctkoef==10) load db112810; elseif (b0==0.3) && (fb==64) &&(pctkoef==100) load db164100; elseif (b0==0.3) && (fb==64) &&(pctkoef==90) load db16490; elseif (b0==0.3) && (fb==64) &&(pctkoef==80) load db16480; elseif (b0==0.3) && (fb==64) &&(pctkoef==70) load db16470; elseif (b0==0.3) && (fb==64) &&(pctkoef==60) load db16460; elseif (b0==0.3) && (fb==64) &&(pctkoef==50) load db16450; elseif (b0==0.3) && (fb==64) &&(pctkoef==40) load db16440; elseif (b0==0.3) && (fb==64) &&(pctkoef==30) load db16430; elseif (b0==0.3) && (fb==64) &&(pctkoef==20) load db16420; elseif (b0==0.3) && (fb==64) &&(pctkoef==10) load db16410; elseif (b0==0.3) && (fb==32) &&(pctkoef==100) load db132100; elseif (b0==0.3) && (fb==32) &&(pctkoef==90) load db13290; elseif (b0==0.3) && (fb==32) &&(pctkoef==80) load db13280; elseif (b0==0.3) && (fb==32) &&(pctkoef==70) load db13270; elseif (b0==0.3) && (fb==32) &&(pctkoef==60) load db13260; elseif (b0==0.3) && (fb==32) &&(pctkoef==50) load db13250; elseif (b0==0.3) && (fb==32) &&(pctkoef==40) load db13240; elseif (b0==0.3) && (fb==32) &&(pctkoef==30) load db13230; elseif (b0==0.3) && (fb==32) &&(pctkoef==20) load db13220;
L15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI elseif (b0==0.3) && (fb==32) &&(pctkoef==10) load db13210; elseif (b0==0.3) && (fb==16) &&(pctkoef==100) load db116100; elseif (b0==0.3) && (fb==16) &&(pctkoef==90) load db11690; elseif (b0==0.3) && (fb==16) &&(pctkoef==80) load db11680; elseif (b0==0.3) && (fb==16) &&(pctkoef==70) load db11670; elseif (b0==0.3) && (fb==16) &&(pctkoef==60) load db11660; elseif (b0==0.3) && (fb==16) &&(pctkoef==50) load db11650; elseif (b0==0.3) && (fb==16) &&(pctkoef==40) load db11640; elseif (b0==0.3) && (fb==16) &&(pctkoef==30) load db11630; elseif (b0==0.3) && (fb==16) &&(pctkoef==20) load db11620; elseif (b0==0.3) && (fb==16) &&(pctkoef==10) load db11610; end for k=1:8 z2(k)=jarak(x7,z(:,k)); end %Deskripsi string keluaran kel={'Do';'Re';'Mi';'Fa';'Sol';'La';'Si';'Do_T'}; % Cari n tertangga terdekat k=vark m=1; [s1,s2]=sort(z2,'ascend'); jarakc=sort(z2,'ascend') kj=s1(1:k) kn=s2(1:k) hk=ceil(kn/m) zout=mode(hk) idxkout=find(hk==zout); jpilih=kj(idxkout); fjpilih=fliplr(jpilih); jmaks=fjpilih(1) % Cari n tertangga terdekat %[s1,idx]=sort(z2,'ascend') %zidx=idx(1:vark); %znn=ceil(zidx/1); %zout=mode(znn);
L16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI %Penentuan keluaran nada nadaout=kel(zout); set(handles.edit2,'String',nadaout); if (zout == 1)&&(jmaks<55.0487) korout = {'Do'}; elseif (zout == 1) && (jmaks>=55.0487) korout = {'ERROR1'}; end if (zout == 2) && (jmaks<81.5725) korout = {'Re'}; elseif (zout == 2) && (jmaks>=81.5725) korout = {'ERROR2'}; end if (zout == 3) && (jmaks<42.4711) korout = {'Mi'}; elseif (zout == 3) && (jmaks>=42.4711) korout = {'ERROR3'}; end if (zout == 4) && (jmaks<54.8266) korout = {'Fa'}; elseif (zout == 4) && (jmaks>=54.8266) korout = {'ERROR4'}; end if (zout == 5) && (jmaks<57.4214) korout = {'Sol'}; elseif (zout == 5) && (jmaks>=57.4214) korout = {'ERROR5'}; end if (zout == 6) && (jmaks<105.5574) korout = {'La'}; elseif (zout == 6) && (jmaks>=105.5574) korout = {'ERROR6'}; end if (zout == 7) && (jmaks<36.6529) korout = {'Si'}; elseif (zout == 7) && (jmaks>=36.6529) korout = {'ERROR7'}; end if (zout == 8) && (jmaks<62.7467) korout = {'Do_T'}; elseif (zout == 8) && (jmaks>=62.7467) korout = {'ERROR8'}; end
L17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L18
hasilout=korout set(handles.edit2,'string',hasilout) % --- Executes on mouse press over figure background. function pushbutton3_Callback(hObject, eventdata, handles) axes(handles.axes1); plot(0); axes(handles.axes2); plot(0); set(handles.edit2,'String',' '); % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(figure(gui));
Program Fungsi Jarak Simetrik Probabilitas 2 function z1=jprob(x,z) c1=(x-z).^2; c2=x+z; c3=c1./c2; z1=2*sum(c3);
Program Pembuatan Database function coba1 b0 = 0.3; fb=128; %16,32,64,128 pctkoef=70; %50%-100% z1=zciri z2=zciri z3=zciri z4=zciri z5=zciri z6=zciri z7=zciri z8=zciri
('Do',b0,fb,pctkoef); ('Re',b0,fb,pctkoef); ('Mi',b0,fb,pctkoef); ('Fa',b0,fb,pctkoef); ('Sol',b0,fb,pctkoef); ('La',b0,fb,pctkoef); ('Si',b0,fb,pctkoef); ('Do_',b0,fb,pctkoef);
z=[z1 z2 z3 z4 z5 z6 z7 z8]; save db112870 z
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI %======================================= %INTERNAL FUNCTION %======================================= function z=zciri (fwav,b0,fb,pctkoef) x1=wavread([fwav '_8.wav']); y=potong(x1,b0,fb); z=xfft(y,fb,pctkoef); %============================================================ function y=potong(x0,b0,fb) % Normalisasi x1=x0/max(abs(x0)); %figure(1) %plot(x1) % Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; %figure(2) %plot(x1) % Potong kiri 2 bts=floor(0.25*length(x1)); x1(1:bts)=[]; %figure(3) %plot(x1) % Frame blocking x2=x1(1:fb); %figure(4) %plot(x2) % Normalisasi 2 x3=x2/max(abs(x2)); %figure(5) %plot(x3) % Windowing h=hamming(fb); x4=x3.*h; y=x4; figure(6) plot(y) % ============================================================ function x3=xfft(x0,fb,pctkoef) %Ekstraksi ciri FFT x1=abs(fft(x0)); sx1=size(x1) x2=x1(1:fb/2);
L19
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L20
sx2=size(x2) %Ambil seusuai persen koefisien jumkoef=floor((pctkoef/100)*(fb/2)); sx3=size(jumkoef) x3=x2(1:jumkoef); sx4=size(x3) x3=x3(:);%hanya pemilihan fungsi vektor saja tidak berpengaruh dalam fungsi progam keseluruhan % ============================================================
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 4 LISTING PROGRAM TIDAK REAL-TIME function base1c % Menggunakan ekstraksi ciri FFT % Semua data pelatihan disimpan clc % ============================================================ b0=0.3; % batas potong fb=128; % ukuran frame blocking pctkoef=50; % persen koefisien n=1; % n tetangga terdekat % ============================================================ % Pembentukan database [s1,s1p,s1x]=proses('Do_1.wav',b0,fb,pctkoef); [d1,d1p,d1x]=proses('Re_1.wav',b0,fb,pctkoef); [g1,g1p,g1x]=proses('Mi_1.wav',b0,fb,pctkoef); [p1,p1p,p1x]=proses('Fa_1.wav',b0,fb,pctkoef); [l1,l1p,l1x]=proses('Sol_1.wav',b0,fb,pctkoef); [e1,e1p,e1x]=proses('La_1.wav',b0,fb,pctkoef); [t1,t1p,t1x]=proses('Si_1.wav',b0,fb,pctkoef); [a1,a1p,a1x]=proses('Do__1.wav',b0,fb,pctkoef); % Database sx=[s1x]; dx=[d1x]; gx=[g1x]; px=[p1x]; lx=[l1x]; ex=[e1x]; tx=[t1x]; ax=[a1x]; z=[sx dx gx px lx ex tx ax]; %save database z % ============================================================ % Percobaan pengenalan [a,b,c]=proses('Do_11.wav',b0,fb,pctkoef);j1=hjarak(c,z);
L21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L22
[a,b,c]=proses('Do_11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('Do_12.wav',b0,fb,pctkoef);j2=hjarak(c,z); [a,b,c]=proses('Do_13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('Do_14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('Do_15.wav',b0,fb,pctkoef);j5=hjarak(c,z); [a,b,c]=proses('Do_16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('Do_17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('Do_18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('Do_19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('Do_20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_do={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} [a,b,c]=proses('Re_11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('Re_12.wav',b0,fb,pctkoef);j2=hjarak(c,z); [a,b,c]=proses('Re_13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('Re_14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('Re_15.wav',b0,fb,pctkoef);j5=hjarak(c,z); [a,b,c]=proses('Re_16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('Re_17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('Re_18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('Re_19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('Re_20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_re={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} [a,b,c]=proses('Mi_11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('Mi_12.wav',b0,fb,pctkoef);j2=hjarak(c,z); [a,b,c]=proses('Mi_13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('Mi_14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('Mi_15.wav',b0,fb,pctkoef);j5=hjarak(c,z); [a,b,c]=proses('Mi_16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('Mi_17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('Mi_18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('Mi_19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('Mi_20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_mi={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} [a,b,c]=proses('Fa_11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('Fa_12.wav',b0,fb,pctkoef);j2=hjarak(c,z);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L23
[a,b,c]=proses('Fa_13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('Fa_14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('Fa_15.wav',b0,fb,pctkoef);j5=hjarak(c,z); [a,b,c]=proses('Fa_16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('Fa_17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('Fa_18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('Fa_19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('Fa_20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_fa={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} [a,b,c]=proses('Sol_11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('Sol_12.wav',b0,fb,pctkoef);j2=hjarak(c,z); [a,b,c]=proses('Sol_13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('Sol_14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('Sol_15.wav',b0,fb,pctkoef);j5=hjarak(c,z); [a,b,c]=proses('Sol_16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('Sol_17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('Sol_18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('Sol_19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('Sol_20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_sol={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} [a,b,c]=proses('La_11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('La_12.wav',b0,fb,pctkoef);j2=hjarak(c,z); [a,b,c]=proses('La_13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('La_14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('La_15.wav',b0,fb,pctkoef);j5=hjarak(c,z); [a,b,c]=proses('La_16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('La_17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('La_18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('La_19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('La_20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_la={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} [a,b,c]=proses('Si_11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('Si_12.wav',b0,fb,pctkoef);j2=hjarak(c,z); [a,b,c]=proses('Si_13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('Si_14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('Si_15.wav',b0,fb,pctkoef);j5=hjarak(c,z);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L24
[a,b,c]=proses('Si_16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('Si_17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('Si_18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('Si_19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('Si_20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_si={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} [a,b,c]=proses('Do__11.wav',b0,fb,pctkoef);j1=hjarak(c,z); [a,b,c]=proses('Do__12.wav',b0,fb,pctkoef);j2=hjarak(c,z); [a,b,c]=proses('Do__13.wav',b0,fb,pctkoef);j3=hjarak(c,z); [a,b,c]=proses('Do__14.wav',b0,fb,pctkoef);j4=hjarak(c,z); [a,b,c]=proses('Do__15.wav',b0,fb,pctkoef);j5=hjarak(c,z); [a,b,c]=proses('Do__16.wav',b0,fb,pctkoef);j6=hjarak(c,z); [a,b,c]=proses('Do__17.wav',b0,fb,pctkoef);j7=hjarak(c,z); [a,b,c]=proses('Do__18.wav',b0,fb,pctkoef);j8=hjarak(c,z); [a,b,c]=proses('Do__19.wav',b0,fb,pctkoef);j9=hjarak(c,z); [a,b,c]=proses('Do__20.wav',b0,fb,pctkoef);j10=hjarak(c,z); k1=pout(j1,n);k2=pout(j2,n);k3=pout(j3,n);k4=pout(j4,n);k5=pout(j5,n) ; k6=pout(j6,n);k7=pout(j7,n);k8=pout(j8,n);k9=pout(j9,n);k10=pout(j10, n); input_do_t={k1,k2,k3,k4,k5,k6,k7,k8,k9,k10} % Hitung tingkat pengenalan h1=cekout(input_do,1); h2=cekout(input_re,2); h3=cekout(input_mi,3); h4=cekout(input_fa,4); h5=cekout(input_sol,5); h6=cekout(input_la,6); h7=cekout(input_si,7); h8=cekout(input_do_t,8); jumlah_dikenal=h1+h2+h3+h4+h5+h6+h7+h8 % ============================================================ % INTERNAL FUNCTION % ============================================================ function [s1,s1p,s1x]=proses(fwav,b0,fb,pctkoef)%penulisan ini step dan variabel % Pemrosesan dari wavread hingga ekstraksi ciri FFT s1=wavread(fwav); s1p=prepro(s1,b0,fb); %plot pertanyaan awal s1x=xfft(s1p,fb,pctkoef); %============================================================ function x4=prepro(x0,b0,fb) % Normalisasi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L25
x1=x0/max(abs(x0)); %figure(1) %plot(x1) % Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; %figure(2) %plot(x1) % Potong kiri 2 bts=floor(0.25*length(x1)); x1(1:bts)=[]; %figure(3) %plot(x1) %frame blocking x2=x1(1:fb); %figure(4) %plot(x2) % Normalisasi 2 x3=x2/max(abs(x2)); %figure(5) %plot(x3) % Windowing h=hamming(fb); x4=x3.*h; %figure(6) %plot(x4) % ============================================================ function x3=xfft(x0,fb,pctkoef) %Ekstraksi ciri FFT x1=abs(fft(x0)); %figure(1) %zc=plot(x1) x2=x1(1:fb/2); %figure(2) %zc=plot(x2) %Ambil seusuai persen koefisien jumkoef=floor((pctkoef/100)*(fb/2)); x3=x2(1:jumkoef); x3=x3(:);%hanya pemilihan fungsi vektor saja tidak berpengaruh dalam fungsi progam keseluruhan % ============================================================ function z2=hjarak(x,y) % Menghitung jarak
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI for k=1:8 z2(k)=jprob(x,y(:,k)); end % ============================================================ function z1=jprob(x,y) % x, y : data masukan % z : data keluaran c1=(x-y).^2; c2=x+y; c3=c1./c2; z1=2*sum(c3); % ============================================================ function y=pout(x,n) % Penentuan keluaran kel={'Do';'Re';'Mi';'Fa';'Sol';'La'; 'Si';'Do_T'}; % Cari n tertangga terdekat [z2,idx]=sort(x); %zjarak=z2(1:n); zidx=idx(1:n); znn=ceil(zidx/1); zout=mode(znn); y=kel{zout}; % ============================================================ function z=cekout(x,y) % Penghitungan keluaran yang benar kel={'Do';'Re';'Mi';'Fa';'Sol';'La'; 'Si';'Do_T'}; z=0; for k=1:10 if length(x{k})==length(kel{y}) if x{k}==kel{y} z=z+1; end end end % ===========================================================
L26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L27
LAMPIRAN 5 Hasil Pengenalan Nada Secara Tidak Real-Time Hasil persentase tingkat pengenalan nada secara tidak real-time pada tabel di bawah ini merupakan hasil pada database nada 2, 4 dan 8. Tabel L.1 Hasil Persentase pengenalan nada dengan menggunakan database nada 2 (Hasil dalam bentuk %) fb=128 7 5 3 1
100% 12,5 68,75 100 100
90% 12,5 68,75 100 100
80% 12,5 75 100 100
70% 12,5 81,25 100 100
60% 12,5 75 100 100
50% 43,75 68,75 100 100
40% 18,75 75 100 100
30% 18,75 87,5 93,75 93,75
20% 56,25 81,25 68,75 62,5
10% 25 37,5 6,25 18,75
fb=64 7 5 3 1
100% 12,5 37,5 100 100
90% 12,5 43,75 100 100
80% 12,5 50 100 100
70% 12,5 50 100 100
60% 12,5 62,5 100 100
50% 37,5 62,5 100 100
40% 18,75 62,5 81,25 87,5
30% 25 56,25 81,25 81,25
20% 25 37,5 43,75 37,5
10% 12,5 25 18,75 12,5
fb=32 7 5 3 1
100% 18,75 50 100 100
90% 18,75 62,5 93,75 100
80% 18,75 43,75 87,5 87,5
70% 18,75 56,25 87,5 87,5
60% 18,75 56,25 87,5 87,5
50% 18,75 62,5 81,25 87,5
40% 18,75 43,75 68,75 75
30% 6,25 6,25 50 62,5
20% 18,75 18,75 50 43,75
10% 18,75 18,75 0 18,75
fb=16 7 5 3 1
100% 25 25 68,75 56,25
90% 18,75 25 62,5 56,25
80% 18,75 25 62,5 56,25
70% 18,75 37,5 50 56,25
60% 25 31,25 50 50
50% 25 31,25 50 50
40% 37,5 43,75 43,75 56,25
30% 25 37,5 43,75 50
20% 25 25 18,75 18,75
10% 12,5 12,5 12,5 12,5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L28
Tabel L.2 Hasil Persentase pengenalan nada dengan menggunakan database nada 4 (Hasil dalam bentuk %) fb=128 7
100%
90%
80%
70%
60%
50%
40%
30%
20%
96,875 96,875 96,875 96,875 96,875 96,875 96,875 96,875 78,125
5
100
100
96,875 96,875
3
100
100
100
1
100
100
fb=64
100%
90%
10% 25
100
100
100
100
78,125
25
100
100
100
100
100
71,875 21,875
100
100
100
100
100
100
78,125 28,125
80%
70%
60%
50%
40%
30%
20%
10%
75
75
56,25
25
7
96,875 96,875 96,875 96,875 90,625 84,375
5
96,875 96,875 96,875 96,875 96,875 96,875 90,625 84,375
56,25
15,625
3
96,875 96,875 96,875 96,875 96,875 96,875
93,75
93,75
56,25
9,375
1
100%
100%
100%
96,875 59,375 15,625
fb=32
100%
50%
40%
7
93,75
90,625 84,375 84,375 71,875
5
93,75
90,625 84,375
3
96,875 96,875 96,875 96,875 90,625
87,5
78,125 78,125
1
96,875 96,875 96,875 96,875 90,625
93,75
84,375 78,125 46,875 15,625
fb=16
100%
90%
80%
70%
50%
7
50
50
53,125
43,75
46,875 46,875 40,625
5
59,375
56,25
56,25
43,75
3
56,25
56,25
56,25
53,125
1
59,375 53,125 59,375 65,625 65,625 65,625 53,125 46,875
96,875 96,875 96,875 96,875 90%
80%
70% 87,5
60%
68,75
84,375 84,375
60%
30%
20%
10%
65,625 65,625 40,625
3,125
68,75
50
12,5
56,25
6,25
30%
20%
10%
37,5
18,75
12,5
46,875 46,875 46,875 34,375 15,625
12,5
62,5
62,5
40%
65,625
53,125 40,625 21,875 25
12,5 12,5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L29
Tabel L.3 Hasil Persentase pengenalan nada dengan menggunakan database nada 8 (Hasil dalam bentuk %) fb=128
100%
90%
80%
70%
60%
50%
40%
30%
7
100
100
100
100
100
100
100
100
73,437 21,87
5
100
100
100
100
100
100
100
100
76,562 18,75
3
100
100
100
100
100
100
100
100
81,25
1
100
100
100
100
100
100
100
100
78,125 23,43
fb=64
100%
90%
80%
70%
60%
50%
40%
30%
7
100
100
5
100
100
100
100
100
100
3
100
100
100
100
100
1
100
100
100
100
fb=32
100%
90%
80%
70%
98,437 98,437 95,312 96,875 96,875
20%
20%
10%
25
10%
95,312
70,312 28,12
98,437
96,875
70,312 29,68
100
100
96,875
71,875 26,56
100
100
100
100
62,5
25
60%
50%
40%
30%
20%
10%
7
95,312 95,312 92,187 92,187 90,625
93,75
92,187
87,5
62,5
14,06
5
96,875 98,437 95,312 95,312 90,625 95,312
93,75
95,3125
75
18,75
93,75
95,312
75
14,06
98,437 98,437 98,437 96,875 95,312 96,875 95,312
93,75
100%
30%
20%
10%
3 1 fb=16
62
98,437 96,875 96,875
90%
80%
70%
93,75
60%
95,312
50%
40%
73,437 15,62
7
70,312 70,312 65,625 59,375 64,062 64,062 54,687
59,375
29,687
12,5
5
70,312 73,437 70,312 57,812 64,062 64,062
56,25
59,375
23,437
12,5
3
79,687
78,12
67,187
68,75
65,62
60,937
21,875
12,5
1
79,687
81,25
76,562
75
73,437 73,437 65,625
56,25
26,562
12,5
70,312 70,312
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L30
Tabel L.4 Hasil Persentase pengenalan nada dengan menggunakan database nada 1 dengan masukan 10 tiap masing-masing nada (Hasil dalam bentuk %)
fb=128 7 5 3 1
100% 12,5 12,5 12,5 100
90% 12,5 12,5 12,5 100
80% 12,5 12,5 12,5 98,75
70% 12,5 12,5 13,75 100
60% 12,5 12,5 12,5 100
50% 12,5 23,75 38,75 100
40% 12,5 12,5 26,25 100
30% 12,5 12,5 22,5 98,75
20% 12,5% 37,5% 57,5% 72,5%
10% 11,25% 11,25% 17,5% 21,25%
fb=64 7 5 3 1
100% 12,5 12,5 12,5 97,5
90% 12,5 12,5 12,5 96,25
80% 12,5 12,5 12,5 96,25
70% 12,5 12,5 12,5 96,25
60% 12,5 12,5 12,5 95
50% 12,5 12,5 30 90
40% 12,5 12,5 15 83,75
30% 12,5 13,75 16,25 83,75
20% 12,5% 18,75% 36,25% 62,5%
10% 12,5% 15% 12,5% 17,5%
fb=32 7 5 3 1
100% 12,5 13,75 13,75 85
90% 12,5 13,75 13,75 85
80% 12,5 13,75 13,75 85
70% 12,5 13,75 13,75 85
60% 12,5 13,75 15 77,5
50% 12,5 12,5 13,75 73,75
40% 12,5 13,75 17,5 70
30% 12,5 16,25 12,5 66,25
20% 12,5% 17,5% 22,5% 51,25%
10% 12,5% 12,5% 18,75% 10%
fb=16 7 5 3 1
100% 12,5 11,25 17 60
90% 12,5 11,25 18,75 60
80% 12,5 10 20 61,25
70% 12,5 7,5 21,25 58,75
60% 12,5 7,5 25 51,25
50% 12,5 7,5 25 51,25
40% 12,5 7,5 22,5 50
30% 12,5 13,75 16,25 52,5
20% 7,5% 15% 18,75% 32,5%
10% 12,5% 12,5% 12,5% 12,5%
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L31
Gambar L.1 Gambar Grafik Perubahan Windowing Koefisien Terhadap Persentase Keberhasilan pada Frame Blocking 16, 32, 64 dan 128 pada 2, 4, dan 8 database untuk setiap nadanya.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L33
LAMPIRAN 6 Tabel Jarak Optimal Tabel di bawah ini digunakan untuk menentukan jarak optimal dari setiap nada. Pengujian dilakukan dengan menggunakan variasi frame blocking 128, windowing koefisien 50% dan nilai k=1 pada K-NN. Pengujian dilakukan sebanyak 15 kali setiap nadanya. Do 48.4736 51.8049 55.0587 16.2815 32.4245 11.4640 47.1785 21.4210 40.3578 23.3423 52.0327 16.2134 31.2424 11.5545 47.6563
Re 62.1906 25.2931 65.6902 54.9275 70.0843 46.4862 71.5027 60.8480 45.4710 81.5725 75.0843 42.4462 71.5247 64.8120 47.4129
Mi 11.8329 22.1020 11.1323 22.5755 16.4630 24.6297 13.1462 12.6422 13.1968 42.4711 24.6297 33.1462 32.6422 23.1968 40.4211
Fa 34.0884 37.4926 47.0723 50.0004 32.3239 20.4328 47.3492 35.6173 54.8266 41.3815 50.1204 32.2229 20.4148 47.3462 31.2233
Sol La Si 43.6225 97.1024 24.8000 30.5701 88.0583 23.6257 34.7650 91.9188 26.0813 34.4428 86.4520 33.2275 29.8996 91.9185 24.6953 57.4214 75.2401 22.9299 40.5972 75.9746 25.2111 39.3530 79.5656 16.3684 49.7949 70.6487 33.8031 43.7963 105.5574 21.3046 43.3534 70.3912 23.5883 31.9323 81.5352 20.6425 48.1955 93.7781 29.4788 49.1001 79.1452 15.5194 33.6461 73.9760 36.6529
Do Tinggi 50.4602 56.6333 47.6388 38.0504 38.2918 48.5768 48.9106 59.6432 18.8119 41.6932 13.8787 40.6030 36.0333 41.9933 62.7467