PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI TUGAS AKHIR
PENGENALAN NADA BELIRA MENGGUNAKAN ANALISIS AMPLITUDO PADA RANAH FREKUENSI Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro
Disusun Oleh : YOVITA HETY INDRIANI NIM : 115114049
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
BELIRA TONE RECOGNITION USING AMPLITUDE ANALYSIS IN THE FREQUENCY DOMAIN In partial fulfillment of the requirements for the degree of Sarjana Teknik in Electrical Engineering
YOVITA HETY INDRIANI NIM : 115114049
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
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
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, 02 Desember 2015
Yovita Hety Indriani
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
When you have GOD, you have everything
Persembahan Karya ini ku persembahkan kepada ... Tuhan Yesus Kristus yang selalu setia membimbing dan menyertaiku. Papa, Mama dan Adik-adikku yang selalu mendukung dan mendoakan. Keluarga XVI yang selalu memberikan semangat, dukungan dan doa. Dan semua orang yang mendoakan dan yang memberikan semangat dalam penyelesaian 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
: Yovita Hety Indriani
Nomor Mahasiswa
: 11 5114 049
Dengan pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjuadul : PENGENALAN NADA BELIRA MENGGUNAKAN ANALISIS AMPLITUDO PADA RANAH FREKUENSI Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Samata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas dan mempublikasikannya di internet atau media lainnya untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataa ini saya buat dengan sebenarnya.
Yogyakarta, 02 Desember 2015
(Yovita Hety Indriani)
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
INTISARI Musik adalah salah satu media ungkapan kesenian. Musik itu sendiri memiliki bentuk yang khas, baik dari sudut struktural maupun jenisnya dalam kebudayaan. Namun karena kurangnya ketajaman pendengaran, kebanyakan orang tidak bisa mengetahui nada yang dikeluarkan alat musik. Dalam perancangan ini akan dibuat pengenalan nada sebuah alat musik yaitu belira. Pada dasarnya semakin besar frekuensi dasar gelombang bunyi, maka semakin tinggi nada yang dihasilkan oleh sebuah alat musik belira. Dalam sistem pengenalan ini, menggunakan mikrofon untuk merekam nadanya dan komputer untuk pengoperasiannya. Sistem ini akan membangkitkan spektrum frekuensi yang kemudian dianalisis dengan mencari nilai-nilai maksimum lokal. Dari nilai-nilai maksimum lokal yang didapatkan, dapat ditentukan frekuensi nada yang dimainkan. Frekuensi tersebut yang digunakan untuk penentuan teks nadanya. Keluaran akhir untuk sistem ini akan menampilkan plot hasil rekam, plot spektrum dan teks nada yang dikenali. Sistem pengenalan ini berjalan sesuai dengan perancangan, dan dapat menampilkan plot hasil rekam, plot spektrum, dan teks hasil pengenalan nada. Dalam percobaan yang dilakukan, sistem dapat mengenali semua nada dengan baik pada semua nilai variasi DFT dan frame blocking. Kata kunci :
Belira, DFT (Discrete Fourier Transform), Look Up Table, Pengenalan Nada
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
ABSTRACT Music is one of the media an expression of art. Music has a typical form, both from the structural and the type in terms of culture. However, due to lack of hearing acuity, most people don’t know the tone of a musical instrument played. In this design will be made the tone recognition of a musical instrument namely belira. Basically the bigger the fundamental frequency the sound waves, the higher the tones are produced by a musical instrument the belira. In this recognition systems, using a microphone to record the tone and computer to operate. This system will generate the frequency spectrum that will be analyzed by finding the values of the local maximum. From the values of the local maximum that has been obtained, can be determined the frequency of the tones are played. The frequency was used for the determination the text of that tone. The final output for this system will display a plot of the record, plot of the spectrum and the text of the tone recognized. Recognition system is run in accordance with the design, and can display plots of record results, plot of the spectrum, and the text of the tone recognition results. In the experiment conducted, the system can recognize all the tones well in all values variations of the DFT and frame blocking. Keywords: Belira, DFT (Discrete Fourier Transform), Look Up Table, Recognition Tone
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGANTAR Puji dan Syukur kepada Tuhan Yesus Kristus karena atas berkat dan penyertaanNya penulis dapat menyelesaikan laporan tugas akhir ini dengan baik dan dapat memperoleh gelar sarjana. Selama penyelesaian penulisan tugas akhir ini, penulis menyadari bahwa banyak pihak yang telah memberikan dukungan dan bantuan. Oleh karena itu, penulis ingin mengucapkan banyak terimakasih kepada: 1. Tuhan Yesus Kristus atas berkat penyertaan-Nya sehingga Tugas Akhir ini selesai dengan baik. 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 Tugas Akhir yang selalu sabar membimbing dan mendorong untuk cepat menyelesaikan Tugas Akhir ini. 5. Wiwien Widyastuti, S.T., M.T. dan Dr. Rita Widiarti selaku dosen penguji yang telah memberikan bimbingan, saran, dan merevisi Tugas Akhir ini. 6. Ir. Theresia Prima Ari Setiyani, M.T., selaku dosen pembimbing akademik yang telah mendampingi, membimbing, dan memberikan saran kepada penulis selama menempuh pendidikan di Universitas Sanata Dharma. 7. Bapak dan Ibu dosen yang telah mengajarkan banyak ilmu yang bermanfaat selama menempuh pendidikan di Universitas Sanata Dharma. 8. Papa, Mama, dan adik-adik serta semua keluarga yang selalu mendoakan, mendukung dan membantu segala sesuatunya mulai dari awal studi hingga pencapaian menyelesaiakan studi di jenjang perkuliahan. 9. Segenap staff sekretariat, dan laboran Teknik Elektro yang secara tidak langung telah memberikan bantuan dan dukungan dalam kelancaran tulisan Tugas Akhir ini. 10. Keluarga
XVI
yang selalu mendukung,
mengingatkan, mendoakan dan
menyemangati dalam menyelesaikan Tugas Akhir ini. 11. Teman-teman kelompok skripsi Agi, Monic, Anton, Yugo, Tante a.k.a. Heri yang selalu mendukung dan mengingatkan untuk rajin bimbingan.
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 12. Seluruh teman-teman Teknik Elektro 2011 yang telah membantu, menemani, dan memberikan semangat pada saat menempuh pendidikan di Universitas Sanata Dharma. 13. 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, kritik dan saran yang membangun agar skripsi ini menjadi lebih baik. Semoga skripsi ini dapat bermanfaaat sebagaimana mestinya.
Penulis
Yovita Hety Indriani
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 ............................................................................................... xv DAFTAR TABEL ..................................................................................................... xvii BAB I PENDAHULUAN 1.1.
Latar Belakang ..................................................................................................... 1
1.2.
Tujuan dan Manfaat ............................................................................................. 2
1.3.
Batasan Masalah .................................................................................................. 2
1.4.
Metodologi Penelitian.......................................................................................... 2
BAB II DASAR TEORI 2.1.
Belira ................................................................................................................... 4
2.2.
Mikrofon .............................................................................................................. 5
2.3.
Pengenalan Pola ................................................................................................... 5
2.4.
Teorema Pencuplikan .......................................................................................... 9
2.5.
Preprocessing ...................................................................................................... 9 2.5.1. Normalisasi Awal ...................................................................................... 9 2.5.2. Pemotongan Sinyal .................................................................................... 10 2.5.3. Frame Blocking ......................................................................................... 12
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.5.4. Normalisasi Akhir...................................................................................... 13 2.5.5 Windowing .................................................................................................. 13 2.6.
DFT (Dicerete Fourier Transform) ..................................................................... 14
BAB III PERANCANGAN 3.1.
Sistem Pengenalan Nada Saksofon Alto ............................................................. 16 3.1.1. Belira ......................................................................................................... 16 3.1.2. Mikrofon .................................................................................................... 16 3.1.3. Proses Perekaman ...................................................................................... 16 3.1.4. Proses Pengenalan Nada ............................................................................ 17 3.1.5. Keluaran : Teks .......................................................................................... 19
3.2.
Look Up Table ..................................................................................................... 19
3.3.
Nada Uji ............................................................................................................... 19
3.4.
Perancangan Tampilan Program GUI MATLAB ................................................ 20
3.5.
Perancangan Alur Program .................................................................................. 21 3.5.1. Rekam ....................................................................................................... 22 3.5.2. Normalisasi Awal ..................................................................................... 23 3.5.3. Pemotongan Awal..................................................................................... 23 3.5.4. Frame Blocking ........................................................................................ 25 3.5.5. Normalisasi Akhir..................................................................................... 26 3.5.6. Windowing ................................................................................................ 26 3.5.7. DFT dan Spektrum Frekuensi................................................................... 27 3.5.8. Pencarian Maksimum Lokal ..................................................................... 28 3.5.9. Sorting Turun ............................................................................................ 29 3.5.10.Perhitungan Harmonis .............................................................................. 30 3.5.11.Penentuan Frekuensi ................................................................................. 31 3.5.12.Penentuan Teks Nada ............................................................................... 32 3.5.13.Keluaran Teks ........................................................................................... 33
BAB IV HASIL DAN PEMBAHASAN 4.1.
Pengujian Program Pengenalan Nada Alat Musik Belira dengan Menggunakan DFT untuk Membangkitkan Spektrum dan Look Up Table untuk Penyelesaian ............................................................................................................................. 34 4.1.1. Pengenalan Nada ...................................................................................... 36 a. Popup Menu ......................................................................................... 37 xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI b. Push Button, Axes, dan Static Text ...........................................................
4.2.
37
Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat Pengenalan Nada Alat Musik Belira ................................................................................................ 42 4.2.1. Pengujian Parameter Pengenalan Nada .................................................... 43 4.2.2. Pengujian Dengan Nada Masukan Pianika ................................................ 50
BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan ...................................................................................................... 52
5.2.
Saran ................................................................................................................ 52
DAFTAR PUSTAKA .............................................................................................. 53
LAMPIRAN LAMPIRAN 1 PERCOBAAN UNTUK MENENTUKAN RANGE FREKUENSI PADA LOOK UP TABLE UNTUK MASING-MASING NADA BELIRA.... L1 LAMPIRAN 2 PERCOBAAN MENENTUKAN NILAI YANG DIGUNAKAN UNTUK MEMBANDINGKAN NILAI HASIL PEMBAGIAN MAKSIMUM LOKAL PADA PERCOBAAN REAL-TIME ...................................... L20 LAMPIRAN 3 PERCOBAAN MENCARI DURASI PEREKAMAN .......................... L29 LAMPIRAN 4 LISTING PROGRAM PENGAMBILAN NADA UJI ......................... L32 LAMPIRAN 5 LISTING PROGRAM PENGENALAN NADA BELIRA ................... L33 LAMPIRAN 5 LISTING PROGRAM MENGHITUNG DFT ...................................... L39
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR Halaman Gambar 2.1.
Alat Musik Belira ................................................................................. 4
Gambar 2.2.
Mikrofon Genius 01A ........................................................................... 5
Gambar 2.3.
Sistem Pengenalan Pola dengan Pendekatan Statistik .......................... 7
Gambar 2.4.
Contoh Pembagian Kelas Pola ............................................................. 8
Gambar 2.5.
Sistem pengenalan pola dengan pendekatan sintaktik .......................... 8
Gambar 2.6.
Sinyal Sebelum Normalisasi ................................................................. 10
Gambar 2.7.
Sinyal Setelah Normalisasi Awal ......................................................... 10
Gambar 2.8.
Sinyal Sebelum Pemotongan ................................................................ 11
Gambar 2.9.
Hasil Pemotongan Bagian Silence ........................................................ 11
Gambar 2.10.
Hasil Pemotongan Bagian Transisi....................................................... 11
Gambar 2.11.
Bagian Sinyal yang Akan Diambil untuk Frame Blocking .................. 12
Gambar 2.12.
Hasil Frame Blocking dari Gambar 2.11 .............................................. 12
Gambar 2.13.
Hasil Normalisasi dari Gambar 2.12 .................................................... 13
Gambar 2.14.
Hasil Windowing dari Gambar 2.13 ..................................................... 14
Gambar 2.15.
Spektrum Frekuensi dari Gambar 2.14 ................................................. 15
Gambar 3.1.
Diagram Blok Sistem Pengenalan Nada Belira .................................... 16
Gambar 3.2.
Diagram Blok Proses Pengenalan Nada Belira .................................... 17
Gambar 3.3.
Proses Penentuan Frekuensi Tengah untuk Look Up Table ................. 19
Gambar 3.4.
Diagram Blok Proses Pengambilan Nada Uji....................................... 20
Gambar 3.5.
Tampilan Proses pada GUI MATLAB ................................................. 20
Gambar 3.6.
Diagram Alir Sistem Pengenalan Nada Belira ..................................... 21
Gambar 3.7.
Diagram Alir Sub Rutin Rekam ........................................................... 22
Gambar 3.8.
Diagram Alir Normalisasi Awal ........................................................... 23
Gambar 3.9.
Diagram Alir Pemotongan Awal .......................................................... 23
Gambar 3.10.
Diagram Alir Frame Blocking .............................................................. 25
Gambar 3.11.
Diagram Alir Normalisasi Akhir .......................................................... 26
Gambar 3.12.
Diagram Alir Windowing...................................................................... 26
Gambar 3.13.
Diagram Alir DFT dan Spektrum Frekuensi ........................................ 27
Gambar 3.14.
Diagram Alir Pencarian Maksimum Lokal .......................................... 28
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Gambar 3.15.
Diagram Diagram Alir Sorting Turun .................................................. 29
Gambar 3.16.
Diagram Alir Perhitungan Harmonis .................................................... 30
Gambar 3.17.
Diagram Alir Penentuan Frekuensi ...................................................... 31
Gambar 3.18.
Diagram Alir Proses Penentuan Teks Nada ......................................... 32
Gambar 4.1.
Icon Program Pengenalan ..................................................................... 34
Gambar 4.2.
Tampilan Utama ................................................................................... 35
Gambar 4.3
Tampilan Program Pengenalan Nada Belira ........................................ 35
Gambar 4.4
Tampilan dari program GUI Matlab yang dioperasikan dengan input nada 1(do), dengan nilai frame blocking adalah 512 .................................... 36
Gambar 4.5.
Grafik Pengaruh Panjang DFT terhadap Tingkat pengenalan Nada ..... 50
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL Halaman Tabel 2.1.
Contoh Pengenalan Pola ............................................................................. 6
Tabel 3.1.
Keterangan Tampilan Utama Sistem.......................................................... 21
Tabel 3.2.
Frekuensi Look Up Table untuk Penentuan Nada ...................................... 33
Tabel 4.1.
Pengujian nada dengan nilai DFT dan frame blocking 1024 ..................... 43
Tabel 4.1.
(Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 1024 ... 44
Tabel 4.2.
Pengujian nada dengan nilai DFT dan frame blocking 512 ....................... 44
Tabel 4.2.
(Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 512 ..... 45
Tabel 4.3.
Pengujian nada dengan nilai DFT dan frame blocking 256 ....................... 45
Tabel 4.3.
(Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 256...... 46
Tabel 4.4.
Pengujian nada dengan nilai DFT dan frame blocking 128 ....................... 46
Tabel 4.4.
(Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 128...... 47
Tabel 4.5.
Pengujian nada dengan nilai DFT dan frame blocking 64 ......................... 47
Tabel 4.5.
(Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 64........ 48
Tabel 4.6
Pengaruh panjang DFT terhadap tingkat pengenalan ................................. 49
Tabel 4.7.
Pengujian nada alat musik pianika dengan DFT 512 ................................. 51
Tabel 4.7.
(Lanjutan) Pengujian nada alat musik pianika dengan DFT 512 ............... 51
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Musik adalah salah satu media ungkapan kesenian. Musik mencerminkan
kebudayaan masyarakat pendukungnya. Musik dapat juga disebut sebagai media seni, dimana pada umumnya orang mengungkapkan kreativitas dan ekspresi seninya melalui bunyi-bunyian atau suara [1]. Drum Band merupakan salah satu jenis musik. Drum Band adalah gabungan dari beberapa jenis alat musik yang dimainkan secara bersamaan. Salah satu alat musik dalam Drum Band adalah belira. Belira merupakan alat musik yang terdiri dari sederetan besi yang dimainkan dengan cara dipukul. Tinggi rendahnya nada pada belira ditentukan oleh frekuensi dasar gelombang bunyi. Semakin besar frekuensi dasar gelombang bunyi, maka semakin tinggi nada yang dihasilkan. Indera pendengaran manusia tidak dapat mengetahui pasti nada apa yang didengar, terkecuali pemusik profesional. Hal ini amatlah penting bagi masyarakat yang ingin mengetahui apakah alat musiknya sudah menghasilkan nada-nada yang tepat atau belum. Penelitian yang sudah dilakukan sebelumnya menggunakan Ekstraksi Ciri DCT dan Similaritas Kosinus [2]. Berdasarkan penelitian yang telah dilakukan sebelumnya, penulis ingin membuat suatu sistem pengenalan nada dengan metode yang berbeda. Pengenalan ini dibuat dengan menggunakan DFT untuk membangkitkan spektrum frekuensi yang kemudian akan dianalisis dengan mencari nilai-nilai maksimum lokalnya, menentukan frekuensi dan dengan menggunakan look up table untuk proses akhir penentuan teks nada belira yang dimainkan. Dalam sistem pengenalan nada ini, nada uji , , , 1, 2, 3, 4, 5, 6, 7, , , , , , yang telah melalui proses perekaman diproses terlebih dahulu agar menghasilkan spektrum frekuensi untuk menentukan frekuensi tengah dalam look up table. Prosesnya akan melalui tahap perekaman, kemudian preprocessing yang terdiri dari normalisasi awal, pemotongan sinyal, frame blocking, normalisasi akhir, dan windowing. Kemudian menghitung dengan DFT untuk mendapatkan spektrum frekuensi. Nilai tertinggi yang dilihat dari hasil plot spektrum frekuensi digunakan sebagai frekuensi tengah. Untuk menentukan range frekuensi pada look up table, dilakukan pengambilan nada sebanyak tiga kali untuk
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
masing-masing nada untuk melihat area frekuensi setiap nada tersebut. Frekuensi look up table pada proses akhirnya digunakan untuk mendapatkan keluaran teks nada sesuai dengan nada yang dimainkan.
1.2.
Tujuan dan Manfaat Tujuan dari penelitian ini adalah menghasilkan aplikasi pada pengenalan nada alat
musik belira dengan menggunakan DFT untuk membangkitkan spektrum frekuensi dan look up table untuk penentuan keluarannya. Manfaat dari penelitian ini adalah sebagai alat bantu bagi masyarakat yang sedang belajar memainkan alat musik belira agar dapat mengenali nadanya, khususnya untuk anak TK dan SD yang sering menggunakan alat musik belira.
1.3.
Batasan Masalah Pada perancangan sistem ini, penulis fokus pada pembuatan software. Perancangan
dilakukan dengan pembuatan program pengenalan nada alat musik belira pada MATLAB. Batasan masalah dalam penelitian ini adalah: a. Menggunakan MATLAB untuk pembuatan program pengenalan nada b. Pengenalan nada yang bersifat real time c. Menggunakan hamming window dalam program pengenalan nada pada proses windowing. d. Menggunakan look up table untuk penentuan keluarannya.
1.4.
Metodologi Penelitian Metode yang digunakan dalam penulisan ini adalah:
a. Pengumpulan bahan-bahan literatur berupa buku, jurnal, dan artikel. b. Perancangan subsistem software Tahap ini bertujuan untuk mencari bentuk model yang optimal daripada sistem yang akan dibuat dengan pertimbangan dari faktor-faktor permasalahan yang ada dan kebutuhan- kebutuhan yang telah ditentukan. c. Pembuatan subsistem software Penulis menggunakan software MATLAB untuk pembuatan program pengenalan nada belira. Program akan bekerja jika user memberikan perintah melalui
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3
komputer, program akan mengolah perintah yang telah diterima dan memulai proses recording. Setelah proses recording, komputer akan mengolah nada kemudian memberikan keluaran teks nada belira.
d. Analisa dan penyimpulan hasil percobaan Analisa data dilakukan dengan menyelidiki pengaruh panjang DFT dan frame blocking terhadap tingkat pengenalan nada belira.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II DASAR TEORI 2.1.
Belira Belira adalah salah satu alat musik yang merupakan bagian penting dari Drum
Band. Alat ini terdiri dari sederetan besi yang mempunyai nada. Semakin pendek ukuran besinya maka semakin tinggi nada yang dihasilkan. Jadi besi yang ukurannya paling panjang mengeluarkan nada yang paling rendah pada belira. Biasanya nadanya dimulai dari nada sol. Cara memainkan belira hampir sama dengan cara memainkan piano. Perbedaannya pada alat musik piano dimainkan dengan menggunakan jari-jari sedangkan belira dimainkan dengan menggunakan alat pukul khusus. Meskipun cara memainkannya mudah, namun butuh sedikit bakat untuk memahami cara memainkan belira serta menghafal not-not dari lagu yang ingin dimainkan. Untuk memainkan alat ini, pemain harus menghafal banyak not lagu yang tentunya setiap lagu memiliki nada yang berbedabeda. Belira memiliki 16 nada yaitu , , , 1, 2, 3, 4, 5, 6, 7, , , , , , . Gambar berikut merupakan gambar alat musik belira:
Gambar 2.1. Alat Musik Belira
4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 2.2.
5
Mikrofon Mikrofon adalah suatu komponen elektronika yang dapat mengubah atau
mengkonversikan energi akustik (gelombang suara) ke energi listrik (sinyal audio). Fungsi dari mikrofon adalah sebagai komponen atau alat pengubah satu bentuk energi ke bentuk energi lainnya. Setiap jenis Mikrofon memiliki cara yang berbeda dalam mengubah (konversi) bentuk energinya, tetapi semua jenis mikrofon memiliki persamaan yaitu memiliki suatu bagian utama yang disebut dengan diafragma. Mikrofon merupakan komponen penting dalam perangkat elektronik seperti alat bantu pendengaran, perekam suara, penyiaran radio maupun alat komunikasi lainnya seperti handphone, telepon, interkom, walkie talkie serta home entertainment seperti karaoke [3]. Pada perancangan ini mikrofon digunakan sebagai alat perekaman suara untuk mendapatkan nada terekam alat musik belira, agar kemudian dapat diproses untuk melalui tahap selanjutnya sehingga mendapatkan keluaran teks yang sesuai dengan nada yang dimainkan. Mikrofon yang digunakan adalah tipe Microphone Genius 01A. Dalam proses perekaman, mikrofon dihubungkan langsung dengan kartu suara yang ada di laptop.
Gambar 2.2 Mikrofon Genius 01A
2.3.
Pengenalan Pola Pengenalan pola (pattern recognition) sesungguhnya telah lama ada dan telah
mengalami perkembangan terus menerus dimulai dari pengenalan pola tradisional kemudian menjadi pengenalan pola modern. Pada mulanya pengenalan pola berbasis pada kemampuan alat indera manusia, dimana manusia mampu mengingat suatu informasi pola secara menyeluruh hanya berdasarkan sebagian informasi pola yang tersimpan di dalam ingatannya. Misalnya sebuah nada pendek yang dibunyikan dapat membuat manusia mengingat sebuah lagu secara keseluruhan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6
Inti dari pengenalan pola adalah proses pengenalan suatu objek dengan menggunakan berbagai metode dimana dalam proses pengenalannya memiliki tingkat akurasi yang tinggi. Memiliki tingkat akurasi yang tinggi mengandung pengertian bahwa suatu objek yang secara manual (oleh manusia) tidak dapat dikenali tetapi bila menggunakan salah satu metode pengenalan yang diaplikasikan pada komputer masih dapat dikenali [4]. Pola adalah entitas yang terdefinisi dan dapat diidentifikasi melalui ciri-cirinya (features) [5]. Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi.
Tabel 2.1 Contoh Pengenalan Pola Pola Huruf
Ciri Tinggi, Tebal, Titik Sudut, Lengkungan Garis, dll
Suara
Amplitudo, Frekuensi, Nada, Intonasi, Warna, dll
Tanda Tangan
Panjang, Kerumitan, Tekanan, dll
Sidik Jari
Lengkungan, Jumlah Garis, dll
Pengenalan pola bertujuan menentukan kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut. Dengan kata lain, pengenalan pola membedakan suatu objek dengan objek lain. Terdapat dua pendekatan yang dilakukan dalam pengenalan pola yaitu pendekatan secara statistik dan pendekatan secara sintaktik atau struktural [5]. a. Pengenalan Pola secara Statistik Pendekatan ini menggunakan teori-teori ilmu peluang dan statistik. Ciri-ciri yang dimiliki oleh suatu pola ditentukan distribusi statistiknya. Pola yang berbeda memiliki distribusi yang berbeda pula. Dengan menggunakan teori keputusan di dalam statistik, kita menggunakan distribusi ciri untuk mengklasifikasikan pola.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7
Gambar 2.3 Sistem Pengenalan Pola dengan Pendekatan Statistik Ada dua fase dalam sistem pengenalan pola: (i) fase pelatihan dan (ii) fase pengenalan. Pada fase pelatihan, beberapa contoh citra dipelajari untuk menentukan ciri yang akan digunakan dalam proses pengenalan serta prosedur klasifikasinya. Pada fase pengenalan, citra diambil cirinya kemudian ditentukan kelas kelompoknya. 1. Preprocessing Proses awal yang dilakukan untuk memperbaiki kualitas citra (edge enhancement) 2. Feature Extraction Proses mengambil ciri-ciri yang terdapat pada objek di dalam citra. Pada proses ini objek di dalam citra mungkin perlu dideteksi seluruh tepinya, lalu menghitung properti-properti objek yang berkaitan sebagai ciri. Beberapa proses ekstraksi ciri mungkin perlu mengubah citra masukan sebagai citra biner, melakukan penipisan pola, dan sebagainya. 3. Classification Proses mengelompokkan objek ke dalam kelas yang sesuai. 4. Feature Selection Proses memilih ciri pada suatu objek agar diperoleh ciri yang optimum, yaitu ciri yang dapat digunakan untuk membedakan suatu objek dengan objek lainnya. 5. Learning Proses belajar membuat aturan klasifikasi sehingga jumlah kelas yang tumpang tindih dibuat sekecil mungkin.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
8
Kumpulan ciri dari suatu pola dinyatakan sebagai vektor ciri dalam ruang bahumatra (multi dimensi). Jadi, setiap pola dinyatakan sebagai sebuah titik dalam ruang bahumatra. Ruang bahumatra dibagi menjadi sejumlah uparuang (sub-ruang). Tiap uparuang dibentuk berdasarkan pola-pola yang sudah dikenali kategori dan ciri-cirinya (melalui fase pelatihan). Lihat Gambar 2.5
Gambar 2.4 Contoh Pembagian Kelas Pola
b. Pengenalan Pola secara Sintaktik Pendekatan ini menggunakan teori bahasa formal. Ciri-ciri yang terdapat pada suatu pola ditentukan primitif dan hubungan struktural antara primitif kemudian menyusun tata bahasanya. Dari aturan produksi pada tata bahasa tersebut kita dapat menentukan kelompok pola. Gambar 2.6 memperlihatkan sistem pengenalan pola dengan pendekatan sintaktik. Pengenalan pola secara sintaktik lebih dekat ke strategi pengenalan pola yang dilakukan manusia, namun secara praktek penerapannya relatif sulit dibandingkan pengenalan pola secara statistik.
Gambar 2.5 Sistem pengenalan pola dengan pendekatan sintaktik
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
Pendekatan yang digunakan dalam membentuk tata bahasa untuk mengenali pola adalah mengikuti kontur (tepi batas) objek dengan sejumlah segmen garis terhubung satu sama lain, lalu mengkodekan setiap garis tersebut (misalnya dengan kode rantai). Setiap segmen garis merepresentasikan primitif pembentuk objek.
2.4.
Teorema Pencuplikan Sampling adalah proses pencuplikan gelombang suara yang akan menghasilkan
gelombang diskret. Dalam proses sampling ada yang disebut dengan laju pencuplikan (sampling rate). Sampling rate menandakan berapa banyak pencuplikan gelombang analog dalam 1 detik. Sampling rate dinyatakan dalam satuan Hertz (Hz). Pada proses sampling, sebaiknya sampling rate memenuhi kriteria Nyquist. Kriteria Nyquist menyatakan bahwa sampling rate harus lebih besar dari dua kali frekuensi tertinggi sinyal analog [5]. Secara matematis dapat dituliskan: (2.2) dengan: fs = frekuensi sampling rate fm = frekuensi tertinggi sinyal suara analog
2.5.
Preprocessing Preprocessing adalah proses-proses awal yang dilakukan sebelum proses
membangkitkan spektrum. Tujuan dari preprocessing ini adalah untuk menyetarakan sinyal nada masukan agar lebih mudah diproses untuk pengenalan nadanya.
2.5.1 Normalisasi Awal 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 [6]. Proses normalisasi awal dilakukan dengan cara membagi tiap nilai data masukan yaitu nada terekam dengan nilai absolut maksimal dari data masukan tersebut. Berikut rumus untuk proses normalisasi:
))
(2.3)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
Keterangan: = hasil data sinyal normalisasi = data input
Gambar 2.3 dan gambar 2.4 meperlihatkan gambar sinyal sebelum dan setelah melalui proses normalisasi awal.
Gambar 2.6 Sinyal Sebelum Normalisasi
Gambar 2.7 Hasil Setelah Normalisasi Awal
2.5.2 Pemotongan Sinyal Proses pemotongan sinyal bertujuan untuk memotong beberapa bagian sinyal. Proses pemotongan dilakukan setelah proses normalisasi awal. Dalam proses pemotongan, bagian yang dipotong adalah bagian awal dari sinyal. Tujuan dari pemotongan awal sinyal nada adalah untuk menghilangkan bagian yang tidak termasuk bagian dari sinyal nada serta untuk mengurangi cacat sinyal akibat derau ruangan yang ikut terekam agar didapatkan sinyal yang benar-benar suara nada alat musik belira. Pada proses pemotongan ini, akan melewati dua kali proses pemotongan. Proses pemotongan yang pertama yaitu memotong bagian silence atau bagian awal sinyal yang tidak termasuk sinyal nada terekam. Proses
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
pemotongan yang kedua yaitu memotong bagian transisi sinyal. Berikut gambar untuk hasil pemotongan :
Gambar 2.8 Sinyal Sebelum Pemotongan
Gambar 2.9 Hasil Pemotongan Bagian Silence
Gambar 2.10 Hasil Pemotongan Bagian Transisi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
2.5.3 Frame Blocking Frame Blocking adalah pembagian sinyal audio menjadi beberapa frame yang nantinya dapat memudahkan dalam perhitungan dan analisa sinyal, satu frame terdiri dari beberapa sampel tergantung berapa detik suara akan disampel dan berapa besar frekuensi sampling. Pada proses ini dilakukan pemotongan sinyal dalam slot-slot tertentu agar memenuhi dua syarat yaitu linear dan time invariant. Gambar 2.9 memperlihatkan contoh hasil frame blocking.
Gambar 2.11 Bagian Sinyal yang Akan Diambil untuk Frame Blocking
Gambar 2.12 Hasil Frame Blocking dari Gambar 2.11 Fungsi frame blocking yaitu mereduksi data yang akan diproses dalam sistem pengenalan. Pada pengenalan ini nilai frame bervariasi, user akan diberikan pilihan variasi untuk nilai frame. Pada gambar di atas nilai frame yang digunakan sebesar 512.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
2.5.4 Normalisasi Akhir Normalisasi akhir adalah normalisasi setelah melalui proses pemotongan dan frame blocking. Setelah melalui proses frame blocking, sinyal yang dihasilkan tidak maksimal sehingga dibutuhkan proses normalisasi akhir. Proses normalisasi akhir dilakukan dengan cara membagi tiap nilai data masukan yaitu hasil frame blocking dengan nilai absolut maksimal dari data masukan tersebut. Tujuan dari normalisasi akhir adalah untuk menyetarakan amplitudo hasil frame blocking agar maksimal. Rumus untuk proses normalisasi akhir sama dengan rumus proses normalisasi awal:
))
(2.4)
Keterangan: = hasil data sinyal normalisasi = data input
Berikut gambar untuk hasil normalisasi akhir:
Gambar 2.13 Hasil Normalisasi dari Gambar 2.12
2.5.5 Windowing Windowing digunakan untuk menghilangkan diskontinuitas yang diakibatkan oleh proses Frame Blocking atau Framing. Ada beberapa fungsi windows yang telah ada diantaranya Kaiser, Hamming, Triangular, dan Rectangular. Dalam proses ini jenis window yang digunakan adalah Hamming Window. Hamming Window mempunyai side lobe yang paling kecil dan main lobe yang paling besar sehingga hasil windowing akan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
lebih halus dalam menghilangkan efek diskontinuitas. Hamming Window adalah sebuah vektor dengan jumlah elemen sebanyak n. Biasanya n akan disesuaikan dengan banyaknya elemen pada frame sehingga banyaknya elemen pada Hamming Window akan sama dengan banyaknya elemen pada frame. Persamaan dari windowing hamming[7]:
(2.5)
Keterangan : w(n) = windowing N
= jumlah data dari sinyal
n
= waktu diskrit ke-
Gambar 2.14 Hasil Windowing dari Gambar 2.13
2.6.
DFT (Discrete Fourier Transform) Salah satu formulasi yang ampuh untuk proses pengolahan sinyal adalah
menggunakan
Discrete
Fourier
Transform
(DFT).
Prinsip
DFT
adalah
mentransformasikan (alih bentuk) sinyal yang semula analog menjadi diskret dalam domain waktu, dan kemudian diubah ke dalam domain frekuensi. Hal ini dilakukan dengan mengalikan sinyal diskret dengan suatu fungsi kernel. DFT dan FFT memiliki resolusi sebesar fs/N yang mana fs adalah sampling rate (dalam 1 detik diambil sebanyak fs data) dan N adalah banyaknya data hasil penyamplingan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
Discrete Fourier Transform (DFT) didefinisikan sebagai:
(2.6)
Dengan : n = indeks dalam domain waktu = 0, 1, ..., N-1, m = indeks dalam domain frekuensi = 0, 1, ..., N-1
Persamaan ini menyatakan bahwa DFT merupakan metode yang berguna dalam menentukan amplitudo dan komponen-komponen frekuensi harmonik ke-m dari suatu sinyal periodik atau merupakan koefisien-koefisien deret Fourier[8]. Discrete Fourier Transform (DFT) mengubah sinyal atau sistem dari kawasan waktu ke kawasan frekuensi. DFT yang dikenakan pada sinyal akan menghasilkan spektrum frekuensi yang terdiri dari spektrum magnitude dan spektrum fasa yang menunjukkan hubungan antara magnitude, fasa dengan frekuensi. Artinya kita dapat melihat komponen penyusun sinyal tersebut dari magnitude sinyal pada rentang frekuensi. Begitu juga dengan fasenya. Misalnya digunakan untuk analisis suara nada alat musik belira maka kita dapat melihat sebenarnya nada dari belira tersebut mempunyai magnitude besar pada frekuensi berapa saja yang menunjukkan dominan frekuensi dari suara nada tersebut. Penerapan DFT pada tanggapan cuplik satuan suatu sistem akan menghasilkan tanggapan frekuensi yang terdiri dari tanggapan magnitude dan tanggapan fase. Hal ini berguna untuk analisis suatu filter, bagaimana respon filter tersebut secara frekuensi.
Gambar 2.15 Spektrum Frekuensi dari Gambar 2.14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III PERANCANGAN 3.1.
Sistem Pengenalan Nada Alat Musik Belira
Blok diagram sistem pengenalan nada alat musik belira diperlihatkan pada gambar diberikut:
Gambar 3.1 Diagram Blok Sistem Pengenalan Nada Belira 3.1.1 Belira Alat musik belira digunakan sebagai objek penelitian oleh penulis, belira memiliki 16 nada yang akan dikenali yaitu , , , 1, 2, 3, 4, 5, 6, 7, , , , , , . 3.1.2 Mikrofon Mikrofon berfungsi untuk menangkap suara dari belira kemudian menyalurkan pada laptop kemudian diproses untuk pengenalan nada. 3.1.3 Proses Perekaman Proses perekaman adalah proses masuknya data nada terekam berupa sinyal digital. Saat proses perekaman berlangsung sinyal analog dikonversi menjadi sinyal digital dengan frekuensi sampling. 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.
16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
3.1.4 Proses Pengenalan Nada Proses ini untuk mengetahui nada apa yang direkam. Gambar berikut merupakan diagram proses pengenalan nada :
Gambar 3.2 Diagram Blok Proses Pengenalan Nada Belira 1. Masukan Masukannya adalah hasil dari sampling nada belira yang direkam langsung (real time) menggunakan mikrofon. Hasilnya dalam bentuk wav. 2. Preprocessing Preprocessing merupakan proses awal yang berfungsi untuk menyetarakan sinyal masukan. Preprocessing terdiri dari: a. Normalisasi Awal Proses normalisasi awal bertujuan untuk menyetarakan amplitudo nada masukan menjadi maksimum, sehingga efek dari kuat atau lemahnya suara yang dikeluarkan alat musik tidak terlalu memengaruhi proses pengenalan. b. Pemotongan Awal Proses pemotongan bertujuan untuk menghilangkan efek noise atau suara lain yang ikut terekam pada saat proses perekaman. Sinyal yang dipotong adalah sinyal bagian silence dan bagian transisi yang terdapat di bagian awal/depan sinyal nada terekam. c. Frame Blocking Proses frame blocking untuk memilih data dari nada terekam.Data yang dipilih dapat mewakili semua nada yang terekam.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
d. Normalisasi Akhir Masukan dari normalisasi akhir adalah sinyal hasil frame blocking. Setelah proses frame blocking sinyalnya tidak maksimal sehingga dibutuhkan normalisasi akhir untuk menyetarakan amplitudo menjadi maksimum. e. Windowing Data yang telah dinormalisasikan akan melalui proses windowing. Windowing ini berfungsi untuk mengurangi efek diskontinuitas dari potongan-potongan sinyal. Dalam penelitian ini menggunakan Hamming Window. 3. DFT dan Spektrum Frekuensi Pada pengenalan nada alat musik belira ini nilai DFT sama dengan nilai frame blocking. Proses ini untuk membangkitkan spektrum frekuensi. Setelah melihat keluaran spektrum frekuensi maka dapat diketahui frekuensi untuk nada yang dimainkan. 4. Pencarian Maksimum Lokal Proses pencarian maksimum lokal untuk mencari nilai-nilai maksimum lokal dari spektrum frekuensi. 5. Sorting Turun Setelah mendapatkan nilai-nilai maksimum lokal maka akan melewati proses sorting turun (descend) atau mengurutkan kebawah nilai-nilai maksimum lokal dan nilai-nilai frekuensi nada, tujuannya adalah untuk mengetahui nilai tertinggi dari data agar dapat diproses untuk mengetahui nadanya. 6. Uji Harmonis Untuk proses uji harmonis bertujuan untuk menentukan apakah nada yang dimainkan merupakan nada belira atau bukan. Untuk mengetahui hal tersebut, maka dalam proses uji harmonis ini dilakukan perhitungan yaitu membagi nilai maksimum lokal urutan 2 dan urutan 1. 7. Penentuan Frekuensi Proses ini untuk menentukan frekuensi dari nada belira yang dimainkan. Dari proses sorting turun, maka dapat diketahui nilai frekuensinya yaitu nilai frekuensi yang paling tinggi yang berada di urutan pertama setelah melalui proses sorting turun (descend). 8. Penentuan Nada Setelah mengetahui nilai frekuensinya maka dapat diketahui nada keluarannya. Penentuan nada ini prosesnya dengan menggunakan look up table.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
9. Keluaran (Teks) Dari penentuan nada, maka dapat diketahui nada apa yang dimainkan. Keluarannya adalah berupa teks nada. 3.1.5 Keluaran : Teks Keluaran akhir untuk pengenalan nada ini berupa teks nada yang dikenali dan teks “ERROR” jika nada tidak dikenali.
3.2.
Look Up Table Dalam perancangan pengenalan nada alat musik belira ini, menggunakan look up
table pada proses penentuan nadanya. Untuk menentukan frekuensi pada look up table, penulis harus mencari frekuensi tengahnya terlebih dahulu kemudian menentukan range frekuensi yang digunakan. Untuk memperoleh frekuensi tengah tersebut, penulis mengambil 3 sampel untuk masing-masing nada yang akan dikenali (“ , , , 1, 2, 3, 4, 5, 6, 7, , , , , , “) kemudian menentukan nilai rata-ratanya. Nilai rata-rata tersebut yang
digunakan sebagai frekuensi tengah penentu range pada look up table. Pengambilan nada dilakukan melalui tahap perekaman. Setelah proses perekaman maka akan melalui preprocessing yang terdiri dari proses normalisasi awal, pemotongan sinyal, frame blocking, normalisasi akhir, dan windowing. Setelah itu, menghitung dengan DFT dan penentuan spektrum sehingga didapatkan plot spektrum frekuensi. Prosesnya ditunjukkan pada gambar berikut:
Gambar 3.3 Proses Penentuan Frekuensi Tengah untuk Look Up Table
3.3.
Nada Uji Proses ini bertujuan untuk pencuplikan gelombang suara yang akan menghasilkan
gelombang diskret termodulasi pulsa. Fungsi dari nada uji ialah untuk menjalankan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
20
program pengenalan suara nada belira secara offline atau belum real-time. Selain itu, nada uji juga digunakan untuk mencari frekuensi tengah look up table. Berikut gambar blok diagram proses pengambilan nada uji:
Gambar 3.4 Diagram Blok Proses Pengambilan Nada Uji
3.4.
Perancangan Tampilan Program GUI MATLAB
Pilihan Nilai Frame
Bar Hasil Rekam
Rekam
Selesai
Tampilan Teks Nada Bar Spektrum Frekuensi
Gambar 3.5 Tampilan Proses pada GUI MATLAB
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Tabel 3.1 Keterangan Tampilan Utama Sistem Nama
Keterangan
Pilihan Nilai Frame
Untuk memilih nilai frame blocking
Rekam
Untuk memulai program
Selesai
Untuk mengakhiri program
Plot Hasil Rekam
Untuk menampilkan grafik hasil rekam
Plot Spektrum Frekuensi
Untuk menampilkan grafik spektrum frekuensi
Tampilan Teks Nada
Untuk menampilkan teks nada belira sesuai nada yang dimainkan
3.5.
Perancangan Alur Program
Gambar 3.6 Diagram Alir Sistem Pengenalan Nada Belira
21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
22
Pada sistem pengenalan nada ini terdapat proses-proses yang perlu dilakukan. Bermula dari perekaman hingga hasil akhir yang akan memberikan tampilan teks untuk nada yang dimainkan.
3.5.1 Rekam
Gambar 3.7 Diagram Alir Sub Rutin Rekam Pada proses perekaman, proses pertama akan melewati sampling yang tujuannya untuk merekam nada belira dengan nilai frekuensi sampling yang telah ditentukan yaitu 10000 Hz. Nilai untuk frekuensi sampling didapatkan berdasarkan rumus (2.1). Jadi semua sampel nada yang diambil dalam proses perekaman, melalui proses sampling terlebih dahulu sebelum masuk ke tahap selanjutnya. Hasil keluaran untuk proses perekaman dalam bentuk wav. Berikut ini merupakan cara untuk sampling nada: 1. Menentukan panjang durasi perekaman yaitu 1,5 detik [L31]. 2. Menentukan frekuensi sampling yaitu 10000 Hz [L19]. 3. Menentukan jumlah sample dengan mengalikan panjang durasi perekaman dengan frekuensi sampling. 4.
Merekam suara masukan dengan perintah wavrecord.
5. Menyimpan hasil rekaman dengan perintah wavwrite. 6. Menampilkan sinyal hasil rekaman dengan perintah plot.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
23
3.5.2 Normalisasi Awal
Gambar 3.8 Diagram Alir Normalisasi Awal Tujuan dari proses normalisasi awal adalah untuk menyetarakan amplitudo dari data sinyal nada terekam sehingga dapat terbentuk pada skala yang sama agar kuat atau lemahnya suara nada yang dimainkan tidak terlalu memengaruhi proses pengenalan. Dalam proses normalisasi ini, nilai-nilai data masukan nada terekam dibagikan dengan nilai absolut maksimal dari data itu sendiri sehingga didapatkan sinyal yang ternormalisasi untuk nada terekam. Rumus untuk membagi data dapat dilihat pada persamaan (2.2).
3.5.3 Pemotongan Awal
Gambar 3.9 Diagram Alir Pemotongan Awal
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
Proses pemotongan awal adalah pemotongan sinyal awal yang tidak digunakan yang terdapat di sisi kiri atau bagian awal dari sinyal yaitu bagian silence dan bagian transisi. Tujuan dari proses pemotongan bagian silence adalah untuk menghilangkan bagian yang tidak termasuk bagian dari sinyal nada, dan tujuan pemotongan bagian transisi adalah untuk mendapatkan sinyal yang benar-benar suara nada alat musik belira. Proses pemotongan pertama pada bagian silence, pada proses ini akan memotong sinyal suara yang terekam sebelum sinyal suara nada belira. Pemotongan kedua yaitu pada bagian transisi. Pemotongan ini dilakukan dengan menghilangkan ¼ bagian dari sinyal yang terdapat di bagian awal (bagian transisi) setelah pemotongan bagian silence. Setelah melalui 2 (dua) kali proses pemotongan, maka didapatkan keluaran untuk hasil pemotongan awal. Berikut ini merupakan cara pemotongan sinyal bagian silence dan pemotongan bagian transisi: 1. Menentukan nilai yang digunakan sebagai batas potong yaitu 0,3 [2]. 2. Mencari bagian sinyal yang > 0,3 dan < (-0,3). Sinyal yang dicari tersebut diinisialisasi sebagai b1. 3. Sinyal yang tidak termasuk b1 adalah sinyal silence sehingga sinyal tersebut dihilangkan. 4. Pemotongan sinyal transisi dengan mengalikan jumlah data sinyal dengan 0,25. Hasil perkalian tersebut diinisialisasi sebagai bts. 5. Menghilangkan data sinyal mulai dari indeks 1 sampai dengan indeks bts.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
3.5.4 Frame Blocking
Gambar 3.10 Diagram Alir Frame Blocking Setelah proses pemotongan, maka proses selanjutnya yaitu frame blocking. Nilai frame dipilih oleh user. Pilihan nilai-nilai frame blocking yang diberikan yaitu 64, 128, 256, 512, dan 1024. Nilai-nilai tersebut ditentukan sendiri secara objektif dan nilai-nilai tersebut juga telah digunakan pada penelitian-penelitian sebelumnya [2]. Dalam proses ini, data yang diambil mulai dari sinyal yang paling kiri dan akan diambil sepanjang nilai frame yang telah dipilih oleh user sehingga dapat memudahkan dalam perhitungan dan analisa sinyal. Data yang diambil dapat mewakili data terekam. Data yang diambil tersebut merupakan keluaran untuk proses frame blocking.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
3.5.5 Normalisasi Akhir
Gambar 3.11 Diagram Alir Normalisasi Akhir Masukan dari normalisasi akhir adalah sinyal hasil frame blocking. Pada proses frame blocking sinyalnya tidak maksimal sehingga dibutuhkan normalisasi akhir untuk menyetarakan amplitudo menjadi maksimum. Pada proses normalisasi akhir, data masukan hasil frame blocking dibagi dengan nilai absolut maksimal dari data hasil frame blocking tersebut. Hasil pembagiannya merupakan keluaran untuk proses normalisasi akhir.
3.5.6 Windowing
Gambar 3.12 Diagram Alir Windowing Windowing berfungsi
untuk mengurangi
efek diskontinuitas saat sinyal
ditransformasikan ke domain frekuensi. Proses ini menggunakan hamming window.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
27
Penggunaan hamming window membuat hasil windowing akan lebih halus dalam menghilangkan efek diskontinuitas. Dalam prosesnya, masukan yaitu hasil normalisasi akhir dikalikan dengan windowing hamming sehingga didapatkan hasil untuk proses windowing. Rumus windowing hamming dapat dilihat pada persamaan (2.4).
3.5.7 DFT dan Spektrum Frekuensi
Gambar 3.13 Diagram Alir DFT dan Spektrum Frekuensi Proses selanjutnya adalah mencari spektrum frekuensi. Dalam proses ini, perhitungan dengan DFT digunakan untuk membangkitkan spektrum frekuensi sehingga didapatkan keluaran spektrum frekuensi. Pada proses ini, untuk frekuensi yang nilainya 0-100 Hz dianggap tidak termasuk frekuensi belira. Berikut ini merupakan cara untuk membangkitkan spektrum frekuensi dengan menggunakan DFT : 1. Mencari panjang data sinyal. 2. Menambahkan angka 0 pada data agar jumlah data sama dengan jumlah frekuensi sampling. 3. Menghitung data dengan fungsi DFT pada lampiran [L39]. 4. Hasil perhitungan dikalikan dengan konjugat untuk mendapatkan nilai real. 5. Hasil perkalian indeks 1 sampai setengah dari frekuensi sampling adalah sumbu tegak pada spektrum kemudian hasilnya ditampilkan dengan perintah bar sehingga terlihat sinyal spektrum frekuensi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
28
3.5.8 Pencarian Maksimum Lokal
Gambar 3.14 Diagram Alir Pencarian Maksimum Lokal Proses pencarian maksimum lokal adalah mencari nilai-nilai maksimum lokal setelah mendapatkan spektrum frekuensinya. Tujuan dari proses ini adalah untuk menganalisis spektrum dengan nilai-nilai dari maksimum lokal tersebut agar diketahui nada yang dimainkan termasuk nada belira atau bukan. Berikut ini merupakan cara untuk mencari nilai-nilai maksimum lokal : 1. Mencari panjang data spektrum. 2. Menolkan semua data dengan perintah zeros. 3. Mencari nilai-nilai tertinggi dengan proses looping. Dalam proses looping, angka yang lebih besar dari angka sebelumnya dan sesudahnya adalah angka yang diambil sebagai nilai maksimum lokal. 4. Mengisi data yang dinolkan tadi dengan nilai-nilai yang didapatkan dalam proses looping sehingga didapatkan seluruh nilai-nilai maksimum lokal.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
29
3.5.9 Sorting Turun
Gambar 3.15 Diagram Alir Sorting Turun Proses ini adalah untuk mengurutkan ke bawah nilai-nilai maksimum lokal sehingga dapat lebih mudah untuk proses selanjutnya. Mengurutkan kebawah berarti mengurutkan dari nilai yang tertinggi ke nilai yang terendah. Keluaran dari proses ini adalah nilai-nilai maksimum lokal yang telah diurutkan dari nilai tertinggi ke nilai yang terendah dan indeks dari nilai-nilai tersebut merupakan frekuensinya. Berikut ini adalah cara mengurutkan kebawah nilai-nilai maksimum lokal: 1. Nilai-nilai maksimum lokal diurutkan kebawah dengan perintah „descend’ tetapi urutan indeksnya tidak berubah. 2. Setelah diurutkan, data kemudian diambil dari urutan 1 sampai dengan 5. Indeks data tersebut adalah frekuensinya.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
3.5.10 Perhitungan Harmonis
Gambar 3.16 Diagram Alir Perhitungan Harmonis Proses selanjutnya adalah perhitungan harmonis. Dalam proses ini membagikan nilai maksimum lokal urutan 2 dan urutan 1 yang telah melalui proses sorting. Dari hasil pembagian dapat diketahui nada tersebut merupakan nada belira atau bukan. Jika nilai hasil pembagiannya < 0,07 maka nada masukan yang dimainkan merupakan nada alat musik belira,
selanjutnya
akan
diproses
untuk
menentukan
frekuensinya.
Jika
nilai
perbandingannya > 0,07 maka proses akan berhenti dan teks hasil keluarannya adalah „error‟, karena bukan merupakan nada alat musik belira. Nilai 0,07 ditentukan dengan melihat hasil pembagian maksimum lokal pada penelitian yang dilakukan oleh penulis saat mencoba perancangan sistem secara tidak real-time pada lampiran [L28].
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
3.5.11 Penentuan Frekuensi
Gambar 3.17 Diagram Alir Penentuan Frekuensi Jika nada yang dimainkan merupakan nada belira maka proses selanjutnya adalah menentukan frekuensi dari nada tersebut. Cara menentukan nilai frekuensi adalah dari hasil proses sorting turun. Indeks nilai maksimum lokal yang ada pada urutan pertama merupakan frekuensi nada. Dari frekuensi tersebut, dapat ditentukan hasil keluaran teks untuk nada belira. Hasil keluarannya ditentukan berdasarkan diagram alir berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 3.5.12 Penentuan Teks Nada
Gambar 3.18 Diagram Alir Proses Penentuan Teks Nada
32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
33
Setelah mengetahui nilai frekuensinya, maka dapat diketahui hasil keluaran teks dari nada belira yang dimainkan tersebut. Penentuan hasilnya dengan menggunakan look up table. Frekuensi tengah untuk look up table diperoleh melalui proses pada Gambar (3.3) dan hasilnya pada lampiran [L8]. Dari frekuensi tengah tersebut, dapat ditentukan range frekuensi look up table untuk masing-masing nada.
Tabel 3.2 Frekuensi Look Up Table untuk Penentuan Nada No. 1.
Nada Belira (Sol Rendah)
2.
(La Rendah)
3.
(Sol Rendah)
4.
1 (Do)
5.
2 (Re)
6.
3 (Mi)
7.
4 (Fa)
8.
5 (Sol)
9.
6 (La)
10.
7 (Si)
Frekuensi
776 ≤ frekuensi ≤ 796 871≤ frekuensi ≤ 891 979 ≤ frekuensi ≤ 999 1038 ≤ frekuensi ≤ 1058 1165 ≤ frekuensi ≤ 1185 1310 ≤ frekuensi ≤ 1330 1391 ≤ frekuensi ≤ 1411 1561 ≤ frekuensi ≤ 1581 1752 ≤ frekuensi ≤ 1772 1971 ≤ frekuensi ≤ 1991
11.
(Do Tinggi)
2044 ≤ frekuensi ≤ 2064
12.
(Re Tinggi)
2323 ≤ frekuensi ≤ 2343
13.
(Mi Tinggi)
2594 ≤ frekuensi ≤ 2614
14.
(Fa Tinggi)
2767 ≤ frekuensi ≤ 2787
15.
(Sol Tinggi)
3070 ≤ frekuensi ≤ 3090
16.
(La Tinggi)
3535 ≤ frekuensi ≤ 3555
3.5.13 Keluaran (Teks) Setelah selesai proses penentuan teks nada maka didapatkan keluarannya yaitu teks nada belira sesuai nada yang dimainkan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV HASIL DAN PEMBAHASAN Program yang telah dibuat, akan diuji terlebih dahulu untuk mengetahui cara kerjanya apakah sudah sesuai dengan perancangan. Data yang diperoleh dari pengujian ini memperlihatkan cara kerja dari program yang telah dibuat, dan dari data tersebut dapat dianalisa cara kerjanya. Setelah dianalisa maka dapat ditarik kesimpulan untuk sistem ini.
4.1.
Pengujian Program Pengenalan Nada Alat Musik Belira dengan Menggunakan DFT untuk Membangkitkan Spektrum dan Look Up Table untuk Penyelesaian
Pengujian program dilakukan untuk mengetahui cara kerjanya apakah sudah sesuai dengan perancangan. Pembuatan program dengan software MATLAB 7.10.0.499 (R2010a). Pengujian program menggunakan komputer dengan spesifikasi sebagai berikut : CPU
:
Intel® AtomTM Processor N450 (1.66GHz, 512KB Cache)
RAM
:
1 GB
Berikut langkah-langkah untuk menjalankan program pengenalan nada belira : 1. Click dua kali icon matlab dengan gambar icon seperti Gambar 4.1.
Gambar 4.1. Icon Program Pengenalan 2. Tampilan utama yang terlihat setelah melakukan langkah 1 seperti pada gambar 4.2.
34
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
Gambar 4.2. Tampilan Utama 3. Sesuaikan Current Directory dengan tempat penyimpanan program yang telah dibuat agar dapat dilakukan langkah selanjutnya 4. Kemudian ketik perintah gui dalam command window dan akan muncul seperti Gambar 4.3.
Gambar 4.3. Tampilan Program Pengenalan Nada Belira 5. User memilih panjang nilai frame blocking yang akan digunakan dalam proses pengenalan nada. 6. Setelah memilih nilai frame blocking, program pengenalan dapat dijalankan dengan menekan tombol “MULAI”.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
36
7. Selanjutnya hasil pengenalan nada akan muncul dalam kotak Static Text. User dapat melihat plot hasil rekaman nada pada kotak Axes 1, plot hasil ekstraksi ciri pada kotak Axes 2, dan teks hasil pengenalan nada pada kotak static. 8. Tombol “KELUAR” untuk keluar dari tampilan utama program.
4.1.1 Pengenalan Nada Untuk memulai pengenalan nada, user terlebih dahulu harus memilih panjang nilai frame blocking. Setelah memilih panjang frame blocking maka user dapat memulai pengenalan nada dengan menekan tombol “MULAI”. Pada saat menekan tombol “MULAI” maka program akan secara otomatis merekam suara nada. Setelah merekam, maka akan ditampilkan keluaran berupa plot perekaman suara, plot spektrum, dan hasil keluaran berupa teks sesuai nada yang dikenali. Untuk mengakhiri pengenalan, user dapat menekan tombol ”KELUAR”. Berikut merupakan contoh tampilan GUI Matlab yang dioperasikan dengan input 1 (do).
Gambar 4.4 Tampilan dari program GUI Matlab yang dioperasikan dengan input nada 1(do), dengan nilai frame blocking adalah 512 Pada tampilan program GUI Matlab terdapat 1 pop up menu, 2 push button, 2 axes dan 1 static text.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
a. Pop Up Menu Pada program ini, pop up menu digunakan untuk variasi nilai frame blocking yaitu 1024, 512, 256, 128, dan 64. Listing program untuk variasi nilai frame blocking adalah sebagai berikut : indeks=get(handles.popupmenu1,'Value'); switch indeks case 1
fb=1024; case 2 fb=512; case 3 fb=256; case 4 fb=128; case 5
fb=64; end handles.frame=fb; guidata(hObject,handles); Nilai-nilai variasi frame blocking diinisialisasikan dengan nama frame kemudian diproses dengan perintah handles. b. Push Button, Axes, dan Static Text Dalam program ini menggunakan 2 Push Button, masing-masing untuk memulai dan mengakhiri program pengenalan nada yaitu tombol “MULAI” dan “SELESAI”. Saat user menekan Push Button 1 atau tombol “MULAI” maka program akan berjalan otomatis, mulai dari merekam suara, kemudian menampilkan plot hasil rekam pada kotak axes 1, menampilkan plot spektrum pada kotak axes 2, dan menampilkan teks hasil pengenalan pada kotak static text. Saat user menekan Push Button 2 atau tombol “SELESAI” maka proses pengenalan nada berhenti dan menutup program. Berikut listing program untuk proses perekaman suara dan untuk menampilkan plot sinyal suara terekam:
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
38
sample_length=1.5; sample_freq=10000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq, 's.wav'); axes(handles.axes1) plot(x);
xlabel('Data Tercuplik') ylabel('Amplitudo') Pada program perekaman suara, panjang sampel yang digunakan adalah 1,5 detik dengan frekuensi sampling sebesar 10kHz. Waktu sampelnya didapatkan dari panjang sampel dikalikan dengan frekuensi sampel. Untuk menyimpan nada yang direkam, perintah yang digunakan adalah wavrecord
dan wavwrite, hasil plot perekaman tersebut
ditampilkan pada kotak axes 1. Listing program untuk menampilkan plot spektrum : b0=0.3; fb=handles.frame; % Normalisasi x1=x/max(abs(x)); % Pemotongan Awal % 1. Potong kiri b1=find(x1>b0 | x1<-b0);
x1(1:b1(1))=[]; % 2. 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));
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
39
%Windowing Hamming h=hamming(fb); x4=x3.*h; % Spektrum frekuensi px4=length(x4); x4=[x4; zeros((fs-px4),1)]; Y1=dftx(x4); Y2=Y1.*conj(Y1); %f=fs*(0:(1/2*fs))/fs;
%Sumbu mendatar pada spektrum
spek=Y2(1:(1/2*sample_freq+1)); %Sumbu tegak pada spektrum spek(1:100)=0;
% Frek 0-20 Hz dinolkan
axes(handles.axes2) bar(spek); Dalam program untuk menampilkan plot spektrum, proses pertama yang dilakukan adalah normalisasi awal untuk sinyal nada terekam yang ditampilkan pada kotak axes 1. Normalisasi dilakukan dengan cara membagi data masukan (data sinyal nada terekam) dengan nilai absolut data tersebut. Proses selanjutnya adalah pemotongan sinyal yang dilakukan sebanyak dua kali. Pemotongan yang pertama pada bagian silence atau bagian awal sinyal yang tidak termasuk sinyal nada dan pemotongan kedua pada bagian transisi. Tujuan dari proses pemotongan adalah untuk menghilangkan sinyal yang tidak termasuk sinyal nada belira dan untuk mengurangi cacat sinyal akibat derau ruangan yang ikut terekam. Pada pemotongan sinyal silence, data yang tingginya lebih besar dari 0,3 dan lebih kecil dari (-0,3) diinisialisasikan sebagai b1. Data yang tidak memenuhi syarat b1 merupakan sinyal silence sehingga sinyal tersebut dihilangkan. Pada pemotongan sinyal transisi, ¼ bagian sinyal yang terdapat di bagian awal diinisialisasikan sebagai bts. Sinyal tersebut dihilangkan untuk mendapatkan sinyal yang benar-benar sinyal suara nada belira. Proses selanjutnya adalah frame blocking yang tujuannya untuk mengambil sebagian data sesuai panjang nilai frame blocking yang dipilih oleh user. Data yang diambil tersebut untuk mewakili seluruh data yang terekam. Sinyal hasil frame blocking kemudian melalui proses normalisasi akhir yang bertujuan untuk menyetarakan amplitudo hasil frame blocking. Proses normalisasi akhir sama dengan normalisasi awal yaitu membagi data
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
40
masukan yaitu hasil frame blocking dengan nilai absolut data tersebut. Selanjutnya akan melalui proses windowing untuk menghilangkan diskontinuitas yang diakibatkan oleh proses frame blocking. Proses windowing ini menggunakan Hamming Window. Dalam prosesnya, hasil normalisasi akhir dikalikan dengan hamming. Setelah proses windowing, selanjutnya adalah perhitungan dengan DFT, perhitungan ini untuk membangkitkan spektrum yang kemudian akan dianalisis untuk mengetahui nada yang dimainkan oleh user. Listing program untuk menampilkan hasil teks nada keluaran : % Pencarian maksimum lokal pspek=length(spek); makslok=zeros(1,pspek); for k=2:pspek-1 if spek(k)>spek(k-1) && spek(k)>spek(k+1) makslok(1,k)=spek(k); end end % Sorting turun [smakslok,idx]=sort(makslok,'descend'); urutmakslok_1sd5=smakslok(1:5) urutfrek_1sd5=idx(1:5) % Perbandingan maksimum lokal urutan 2 dengan 1 permakslok=smakslok(2)/smakslok(1) % Penentuan hasil if permakslok<0.07 %hasil='belira' % Frekuensi belira frekb=idx(1)-1 % Penentuan keluaran text if frekb>=776 && frekb<=796 nadaout='sol rendah';
elseif frekb>=871 && frekb<=891 nadaout='la rendah';
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
elseif frekb>=979 && frekb<=999 nadaout='si rendah'; elseif frekb>=1038 && frekb<=1058 nadaout='do'; elseif frekb>=1165 && frekb<=1185 nadaout='re';
elseif frekb>=1310 && frekb<=1330 nadaout='mi'; elseif frekb>=1391 && frekb<=1411 nadaout='fa'; elseif frekb>=1561 && frekb<=1581 nadaout='sol'; elseif frekb>=1752 && frekb<=1772 nadaout='la';
elseif frekb>=1971 && frekb<=1991 nadaout='si'; elseif frekb>=2044 && frekb<=2064 nadaout='do tinggi'; elseif frekb>=2323 && frekb<=2343 nadaout='re tinggi'; elseif frekb>=2594 && frekb<=2614 nadaout='mi tinggi';
elseif frekb>=2767 && frekb<=2787 nadaout='fa tinggi'; elseif frekb>=3070 && frekb<=3090 nadaout='sol tinggi'; elseif frekb>=3535 && frekb<=3555 nadaout='la tinggi'; else nadaout='nada belira error';
end
41
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
else nadaout='error'; end hasilout=nadaout set(handles.text2,'string',hasilout)
Dari spektrum tersebut, kemudian dicari nilai-nilai maksimum lokalnya. Nilai-nilai maksimum lokal yang didapatkan kemudian diurutkan ke bawah dengan perintah ‘descend’. Dari hasil sorting turun, nilai maksimum lokal urutan kedua dibagikan dengan nilai maksimum lokal urutan pertama. Hasil pembagian tersebut digunakan untuk mengetahui nada yang terekam termasuk suara nada belira atau bukan. Untuk mengetahui hal tersebut, maka ditentukan nilai 0,07 untuk dibandingkan dengan hasil pembagian maksimum lokalnya. Jika hasil pembagian lebih besar dari 0,07 maka nada tersebut bukan nada belira tetapi jika lebih kecil dari 0,07 maka nada tersebut termasuk nada belira. Nilai 0,07 tersebut didapatkan berdasarkan lampiran [L19]. Jika nada tersebut tidak termasuk nada belira maka keluarannya “ERROR” dan program akan berhenti, tetapi jika nada tersebut termasuk nada belira maka proses akan berlanjut untuk penentuan frekuensi dan penentuan keluaran teks. Proses penentuan keluaran teksnya dengan look up table. Proses penentuan range frekuensi pada look up table dapat dilihat pada lampiran [L5] dan hasilnya dapat dilihat pada tabel (3.2). Program untuk tombol “SELESAI” atau untuk mengakhiri pengenalan nada : delete(figure(Tes));
4.2.
Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat Pengenalan Nada Alat Musik Belira Untuk pengujian program pengenalan alat musik belira, tahapan pengujian yang
dilakukan adalah pada parameter pengenalan nada yaitu nilai frame blocking dan DFT yang digunakan dalam program dan pengujian program dengan suara masukan alat musik lain. Tujuannya adalah untuk mencari nilai perameter yang menghasilkan tingkat
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
pengenalan (recognition rate) yang paling baik dan untuk mengetahui tingkat kesalahan program dalam mendeteksi masukan nada alat musik selain belira.
4.2.1 Pengujian Parameter Pengenalan Nada Pada pengujian ini, penulis mencoba program pengenalan nada alat musik belira menggunakan seluruh nilai pilihan frame blocking yaitu 1024, 512, 256, 128, dan 64. Penulis mengambil data sebanyak 10 kali masing-masing nada tiap nilai frame blocking. Tujuan dari pengujian ini adalah untuk mencari nilai perameter yang menghasilkan tingkat pengenalan (recognition rate) yang paling baik. Tabel 4.1. Pengujian nada dengan nilai DFT dan frame blocking 1024 Output Sol Rendah
La Rendah
Si Rendah
Do
Re
Mi
Fa
Sol
Error
Persentase Keberhasilan
Sol Rendah
10
0
0
0
0
0
0
0
0
100%
La Rendah
0
10
0
0
0
0
0
0
0
100%
Si Rendah
0
0
10
0
0
0
0
0
0
100%
0
0
0
10
0
0
0
0
0
100%
0
0
0
0
10
0
0
0
0
100%
0
0
0
0
0
10
0
0
0
100%
0
0
0
0
0
0
10
0
0
100%
0
0
0
0
0
0
0
10
0
100%
Input
Do Re Mi Fa Sol
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
Tabel 4.1. (Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 1024 Output Input
Re Tinggi
Mi Tinggi
Fa Tinggi
Sol Tinggi
La Tinggi
Error
Persentase Keberhasilan
La
Si
Do Tinggi
10
0
0
0
0
0
0
0
0
100%
0
10
0
0
0
0
0
0
0
100%
Do Tinggi
0
0
10
0
0
0
0
0
0
100%
Re Tinggi
0
0
0
10
0
0
0
0
0
100%
Mi Tinggi
0
0
0
0
10
0
0
0
0
100%
Fa Tinggi
0
0
0
0
0
10
0
0
0
100%
Sol Tinggi
0
0
0
0
0
0
10
0
0
100%
La Tinggi
0
0
0
0
0
0
0
10
0
100%
La Si
Rata-rata tingkat persentase keberhasilan pengenalan nada
100%
Tabel 4.2. Pengujian nada dengan nilai DFT dan frame blocking 512 Output Sol Rendah
La Rendah
Si Rendah
Do
Re
Mi
Fa
Sol
Error
Persentase Keberhasilan
Sol Rendah
10
0
0
0
0
0
0
0
0
100%
La Rendah
0
10
0
0
0
0
0
0
0
100%
Si Rendah
0
0
10
0
0
0
0
0
0
100%
0
0
0
10
0
0
0
0
0
100%
0
0
0
0
10
0
0
0
0
100%
0
0
0
0
0
10
0
0
0
100%
0
0
0
0
0
0
10
0
0
100%
0
0
0
0
0
0
0
10
0
100%
Input
Do Re Mi Fa Sol
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
45
Tabel 4.2. (Lanjutan) Pengujian dengan nilai DFT dan frame blocking 512 Output Input
Re Tinggi
Mi Tinggi
Fa Tinggi
Sol Tinggi
La Tinggi
Error
Persentase Keberhasilan
La
Si
Do Tinggi
10
0
0
0
0
0
0
0
0
100%
0
10
0
0
0
0
0
0
0
100%
Do Tinggi
0
0
10
0
0
0
0
0
0
100%
Re Tinggi
0
0
0
10
0
0
0
0
0
100%
Mi Tinggi
0
0
0
0
10
0
0
0
0
100%
Fa Tinggi
0
0
0
0
0
10
0
0
0
100%
Sol Tinggi
0
0
0
0
0
0
10
0
0
100%
La Tinggi
0
0
0
0
0
0
0
10
0
100%
La Si
Rata-rata tingkat persentase keberhasilan pengenalan nada
100%
Tabel 4.3. Pengujian nada dengan nilai DFT dan frame blocking 256 Output Sol Rendah
La Rendah
Si Rendah
Do
Re
Mi
Fa
Sol
Error
Persentase Keberhasilan
Sol Rendah
10
0
0
0
0
0
0
0
0
100%
La Rendah
0
10
0
0
0
0
0
0
0
100%
Si Rendah
0
0
10
0
0
0
0
0
0
100%
0
0
0
10
0
0
0
0
0
100%
0
0
0
0
10
0
0
0
0
100%
0
0
0
0
0
10
0
0
0
100%
0
0
0
0
0
0
10
0
0
100%
0
0
0
0
0
0
0
10
0
100%
Input
Do Re Mi Fa Sol
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
Tabel 4.3. (Lanjutan) Pengujian dengan nilai DFT dan frame blocking 256 Output Input
Re Tinggi
Mi Tinggi
Fa Tinggi
Sol Tinggi
La Tinggi
Error
Persentase Keberhasilan
La
Si
Do Tinggi
10
0
0
0
0
0
0
0
0
100%
0
10
0
0
0
0
0
0
0
100%
Do Tinggi
0
0
10
0
0
0
0
0
0
100%
Re Tinggi
0
0
0
10
0
0
0
0
0
100%
Mi Tinggi
0
0
0
0
10
0
0
0
0
100%
Fa Tinggi
0
0
0
0
0
10
0
0
0
100%
Sol Tinggi
0
0
0
0
0
0
10
0
0
100%
La Tinggi
0
0
0
0
0
0
0
10
0
100%
La Si
Rata-rata tingkat persentase keberhasilan pengenalan nada
100%
Tabel 4.4. Pengujian nada dengan nilai DFT dan frame blocking 128 Output Sol Rendah
La Rendah
Si Rendah
Do
Re
Mi
Fa
Sol
Error
Persentase Keberhasilan
Sol Rendah
10
0
0
0
0
0
0
0
0
100%
La Rendah
0
10
0
0
0
0
0
0
0
100%
Si Rendah
0
0
10
0
0
0
0
0
0
100%
0
0
0
10
0
0
0
0
0
100%
0
0
0
0
10
0
0
0
0
100%
0
0
0
0
0
10
0
0
0
100%
0
0
0
0
0
0
10
0
0
100%
0
0
0
0
0
0
0
10
0
100%
Input
Do Re Mi Fa Sol
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
Tabel 4.4. (Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 128 Output Input
Re Tinggi
Mi Tinggi
Fa Tinggi
Sol Tinggi
La Tinggi
Error
Persentase Keberhasilan
La
Si
Do Tinggi
10
0
0
0
0
0
0
0
0
100%
0
10
0
0
0
0
0
0
0
100%
Do Tinggi
0
0
10
0
0
0
0
0
0
100%
Re Tinggi
0
0
0
10
0
0
0
0
0
100%
Mi Tinggi
0
0
0
0
10
0
0
0
0
100%
Fa Tinggi
0
0
0
0
0
10
0
0
0
100%
Sol Tinggi
0
0
0
0
0
0
10
0
0
100%
La Tinggi
0
0
0
0
0
0
0
10
0
100%
La Si
Rata-rata tingkat persentase keberhasilan pengenalan nada
100%
Tabel 4.5. Pengujian nada dengan nilai DFT dan frame blocking 64 Output Sol Rendah
La Rendah
Si Rendah
Do
Re
Mi
Fa
Sol
Error
Persentase Keberhasilan
Sol Rendah
10
0
0
0
0
0
0
0
0
100%
La Rendah
0
10
0
0
0
0
0
0
0
100%
Si Rendah
0
0
10
0
0
0
0
0
0
100%
0
0
0
10
0
0
0
0
0
100%
0
0
0
0
10
0
0
0
0
100%
0
0
0
0
0
10
0
0
0
100%
0
0
0
0
0
0
10
0
0
100%
0
0
0
0
0
0
0
10
0
100%
Input
Do Re Mi Fa Sol
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
48
Tabel 4.5. (Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 64 Output Input
Re Tinggi
Mi Tinggi
Fa Tinggi
Sol Tinggi
La Tinggi
Error
Persentase Keberhasilan
La
Si
Do Tinggi
10
0
0
0
0
0
0
0
0
100%
0
10
0
0
0
0
0
0
0
100%
Do Tinggi
0
0
10
0
0
0
0
0
0
100%
Re Tinggi
0
0
0
10
0
0
0
0
0
100%
Mi Tinggi
0
0
0
0
10
0
0
0
0
100%
Fa Tinggi
0
0
0
0
0
10
0
0
0
100%
Sol Tinggi
0
0
0
0
0
0
10
0
0
100%
La Tinggi
0
0
0
0
0
0
0
10
0
100%
La Si
Rata-rata tingkat persentase keberhasilan pengenalan nada
100%
Dari tabel-tabel data hasil percobaan dapat dicari persen pengenalan melalui pehitungan dari masing-masing panjang nilai frame blocking dan dapat dibuat grafik dari pengaruh panjang DFT terhadap tigkat pengenalan. Untuk mendapatkan tingkat persen pengenalan dari percobaan tersebut digunakan rumus [2]: Tingkat pengenalan =
∑
Ket : ∑ = jumlah nada belira yang dikenali dan benar. Perhitungan tingkat pengenalan dari : a.
Panjang DFT dan frame blocking = 1024 Tingkat pengenalan =
∑
= = b. Panjang DFT dan frame blocking = 512 Tingkat pengenalan = = = 100%
∑
(4.1)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI c. Panjang DFT dan frame blocking = 256 Tingkat pengenalan =
∑
= = 100% d. Panjang DFT dan frame blocking = 128 Tingkat pengenalan =
∑
= = e. Panjang DFT dan frame blocking = 64 Tingkat pengenalan =
∑
= =
Tabel 4.6. Pengaruh panjang DFT terhadap tingkat pengenalan Panjang DFT dan frame blocking 1024
Tingkat pengenalan (%)
512
100
256
100
128
100
64
100
100
49
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
50
Pengaruh Panjang DFT Terhadap Tingkat Pengenalan Nada 120
Tingkat Pengenalan (%)
100 80 60 40 20 0 1024
512
256
128
64
Panjang DFT dan frame blocking
Gambar 4.5. Grafik Pengaruh Panjang DFT terhadap Tingkat pengenalan Nada
Dapat dilihat dari tabel dan grafik hasil percobaan, semua nada bisa dikenali dengan baik dengan menggunakan semua variasi frame blocking sehingga tingkat pengenalannya 100%.
4.2.2 Pengujian Program dengan Suara Masukan Alat Musik Pianika Pada pengujian ini, penulis mencoba program pengenalan nada alat musik belira menggunakan salah satu nilai parameter. Penulis mengambil data sebanyak 10 kali masingmasing nada. Tujuan dari pengujian ini adalah untuk mengetahui tingkat kesalahan program dalam mendeteksi masukan nada alat musik selain belira.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
51
Tabel 4.7. Pengujian nada alat musik pianika dengan DFT 512 Output Sol Rendah
La Rendah
Si Rendah
Do
Re
Mi
Fa
Sol
Error
Persentase Error
Sol Rendah
0
0
0
0
0
0
0
0
10
100%
La Rendah
0
0
0
0
0
0
0
0
10
100%
Si Rendah
0
0
0
0
0
0
0
0
10
100%
0
0
0
0
0
0
0
0
10
100%
0
0
0
0
0
0
0
0
10
100%
0
0
0
0
0
0
0
0
10
100%
0
0
0
0
0
0
0
0
10
100%
0
0
0
0
0
0
0
0
10
100%
Input
Do Re Mi Fa Sol
Tabel 4.7. (Lanjutan) Pengujian nada alat musik pianika dengan DFT 512 Output Input
Re Tinggi
Mi Tinggi
Fa Tinggi
Sol Tinggi
La Tinggi
Error
Persentase Error
La
Si
Do Tinggi
0
0
0
0
0
0
0
0
10
100%
0
0
0
0
0
0
0
0
10
100%
Do Tinggi
0
0
0
0
0
0
0
0
10
100%
Re Tinggi
0
0
0
0
0
0
0
0
10
100%
Mi Tinggi
0
0
0
0
0
0
0
0
10
100%
Fa Tinggi
0
0
0
0
0
0
0
0
10
100%
Sol Tinggi
0
0
0
0
0
0
0
0
10
100%
La Tinggi
0
0
0
0
0
0
0
0
10
100%
La Si
Rata-rata tingkat persentase keberhasilan pengenalan nada
100%
Pengujian sistem dengan alat musik pianika menggunakan nilai parameter DFT 512. Pada pengujiannya, sistem ini berjalan dengan baik karena semua nada pianika tidak dapat dikenali.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan Kesimpulan yang didapatkan dari hasil percobaan dan pengujian sistem pengenalan
nada alat musik belira adalah sebagai berikut: 1. Sistem pengenalan telah berjalan sesuai dengan perancangan, dan dapat menampilkan plot hasil rekam, plot spektrum, dan teks hasil pengenalan nada. 2. Sistem dapat mengenali semua nada dengan baik sesuai dengan nada yang dimainkan pada semua nilai pilihan DFT dan frame blocking.
5.2.
Saran Saran yang diharapkan dapat membantu pengembangan sistem pengenalan alat
musik belira adalah sebagai berikut: 1. Pengembangan sistem dengan menggunakan metode yang berbeda sehingga dapat dibandingkan tingkat pengenalan nadanya. 2. Menentukan nilai parameter yang paling baik untuk pengenalan sehingga user bisa langsung memulai pengenalan tanpa mengatur parameter yang akan digunakan. 3. Untuk pengembangannya, dapat juga dengan membuat hardware pengenalan nada alat musik belira.
52
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI 53
DAFTAR PUSTAKA [1]
Daswar, Firdha Rezky Amalia, 2012, Musik. http://firdharad.blogspot.co.id/2012/08/musik.html diakses tanggal 19 mei 2015
[2]
Novariyanto, V. Irwan, 2014, Pengenalan Nada Alat Musik Belira Secara Real Time dengan Ekstraksi Ciri DCT dan Similaritas Kosinus, Tugas Akhir, Fakultas Sains dan Teknologi Sanata Dharma, Yogyakarta.
[3]
Fingkirani, Eka, 2014, Pengertian, Sejarah, Jenis-Jenis, dan Cara Kerja Mikrofon. http://ekafingkirani.blogspot.com/2014/11/pengertian-sejarah-jenis-jenis-dancara.html diakses tanggal 19 mei 2015
[4]
Melantika,
Aprina
Sulistia,
2010,
Pengenalan
Pola
Batik
Yogyakarta
Menggunakan Metode Hidden Markov Models dengan Studi Kasus di Museum Batik Yogyakarta, Tugas Akhir, Fakultas Sains dan Teknologi Sanata Dharma, Yogyakarta. [5]
Munir, Rinaldi, 2004, Pengolahan Citra Digital dengan Pendekatan Algoritmik, Bandung, Penerbit Informatika.
[6]
Sklar, B., 1988, Digital Communications Fundamental and Application, New Jersey, PTR Prentice Hall.
[7]
Hakim, L., 2012, Analisa Suara Serak Berbasis Transformasi Wavelet dan Algoritma Jaringan Syaraf Tiruan, Tugas Akhir Jurusan Teknik Elektro, Institut Teknologi Sepuluh Nopember, Surabaya.
[8]
Riyanto,S., dkk, 2009, Algoritma Fast Fourier Transform (FFT) Decimation In Time (DIT) dengan Resolusi 1/10 Hertz, Laboratorium Riset Komputasi Jurusan Pendidikan Fisika FMIPA UNY Kampus Karangmalang Yogyakarta 55281.
[9]
Sanjaya WS, Mada, 2013, Komputasi Fisika untuk Sains dan Teknik Menggunakan Matlab. Yogyakarta, Penerbit Andi.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L1
LAMPIRAN 1 PERCOBAAN UNTUK MENENTUKAN RANGE FREKUENSI PADA LOOK UP TABLE UNTUK MASING-MASING NADA BELIRA Tujuan: 1. Mencari frekuensi tengah look up table. 2. Mengetahui frekuensi tertinggi pada nada alat musik belira. 3. Menentukan range frekuensi look up table untuk masing-masing nada belira. Variabel: 1. Frekuensi sampling yang digunakan sebesar 10000 Hz. 2. Durasi sampling perekaman yang digunakan sebesar 1,5 detik. 3. Masing-masing nada direkam sebanyak 3 kali
% Definisi variabel frame=512; b0=0.3; %batas potong b5=0.25; % Sinyal masukan [y0,fs]=wavread('sol.wav'); % Normalisasi x1=y0/max(abs(y0)); % 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:frame); % Normalisasi 2 x3=x2/max(abs(x2)); %Windowing Hamming h=hamming(frame); x4=x3.*h; % Spektrum frekuensi Y1=fft(x4,fs); Y2=Y1.*conj(Y1); %f=fs*(0:(1/2*fs))/fs; % Sumbu mendatar pada spektrum spek=Y2(1:(1/2*fs+1)); % Sumbu tegak padaspektrum spek(1:100)=0; % Frek 0-20 Hz dinolkan spek=spek/max(spek); % Normalisasi figure(1) plot(spek); xlabel('Frekuensi') ylabel('|Amplitudo|')
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Sol Rendah
L2
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI La Rendah
L3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Si Rendah
L4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Do
L5
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Re
L6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Mi
L7
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Fa
L8
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Sol
L9
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI La
L10
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Si
L11
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Do Tinggi
L12
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Re Tinggi
L13
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Mi Tinggi
L14
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Fa Tinggi
L15
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Sol Tinggi
L16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI La Tinggi
L17
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Nada Belira Sol Rendah La Rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nada
Pengambilan I
Pengambilan II
Pengambilan III
786 881 989 1048 1175 1320 1400 1571 1763 1981 2054 2333 2604 2778 3080 3545
786 881 989 1049 1175 1320 1401 1571 1762 1981 2054 2333 2604 2777 3080 3545
786 881 989 1048 1175 1320 1401 1571 1762 1981 2054 2333 2605 2777 3080 3545
Frekuensi Rata-Rata (Hz) 786 881 881 989
1 1 2 2 3 3 4 4 5 5 6
989 1048 1048 1175 1175 1320 1320 1401 1401 1571 1571 1762
Selisih (Hz) 95 108 59
6
Frekuensi Rata-Rata (Hz) 1762
7
1981
7
1981
Nada
2054
Rata-Rata 786 881 989 1048 1175 1320 1401 1571 1762 1981 2054 2333 2604 2777 3080 3545
Selisih (Hz) 219 73
2054 279 2333
127
2333 271
145
2604
81
2604
170
173 2777 2777
191
303 3080 3080 3545
465
L18
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L19
Kesimpulan Dari hasil percobaan dapat dilihat untuk masing-masing nada yang telah diambil sebanyak 3 kali, perbedaan frekuensinya tidak jauh. Perbedaannya hanya sekitar 1Hz, bahkan banyak nada yang frekuensinya tidak berubah dari 3 kali pengambilan nada. Dari percobaan tersebut dapat disimpulkan: 1. Frekuensi tengah yang digunakan untuk menentukan frekuensi look up table adalah frekuensi rata-rata dari 3 kali pengambilan nada yaitu 786Hz, 881Hz, 989Hz, 1048Hz, 1175Hz, 1320Hz, 1401Hz, 1571Hz, 1762Hz, 1981Hz, 2054Hz, 2333Hz, 2604Hz, 2777Hz, 3080Hz, dan 3545 Hz untuk masing-masing nada , , , 1, 2, 3, 4, 5, 6, 7, , , , , , . 2. Frekuensi tertinggi nada alat musik belira sebesar 3545Hz untuk nada La tinggi ( ) sehingga memenuhi persamaan (2.1) untuk penggunaan frekuensi sampling sebesar 10000Hz. 3. Semakin tinggi nada maka frekuensinya semakin besar. 4. Dapat dilihat pada tabel, selisih nada yang paling rendah adalah antara nada
dan
nada 1 yaitu 59. Sehingga range yang bisa digunakan untuk frekuensi look up table adalah :
⌊
⌋
Jadi range yang bisa digunakan adalah antara 1< range < 29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L20
LAMPIRAN 2 PERCOBAAN MENENTUKAN NILAI YANG DIGUNAKAN UNTUK MEMBANDINGKAN NILAI HASIL PEMBAGIAN MAKSIMUM LOKAL PADA PERCOBAAN REAL-TIME Tujuan: 1. Mencari nilai yang digunakan untuk dibandingkan dengan hasil pembagian maksimum lokal pada percobaan real-time untuk dapat menentukan teks keluaran akhirnya. Variabel: 1. Percobaan dilakukan secara tidak real-time function pnbelira2 % Pengenalan nada khusus belira % Selain belira akan muncul error clc clear all fb=1024; % Panjang frame blocking % Sinyal masukan dan pencarian frekuensi nada [y0,fs]=wavread('sol rendah.wav');s1=sfrek(y0,fs,fb); [y0,fs]=wavread('la rendah.wav');s2=sfrek(y0,fs,fb); [y0,fs]=wavread('si rendah.wav');s3=sfrek(y0,fs,fb); [y0,fs]=wavread('do.wav');s4=sfrek(y0,fs,fb); [y0,fs]=wavread('re.wav');s5=sfrek(y0,fs,fb); [y0,fs]=wavread('mi.wav');s6=sfrek(y0,fs,fb); [y0,fs]=wavread('fa.wav');s7=sfrek(y0,fs,fb); [y0,fs]=wavread('sol.wav');s8=sfrek(y0,fs,fb); [y0,fs]=wavread('la.wav');s9=sfrek(y0,fs,fb); [y0,fs]=wavread('si.wav');s10=sfrek(y0,fs,fb); [y0,fs]=wavread('do tinggi.wav');s11=sfrek(y0,fs,fb); [y0,fs]=wavread('re tinggi.wav');s12=sfrek(y0,fs,fb); [y0,fs]=wavread('mi tinggi.wav');s13=sfrek(y0,fs,fb); [y0,fs]=wavread('fa tinggi.wav');s14=sfrek(y0,fs,fb); [y0,fs]=wavread('sol tinggi.wav');s15=sfrek(y0,fs,fb); [y0,fs]=wavread('la tinggi.wav');s16=sfrek(y0,fs,fb); % Pengujian spektrum belira [h1,f1]=uspek(s1);[h2,f2]=uspek(s2); [h3,f3]=uspek(s3);[h4,f4]=uspek(s4); [h5,f5]=uspek(s5);[h6,f6]=uspek(s6); [h7,f7]=uspek(s7);[h8,f8]=uspek(s8); [h9,f9]=uspek(s9);[h10,f10]=uspek(s10); [h11,f11]=uspek(s11);[h12,f12]=uspek(s12); [h13,f13]=uspek(s13);[h14,f14]=uspek(s14); [h15,f15]=uspek(s15);[h16,f16]=uspek(s16); % Hasil pengujian spektrum hasil_uji_spektrum={h1;h2;h3;h4;h5;h6;h7;h8;h9;h10; h11;h12;h13;h14;h15;h16}
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
% Nada keluaran belira Nada_belira={f1;f2;f3;f4;f5;f6;f7;f8;f9;f10; f11;f12;f13;f14;f15;f16} %================================================== % Internal function %================================================== function spek=sfrek(y0,fs,fb) % Pencarian spektrum frekuensi b0=0.3;%batas potong % Normalisasi x1=y0/max(abs(y0)); % Pemotongan Awal % 1. Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; % 2. 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 Hamming h=hamming(fb); x4=x3.*h; % Spektrum frekuensi px4=length(x4); x4=[x4; zeros((fs-px4),1)]; Y1=dftx(x4); Y2=Y1.*conj(Y1); %f=fs*(0:(1/2*fs))/fs; % Sumbu mendatar pada spektrum spek=Y2(1:(1/2*fs+1)); % Sumbu tegak pada spektrum spek(1:100)=0; % Frek 0-20 Hz dinolkan %================================================== function [hasil,nadaout]=uspek(spek) % Pengujian spektrum belira % Pencarian maksimum lokal pspek=length(spek); makslok=zeros(1,pspek); for k=2:pspek-1 if spek(k)>spek(k-1) && spek(k)>spek(k+1) makslok(1,k)=spek(k); end end % Sorting turun [smakslok,idx]=sort(makslok,'descend'); urutmakslok_1sd5=smakslok(1:5); urutfrek_1sd5=idx(1:5);
L21
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
% Perbandingan maksimum lokal urutan 2 dengan 1 permakslok=smakslok(2)/smakslok(1) % Penentuan hasil if permakslok<0.07 hasil='belira'; % Frekuensi belira frekb=idx(1)-1 % Penentuan keluaran text if frekb>=776 && frekb<=796 nadaout='sol rendah'; elseif frekb>=871 && frekb<=891 nadaout='la rendah'; elseif frekb>=979 && frekb<=999 nadaout='si rendah'; elseif frekb>=1038 && frekb<=1058 nadaout='do'; elseif frekb>=1165 && frekb<=1185 nadaout='re'; elseif frekb>=1310 && frekb<=1330 nadaout='mi'; elseif frekb>=1391 && frekb<=1411 nadaout='fa'; elseif frekb>=1561 && frekb<=1581 nadaout='sol'; elseif frekb>=1752 && frekb<=1772 nadaout='la'; elseif frekb>=1971 && frekb<=1991 nadaout='si'; elseif frekb>=2044 && frekb<=2064 nadaout='do tinggi'; elseif frekb>=2323 && frekb<=2343 nadaout='re tinggi'; elseif frekb>=2594 && frekb<=2614 nadaout='mi tinggi'; elseif frekb>=2767 && frekb<=2787 nadaout='fa tinggi'; elseif frekb>=3070 && frekb<=3090 nadaout='sol tinggi'; elseif frekb>=3535 && frekb<=3555 nadaout='la tinggi'; end else hasil='error'; end %==================================================
L22
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Frame Blocking = 64 Nada Belira Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi Nada Pianika Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nilai Hasil Pembagian Maksimum Lokal Urutan 2 dan Urutan 1 pada Percobaan Tidak Real-Time 0,0615 0,0060 0,00053139 0,00052116 0,0002.3495 0,00044555 0,00015992 0,00014811 0,000085779 0,00098184 0,000087392 0,000082128 0,000087357 0.0012 0,00060243 0,00020036 Nilai Hasil Pembagian Maksimum Lokal urutan 2 dan urutan 1 0,3581 0,1150 0,2745 0,5257 0,6094 0,4784 0,9631 0,4400 0,4235 0,5705 0,9017 0,4838 0,2183 0,1538 0,5787 0,9027
L23
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Frame Blocking = 128 Nada Belira Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nada Pianika Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nilai Hasil Pembagian Maksimum Lokal Urutan 2 dan Urutan 1 pada Percobaan Tidak Real-Time 0.0563 0.0057 0,00028483 0,00038517 0,000072705 0,00039230 0,00007.8396 0,0001.6151 0,000075993 0,00006.9893 0,000073646 0,000065867 0,000064779 0,000074155 0,000070020 0,000071277
Nilai Hasil Pembagian Maksimum Lokal urutan 2 dan urutan 1 0,8794 0,7029 0,3793 0,3361 0,4448 0,4070 0,6135 0,9624 0,1541 0,9981 0,6908 0,1951 0,4521 0,2270 0,3334 0,4715
L24
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Frame Blocking = 256 Nada Belira Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nada Pianika Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nilai Hasil Pembagian Maksimum Lokal Urutan 2 dan Urutan 1 pada Percobaan Tidak Real-Time 0.0446 0.0055 0,00025594 0,00031444 0,000071236 0,00029710 0,000058969 0,00084876 0,000093434 0,000056633 0,000088148 0,000059352 0,000056032 0,000096560 0,000054620 0,000059140
Nilai Hasil Pembagian Maksimum Lokal urutan 2 dan urutan 1 0,4765 0,5370 0,6464 0,9454 0,1854 0,3375 0,5203 0,2597 0,1527 0,8136 0,7508 0,5653 0,4480 0,1266 0,8693 0,2638
L25
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Frame Blocking = 512 Nada Belira Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi Nada Pianika Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nilai Hasil Pembagian Maksimum Lokal Urutan 2 dan Urutan 1 pada Percobaan Tidak Real-Time 0.0261 0.0052 0,00035612 0,00027099 0,000057801 0,00017632 0,00010652 0,00040757 0,000062031 0,000075498 0,00012504 0,000054931 0,000060841 0,000062756 0,000057193 0,000057423 Nilai Hasil Pembagian Maksimum Lokal urutan 2 dan urutan 1 0,7079 0,2954 0,1346 0,8432 0,7822 0,8774 0,1449 0,7237 0,1859 0,9061 0,1501 0,4634 0,2749 0,7855 0,4898 0,3872
L26
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Frame Blocking = 1024 Nada Belira Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nada Pianika Sol Rendah La rendah Si Rendah Do Re Mi Fa Sol La Si Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Tinggi
Nilai Hasil Pembagian Maksimum Lokal Urutan 2 dan Urutan 1 pada Percobaan Tidak Real-Time 0.0101 0.0048 0,00047094 0,00014928 0,000055540 0,000079356 0,000071876 0,00021682 0,000052348 0,000092740 0,00014460 0,000054768 0,000056456 0,000065139 0,000058794 0,000058051 Nilai Hasil Pembagian Maksimum Lokal urutan 2 dan urutan 1 0,2397 0,8858 0,8000 0,7663 0,5426 0,2490 0,2559 0,1096 0,1292 0,3128 0,3103 0,1391 0,1126 0,3155 0,3699 0,7449
L27
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L28
Kesimpulan 1. Belira Frame Blocking 64 128 256 512 1024
Nilai Hasil Pembagian Terbesar pada Masing-Masing Frame Blocking 0,0615 0.0563 0.0446 0.0261 0.0101
Dari tabel di atas dapat dilihat nilai hasil pembagian maksimum lokal nada belira yang paling besar adalah 0,0615, jadi hasil pembagian maksimum lokal pada semua nada belira ≤ 0,0615.
2. Pianika Frame Blocking 64 128 256 512 1024
Nilai Hasil Pembagian Terkecil 0,1150 0.1541 0.1266 0.1346 0.1096
Percobaan ini mencari nilai hasil pembagian maksimum lokal nada pianika yang digunakan sebagai perbandingan untuk menentukankan nilai yang akan digunakan pada sistem real-time untuk mendapatkan teks keluarannya. Nilai hasil pembagian terkecil yang didapatkan pada nada pianika adalah 0,1096 dan nilai tersebut lebih besar dari nilai terbesar yang didapatkan pada hasil pembagian maksimum lokal nada belira. Sehingga dapat disimpulkan bahwa nada yang bukan nada belira hasil pembagian maksimum lokalnya > 0, 0615.
Jadi pada sistem real-time, nilai yang dapat digunakan untuk membandingkan hasil pembagian maksimum lokal adalah 0,07 yang paling mendekati angka 0,0615. Jika nada yang dimainkan adalah nada belira maka hasil pembagian maksimum lokalnya < 0,07 dan jika nada yang dimainkan bukan nada belira (nada pianika) maka hasil pembagian maksimum lokalnya > 0,07.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 3 PERCOBAAN MENCARI DURASI PEREKAMAN
Tujuan: 1. Untuk mendapatkan durasi perekaman yang tepat pada sistem ini. 2. Untuk mengetahui pengaruh durasi perekaman pada sinyal yang terekam. Variabel: 1. Frekuensi sampling yang digunakan 10000Hz. 2. Durasi perekaman yang digunakan sebesar 1 detik, 1,5 detik, dan 2 detik.
Listing Program : option='n'; option_rec='n'; sample_length=1; %sample_length=1.5; %sample_length=2; sample_freq=10000; sample_time=(sample_length*sample_freq); nama=input('Masukkan nama file record: ','s'); file_nama=sprintf('%s.wav',nama); option_rec = input('tekan x untuk merekam: ','s'); if option_rec=='x' while option=='n', rekam=wavrecord(sample_time, sample_freq); plot(rekam); input('tekan enter untuk mendengarkan ->'); sound(rekam, sample_freq); option = input('x simpan,n rekam ulang: ','s'); end wavwrite(rekam, sample_freq,file_nama); end
L29
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI Durasi perekaman 1 detik
Durasi perekaman 1,5 detik
L30
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L31
Durasi perekaman 2 detik
Kesimpulan 1. Pada hasil percobaan terlihat sistem membutuhkan waktu untuk mendapatkan data sinyal rekaman. 2. Pada hasil percobaan, secara visual waktu yang dibutuhkan untuk mendapatkan data sinyal rekaman adalah 1,5 detik.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 4 LISTING PROGRAM PENGAMBILAN NADA UJI
option='n'; option_rec='n'; sample_length=1.5; sample_freq=10000; sample_time=(sample_length*sample_freq); nama=input('Masukkan nama file record: ','s'); file_nama=sprintf('%s.wav',nama); option_rec = input('tekan x untuk merekam: ','s'); if option_rec=='x' while option=='n', rekam=wavrecord(sample_time, sample_freq); plot(rekam); input('tekan enter untuk mendengarkan ->'); sound(rekam, sample_freq); option = input('x simpan,n rekam ulang: ','s'); end wavwrite(rekam, sample_freq,file_nama); end
L32
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L33
LAMPIRAN 5 LISTING PROGRAM PENGENALAN NADA BELIRA function varargout = Tes(varargin) % TES M-file for Tes.fig % TES, by itself, creates a new TES or raises the existing % singleton*. % % H = TES returns the handle to a new TES or the handle to % the existing singleton*. % % TES('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in TES.M with the given input arguments. % % TES('Property','Value',...) creates a new TES or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Tes_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to Tes_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 Tes % Last Modified by GUIDE v2.5 06-Oct-2015 08:18:23 % Begin initialization code - DO NOT gui_Singleton = 1; gui_State = struct('gui_Name', 'gui_Singleton', 'gui_OpeningFcn', 'gui_OutputFcn', 'gui_LayoutFcn', 'gui_Callback',
EDIT mfilename, ... gui_Singleton, ... @Tes_OpeningFcn, ... @Tes_OutputFcn, ... [] , ... []);
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L34
if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before Tes is made visible. function Tes_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 Tes (see VARARGIN) % Choose default command line output for Tes handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes Tes wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = Tes_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;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L35
% --- 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=1.5; sample_freq=10000; sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq, 's.wav'); axes(handles.axes1) plot(x); xlabel('Data Tercuplik') ylabel('Amplitudo') b0=0.3; fb=handles.frame; % Normalisasi awal x1=x/max(abs(x)); % Pemotongan Awal % 1. Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; % 2. Potong kiri 2 bts=floor(0.25*length(x1)); x1(1:bts)=[]; %frame blocking x2=x1(1:fb); % Normalisasi akhir x3=x2/max(abs(x2)); %Windowing h=hamming(fb); x4=x3.*h; % Spektrum frekuensi px4=length(x4); x4=[x4; zeros((fs-px4),1)]; Y1=dftx(x4); Y2=Y1.*conj(Y1); %f=fs*(0:(1/2*fs))/fs; % Sumbu mendatar pada spektrum spek=Y2(1:(1/2*sample_freq+1)); % Sumbu tegak pada spektrum
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI spek(1:100)=0; axes(handles.axes2) bar(spek); xlabel('Frekuensi') ylabel('|Amplitudo|')
% Frek 0-20 Hz dinolkan
% Pencarian maksimum lokal pspek=length(spek); makslok=zeros(1,pspek); for k=2:pspek-1 if spek(k)>spek(k-1) && spek(k)>spek(k+1) makslok(1,k)=spek(k); end end % Sorting turun [smakslok,idx]=sort(makslok,'descend'); urutmakslok_1sd5=smakslok(1:5) urutfrek_1sd5=idx(1:5) %Perhitungan Harmonis % Perbandingan maksimum lokal urutan 2 dengan 1 permakslok=smakslok(2)/smakslok(1) % Penentuan hasil if permakslok<0.07 %hasil='belira' % Penentuan Frekuensi belira frekb=idx(1)-1 % Penentuan keluaran text if frekb>=776 && frekb<=796 nadaout='sol rendah'; elseif frekb>=871 && frekb<=891 nadaout='la rendah'; elseif frekb>=979 && frekb<=999 nadaout='si rendah'; elseif frekb>=1038 && frekb<=1058 nadaout='do'; elseif frekb>=1165 && frekb<=1185 nadaout='re'; elseif frekb>=1310 && frekb<=1330 nadaout='mi'; elseif frekb>=1391 && frekb<=1411 nadaout='fa'; elseif frekb>=1561 && frekb<=1581 nadaout='sol'; elseif frekb>=1752 && frekb<=1772 nadaout='la'; elseif frekb>=1971 && frekb<=1991 nadaout='si';
L36
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L37
elseif frekb>=2044 && frekb<=2064 nadaout='do tinggi'; elseif frekb>=2323 && frekb<=2343 nadaout='re tinggi'; elseif frekb>=2594 && frekb<=2614 nadaout='mi tinggi'; elseif frekb>=2767 && frekb<=2787 nadaout='fa tinggi'; elseif frekb>=3070 && frekb<=3090 nadaout='sol tinggi'; elseif frekb>=3535 && frekb<=3555 nadaout='la tinggi'; else nadaout='nada belira error'; end else nadaout='bukan nada belira'; end hasilout=nadaout set(handles.text2,'string',hasilout) % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) delete(figure(Tes)); % --- 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) indeks=get(handles.popupmenu1,'Value'); switch indeks case 1 frameb=1024; case 2 frameb=512; case 3 frameb=256; case 4 frameb=128; case 5 frameb=64;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
L38
case 6 frameb=32; case 7 frameb=16; case 8 frameb=8; end handles.frame=frameb; guidata(hObject,handles); % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1 % --- 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
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
LAMPIRAN 6 LISTING PROGRAM MENGHITUNG DFT function y=dftx(x) % Perhitungan DFT % Hitung panjang x N=length(x); % Hitung DFT y=zeros(1,N); for k=1:N for n=1:N w=exp(-j*2*pi*(k-1)*(n-1)/N); a=x(n)*w; y(k)=y(k)+a; end end
L39