Pengenalan nada belira menggunakan analisis amplitudo pada ranah frekuensi.

(1)

viii

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


(2)

ix

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.


(3)

i

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


(4)

ii

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


(5)

(6)

(7)

v

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


(8)

vi

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.


(9)

vii

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


(10)

viii

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


(11)

ix

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.


(12)

x

KATA PENGANTAR

Puji dan Syukur kepada Tuhan Yesus Kristus karena atas berkat dan penyertaan-Nya 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.


(13)

xi

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


(14)

xii

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


(15)

xiii

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


(16)

xiv

b. PushButton, Axes, dan Static Text ... 37

4.2. 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


(17)

xv

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


(18)

xvi

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


(19)

xvii

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


(20)

1

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


(21)

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


(22)

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.


(23)

4

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

berbeda-beda. Belira memiliki 16 nada yaitu , , , 1, 2, 3, 4, 5, 6, 7, , , , , , . Gambar berikut merupakan gambar alat musik belira:


(24)

2.2.

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.


(25)

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 Ciri

Huruf

Suara

Tanda Tangan

Sidik Jari

Tinggi, Tebal, Titik Sudut, Lengkungan Garis, dll

Amplitudo, Frekuensi, Nada, Intonasi, Warna, dll

Panjang, Kerumitan, Tekanan, dll

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.


(26)

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.


(27)

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.


(28)

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:


(29)

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


(30)

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


(31)

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.


(32)

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


(33)

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.


(34)

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.


(35)

16

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.


(36)

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.


(37)

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.


(38)

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


(39)

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

Gambar 3.5 Tampilan Proses pada GUI MATLAB Rekam

Selesai

Bar Hasil Rekam

Bar Spektrum Frekuensi

Tampilan Teks Nada


(40)

Tabel 3.1 Keterangan Tampilan Utama Sistem

3.5.

Perancangan Alur Program

Gambar 3.6 Diagram Alir Sistem Pengenalan Nada Belira 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


(41)

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.


(42)

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


(43)

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.


(44)

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.


(45)

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.


(46)

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.


(47)

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


(48)

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.


(49)

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].


(50)

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 :


(51)

3.5.12 Penentuan Teks Nada


(52)

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. Nada Belira Frekuensi

1. (Sol Rendah) 776 ≤ frekuensi ≤ 796

2. (La Rendah) 871≤ frekuensi ≤ 891 3. (Sol Rendah) 979 ≤ frekuensi ≤ 999 4. 1 (Do) 1038 ≤ frekuensi ≤ 1058 5. 2 (Re) 1165 ≤ frekuensi ≤ 1185 6. 3 (Mi) 1310 ≤ frekuensi ≤ 1330 7. 4 (Fa) 1391 ≤ frekuensi ≤ 1411 8. 5 (Sol) 1561 ≤ frekuensi ≤ 1581 9. 6 (La) 1752 ≤ frekuensi ≤ 1772 10. 7 (Si) 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.


(53)

34

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.


(54)

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”.


(55)

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


(56)

a. PopUp 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 :

Nilai-nilai variasi frame blocking diinisialisasikan dengan nama frame kemudian diproses dengan perintah handles.

b. PushButton, 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:

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;


(57)

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 :

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 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));


(58)

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

%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);


(59)

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';


(60)

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


(61)

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 :

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

delete(figure(Tes)); else

nadaout='error'; end

hasilout=nadaout


(62)

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

Input Output Persentase

Keberhasilan Sol Rendah La Rendah Si

Rendah Do Re Mi Fa Sol Error 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%

Do

0 0 0 10 0 0 0 0 0 100% Re

0 0 0 0 10 0 0 0 0 100% Mi

0 0 0 0 0 10 0 0 0 100% Fa

0 0 0 0 0 0 10 0 0 100% Sol


(63)

Tabel 4.1. (Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 1024

Tabel 4.2. Pengujian nada dengan nilai DFT dan frame blocking 512

Input Output Persentase

Keberhasilan Sol Rendah La Rendah Si

Rendah Do Re Mi Fa Sol Error 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%

Do

0 0 0 10 0 0 0 0 0 100% Re

0 0 0 0 10 0 0 0 0 100% Mi

0 0 0 0 0 10 0 0 0 100% Fa

0 0 0 0 0 0 10 0 0 100% Sol

0 0 0 0 0 0 0 10 0 100%

Input Output Persentase

Keberhasilan La Si Tinggi Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Error

La

10 0 0 0 0 0 0 0 0 100% Si

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%


(64)

Tabel 4.2. (Lanjutan) Pengujian dengan nilai DFT dan frame blocking 512

Tabel 4.3. Pengujian nada dengan nilai DFT dan frame blocking 256

Input

Output Persentase

Keberhasilan Sol Rendah La Rendah Si

Rendah Do Re Mi Fa Sol Error 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%

Do

0 0 0 10 0 0 0 0 0 100% Re

0 0 0 0 10 0 0 0 0 100% Mi

0 0 0 0 0 10 0 0 0 100% Fa

0 0 0 0 0 0 10 0 0 100% Sol

0 0 0 0 0 0 0 10 0 100%

Input Output Persentase

Keberhasilan La Si Tinggi Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Error

La

10 0 0 0 0 0 0 0 0 100% Si

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%


(65)

Tabel 4.3. (Lanjutan) Pengujian dengan nilai DFT dan frame blocking 256

Tabel 4.4. Pengujian nada dengan nilai DFT dan frame blocking 128

Input Output Persentase

Keberhasilan Sol Rendah La Rendah Si

Rendah Do Re Mi Fa Sol Error 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%

Do

0 0 0 10 0 0 0 0 0 100% Re

0 0 0 0 10 0 0 0 0 100% Mi

0 0 0 0 0 10 0 0 0 100% Fa

0 0 0 0 0 0 10 0 0 100% Sol

0 0 0 0 0 0 0 10 0 100%

Input Output Persentase

Keberhasilan La Si Tinggi Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Error

La

10 0 0 0 0 0 0 0 0 100% Si

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%


(66)

Tabel 4.4. (Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 128

Tabel 4.5. Pengujian nada dengan nilai DFT dan frame blocking 64

Input Output Persentase

Keberhasilan Sol Rendah La Rendah Si

Rendah Do Re Mi Fa Sol Error 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%

Do

0 0 0 10 0 0 0 0 0 100% Re

0 0 0 0 10 0 0 0 0 100% Mi

0 0 0 0 0 10 0 0 0 100% Fa

0 0 0 0 0 0 10 0 0 100% Sol

0 0 0 0 0 0 0 10 0 100%

Input Output Persentase

Keberhasilan La Si Tinggi Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Error

La

10 0 0 0 0 0 0 0 0 100% Si

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%


(67)

Tabel 4.5. (Lanjutan) Pengujian nada dengan nilai DFT dan frame blocking 64

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 = ∑

(4.1)

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%

Input Output Persentase

Keberhasilan La Si Tinggi Do Tinggi Re Tinggi Mi Tinggi Fa Tinggi Sol Tinggi La Error

La

10 0 0 0 0 0 0 0 0 100% Si

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%


(1)

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;


(2)

% --- 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


(3)

spek(1:100)=0; % Frek 0-20 Hz dinolkan

axes(handles.axes2) bar(spek);

xlabel('Frekuensi') ylabel('|Amplitudo|')

% 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';


(4)

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


(5)

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


(6)

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