• Tidak ada hasil yang ditemukan

TUGAS AKHIR - Pengenalan nada suling recorder menggunakan fungsi jarak Chebyshev - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "TUGAS AKHIR - Pengenalan nada suling recorder menggunakan fungsi jarak Chebyshev - USD Repository"

Copied!
143
0
0

Teks penuh

(1)

i

TUGAS AKHIR

PENGENALAN NADA SULING RECORDER

MENGGUNAKAN FUNGSI JARAK CHEBYSHEV

DiajukanUntukMemenuhi Salah SatuSyarat MemperolehGelarSarjanaTeknik

Program StudiTeknikElektro

Oleh:

MARIANUS HENDRA WIJAYA NIM: 075114008

PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(2)

ii

FINAL PROJECT

TONE RECOGNITION OF FLUTE RECORDER

USING CHEBYSHEV’S DISTANCE FUNCTION

Presented as Partial Fullfillment of Requirements To Obtain the SarjanaTeknik Degree In Electrical Engineering Study Program

MARIANUS HENDRA WIJAYA NIM: 075114008

ELECTRICAL ENGINEERING STUDY PROGRAM SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY YOGYAKARTA

(3)

iii

HALAMAN PERSETUJUAN

TUGAS AKHIR

PENGENALAN NADA SULING

RECORDER

MENGGUNAKAN FUNGSI JARAK CHEBYSHEV

(TONE RECOGNITION OF FLUTE RECORDER

USING CHEBYSHEV’S DISTANCE FUNCTION)

Oleh:

NIM: 075114008

MARIANUS HENDRA WIJAYA

telah disetujui oleh:

(4)

iv

HALAMAN PENGESAHAN

TUGAS AKHIR

PENGENALAN NADA SULING

RECORDER

MENGGUNAKAN FUNGSI JARAK CHEBYSHEV

(5)

v

PERNYATAAN KEASLIAN KARYA

(6)

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO:

Tak Ada yang Mustahil Selama Kita Mencoba

Dengan ini kupersembahkan karyaku ini untuk...

Yesus Kristus Pembimbingku yang setia,

Keluargaku tercinta,

Teman-teman seperjuanganku,

Dan semua orang yang mengasihiku

(7)

vii

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Marianus Hendra Wijaya

Nomor Mahasiswa : 075114008

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul :

PENGENALAN NADA ALAT MUSIK SULING RECORDER MENGGUNAKAN FUNGSI JARAK CHEBYSHEV

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpannya, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.

(8)

viii

INTISARI

Sebagian orang hanya mendengarkan suatu nada alat musik tanpa mengetahui nada apa yang sedang dimainkan, karena kurangnya ketajaman indera pendengaran dan pengetahuan tentang musik. Suling adalah salah satu alat musik yang banyak digunakan untuk pemula atau orang yang akan belajar tentang musik, karena penggunaannya yang mudah dan haga yang relatif terjangkau. Sistem pengenalan sangat diperlukan untuk membantu dalam mengenali nada alat musik, khususnya nada dasar(C’, D’, E’, F’, G’, A’, B’, dan C”) pada alat musik suling recorder.

Sistem pengenalan nada alat musik suling recorder pada tugas akhir ini menggunakan mikrofon dan komputer untuk mengoperasikannya. Mikrofon berfungsi untuk merekam gelombang suara nada alat musik suling recorder. komputer berfungsi untuk memproses data hasil rekaman, menampilkan gelombang hasil rekaman, menampilkan spektrum frekuensi hasil subproses perhitungan FFT, mengenali nada terekam, dan menampilkan hasil nada yang dikenali.

Sistem pengenalan nada alat musik suling recorder menggunakan fungsi jarak Chebyshev sudah berhasil dibuat dan dapat bekerja dengan baik. Penampil hasil rekaman, spektrum frekuensi hasil FFT, jarak setiap nada, dan STATUS mampu menampilkan data-data sesuai dengan perancangan. Program pengenalan nada alat musik suling recorder hanya mengenali nada-nada dasar, sehingga masih dapat dikembangkan untuk pengenalan nada yang lebih kompleks.

(9)

ix

ABSTRACT

Some people just listen to a musical tone without knowing what tone is being played, because they lack of accuracy from hearing senses and knowledge of music. Flute is one of the many instruments used for beginners or people who will learn about the music, because of its use easy and relatively affordable prices. Recognition system is needed to assist in recognizing musical tones, especially basic tones(C’, D’, E’, F’, G’, A’, B’, and C”) of the musical instrument the flute recorder.

Tone recognition system of flute recorder at the end of this task using a microphone and a computer to operate. Functioning microphone to record sound waves recorder flute tones of musical instruments. computer functions to process data recording, featuring a wave of record results, showing the frequency spectrum of the FFT calculation subprocesses, recognize the tone, and displays the results of a recognizable tone.

Musical tone recognition system of flute recorder using Chebyshev’s distance function has been created and can work well. Viewer recorded, the frequency spectrum of the FFT, the distance to each one, and STATUS able to display data in accordance with the design. Musical tone recognition programs of flute recorder only recognize the basic tones, so it still can be developed for the introduction of other tones.

(10)

x

KATA PENGANTAR

Puji dan Syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah memberikan rahmad-Nya sehingga penulis dapat menyelesaikan laporan akhir ini dengan baik. Laporan akhir ini disusun untuk memenuhi syarat memperoleh gelar sarjana.

Penulis mengucapkan terima kasih kepada :

1. Rm. Wiryono Priyotamtama SJ, Rektor Universitas Sanata Dharma.

2. Paulina Heruningsih Prima Rosa, M.Sc., Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

3. B. Wuri Handayani, S.T., M.T., Ketua Program Studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.

4. Wiwien Widyastuti, S.T., M.T., dosen pembimbing akademik yang telah

mendampingi dan membimbing penulis selama studi.

5. Dr. Linggo Sumarno, dosen pembimbing yang dengan penuh pengertian dan ketulusan hati memberi bimbingan, kritik, saran, serta motivasi dalam penulisan skripsi ini.

6. Ir. Theresia Prima Ari Setiyani, M.T. dan Wiwien Widyastuti, S.T., M.T., dosen penguji yang telah memberikan masukan, bimbingan, saran dalam merevisi skripsi ini.

7. Bapak/ Ibu dosen yang telah mengajarkan banyak hal selama penulis menempuh pendidikan di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata Dharma.

8. Staff sekretariat Teknik Elektro, atas bantuan dalam melayani mahasiswa.

9. Kedua orang tuaku atas dukungan, doa, cinta, perhatian, kasih sayang yang tiada henti.

10.Propinsialat SCJ, yang telah memberikan bantuan, perhatian, dan doa sehingga studi berjalan dengan lancar.

11.Rm. Ignatius Nugroho SJ, Rm. Alexander Sapta Dwihandaka SJ, Rm. Darno OSC, yang telah memberikan motivasi.

(11)

xi

13.Rekan-rekan seperjuanganku angkatan 2007 Teknik Elektro, teman-teman Basecamp, keluarga besar Perkap Insadha, dan teman-teman Reptil Forum Kaskus yang memberikan dukungan dalam penyelesaian skripsi ini.

14.Semua pihak yang tidak dapat disebutkan satu persatu atas semua dukungan yang telah diberikan dalam penyelesaian skripsi ini.

(12)

xii

DAFTAR ISI

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

DAFTAR LAMPIRAN

... xviii

BAB I PENDAHULUAN

1.1. Latar Belakang ... 1

1.2. Tujuan dan Manfaat ... 2

1.3. Batasan Masalah ... 2

1.4. Metodologi Penelitian... 2

1.4.1. Variabel Penelitian ... 2

1.4.2. Prosedur Penelitian ... 3

BAB II DASAR TEORI

2.1. Alat Musik Suling (Recorder) ... 5

2.2. Sampling ... 6

2.3. Frame Blocking ... 7

2.4. Windowing ... 7

(13)

xiii

2.5. Discrete Fourier Transform(DFT) ... 9

2.6. Fast Fourier Transform(FFT) ... 9

2.7. Fungsi Jarak Chebyshev(Chebyshev Distance Function) ... 10

2.8. Kartu Suara(Sound Card) ... 11

2.9. Mikrofon(Microphone) ... 12

2.10. Visual C++ ... 12

2.11. MFC ... 14

2.12. Wave I/O pada Windows ... 16

BAB III PERANCANGAN

3.1. Sistem Pengenalan Nada Alat Musik Suling Recorder ... 18

3.2. Perancangan Nada Referensi ... 22

3.3. Nada Uji ... 23

3.4. Perancangan Tampilan Program Visual C++ ... 23

3.5. Perancangan Alur Program ... 26

3.6. Perancangan Subsistem Program ... 32

3.6.1. Subsistem Sampling ... 32

3.6.2. Subsistem Pengenalan Nada ... 32

BAB IV HASIL DAN PEMBAHASAN

4.1. Pengujian Program Pengenalan Nada Alat Musik Suling Menggunakan Fungsi Jarak Chebyshev ... 34

4.1.1. Tombol Pengenalan ... 36

4.1.2. Tombol RESET ... 47

4.1.3. Tampilan Grafik Hasil Sampling Nada Suara Uji dan FFT Nada Suara Uji ... 48

4.1.4. Menu Help ... 49

4.1.5. Menu About ... 50

4.1.6. Menu Profil ... 50

4.2. Hasil Pengujian Program Pengenalan Terhadap Tingkat Pengenalan Nada Alat Musik Suling Recorder ... 51

4.2.1. Pengujian Parameter Pengaturan Pengenalan Nada ... 51

4.2.2. Pengujian Sistem Terhadap Nada Selain Nada Dasar Alat Musik Suling Recorder ... 56

(14)

xiv

BAB IV KESIMPULAN DAN SARAN

5.1. Kesimpulan ... 59

5.2. Saran ... 60

DAFTAR PUSTAKA

... 61

(15)

xv

DAFTAR GAMBAR

1.1. Blok Model Perancangan ... 4

2.1. Suling Recorder Jenis Soprano ... 5

2.2. Frame Blocking ... 7

2.3. Kaiser Window dengan Nilai πα atau β yang berbeda-beda ... 8

2.4. Plotting Hasil FFT ... 10

2.5. Plotting Hasil FFT Radix 2 ... 10

2.6. Contoh Kartu Suara ... 11

2.7. Diagram Kerja Managed Code dan Native Code C++ ... 13

2.8. Struktur dan Pengeksekusian Program C++ ... 13

2.9. Class Hirarki pada MFC ... 14

2.10. Message Box ... 16

3.1. Blok Diagram Keseluruhan Sistem ... 18

3.2. Suling Recorder... 19

3.3. Mini Multimedia Microphone Genius MIC-01A ... 19

3.4. Blok Diagram Proses Pengenalan Nada ... 21

3.5. Blok Diagram Proses Pengenalan Nada Referensi ... 22

3.6. Tampilan Utama Program ... 23

3.7. Tampilan Jendela Help ... 25

3.8. Tampilan Jendela Profil ... 25

3.9. Tampilan Kotak Dialog About ... 26

3.10. Alur Program Keseluruhan ... 28

3.11. Alur Program Proses Rekam ... 28

3.12. Alur Program Frame Blocking ... 29

3.13. Alur Program Windowing ... 29

3.14. Alur Program Normalisasi 1 ... 30

3.15. Alur Program FFT ... 30

3.16. Alur Program Normalisasi 2 ... 30

3.17. Alur Program Fungsi Jarak ... 31

3.18. Alur Program Penentuan Hasil Pengenalan ... 31

(16)

xvi

4.2. Tampilan Splash Screen ... 35

4.3. Tampilan PENGATURAN PENGENALAN NADA ... 35

4.4. Tampilan Utama Program Pengenalan Nada Alat Musik Suling Recorder ... 36

4.5. Pesan Bila Pengaturan Alpha Tidak Terisi ... 37

4.6. Pesan Bila Pengaturan FFT Tidak Terisi ... 37

4.7. Tampilan STATUS Menunggu Perekaman ... 38

4.8. Tampilan STATUS Mulai Perekaman ... 38

4.9. Tampilan STATUS Perekaman Selesai ... 40

4.10. Tampilan Setelah Penekanan Tombol PENGENALAN ... 47

4.11. Tampilan Awal Grafik ... 48

4.12. Tampilan Menu Help ... 49

4.13. Tampilan Menu About ... 49

4.14. Tampilan Menu Profil ... 50

4.15. Pengaruh Nilai Alpha Terhadap Tingkat Pengenalan (Recognition Rate) ... 52

4.16. Grafik Hasil FFT 32 Point Nada Uji Re(D’) dengan Nilai Alpha (a) 0, (b) 40, (c) 100, (d) 1000 ... 53

(17)

xvii

DAFTAR TABEL

2.1. Cara Memainkan Recorder Soprano ... 6

2.2. Hongarian Notation ... 15

2.3. Fungsi Penanganan Recording ... 17

3.1. Spesifikasi Mini Multimedia Microphone Genius MIC-01 A ... 20

3.2. Keterangan Tampilan Utama Program ... 24

3.3. Nada Referensi C... 33

4.1. Tampilan STATUS Nada Yang Dikenali ... 46

(18)

xviii

DAFTAR LAMPIRAN

L.1. Percobaan Mencari Spektrum Frekuensi dari Nada Alat Musik Suling Recorder dengan MATLAB V.7 ... L 1 L.2. Percobaan Mencari Durasi Nada Alat Musik Suling Recorder dengan

MALTAB V.7 ... L 8 L.3. Percobaan Pengaruh Frame Blocking pada Sistem Pengenalan Nada Alat Musik

(19)
(20)

1

BAB I

PENDAHULUAN

1.1

Latar Belakang

Di masa yang serba modern dan praktis saat ini, kebutuhan akan software pengenalan cenderung meningkat. Salah satunya sebagai sarana pengidentifikasian suatu nada lagu. Sebagian orang hanya mendengarkan suatu nada tanpa mengetahui nada apa yang sedang dimainkan karena kurangnya ketajaman indera pendengaran dan pengetahuan tentang alat musik. Suling adalah salah satu alat musik yang banyak digunakan untuk pemula atau orang yang akan belajar musik karena penggunaannya yang mudah dan harga yang relatif terjangkau.

Berdasarkan hal di atas, penulis ingin membuat suatu sistem yang dapat mengenali nada alat musik, khususnya suling. Penulis menemukan penelitian-penelitian sebelumnya yang berkaitan dengan pengenalan nada alat musik suling, diantaranya “Musical Instruments Sound Recognition”[1]. Sistem ini meniru kemampuan manusia

(21)

1.2

Tujuan dan Manfaat

Tujuan dari penulisan tugas akhir ini adalah menghasilkan sistem pengenalan nada suara pada alat musik suling atau recorder.

Manfaat dari penelitian ini adalah :

a. Sebagai alat bantu bagi masyarakat untuk mengenali nada suara C’, D’, E’, F’, G’, A’, B’, dan C” pada alat musik suling recorder.

b. Sebagai alat bantu bagi industri alat musik dalam melakukan standarisasi alat musik suling.

1.3

Batasan Masalah

Sistem otomatisasi pengenalan nada suara pada alat musik suling terdiri dari hardware dan software (komputer). Hardware berfungsi untuk memasukkan nada suara yang dimainkan pada alat musik suling, sedangkan software pada komputer berfungsi untuk mengatur semua proses pengenalan nada suara yang dimainkan pada alat musik suling.

Pada perancangan sistem ini, penulis fokus pada pembuatan software komputer untuk memproses pengenalan nada suara, sedangkan untuk hardware berupa microphone yang sudah tersedia di pasaran. Penulis menetapkan beberapa batasan masalah yang dianggap perlu pada perancangan ini, yaitu sebagai berikut:

a. Nada suling yang dikenali nada C’, D’, E’, F’, G’, A’, B’, dan C”.

b. Menggunakan Microsoft Visual C++ 2008 dalam pembuatan program pada komputer.

c. Pengambilan suara melalui line in microphone pada komputer. d. Sistem bersifat realtime.

e. Nada diluar C’, D’, E’, F’, G’, A’, B’, dan C” tidak dikenali.

1.4

Metodologi Penelitian

1.4.1 Variabel Penelitian

a. Variabel Terikat

Variabel terikat pada penelitian ini ialah frekuensi sampling, durasi perekaman, frame blocking dan nada referensi yang digunakan. Nada yang digunakan ialah

(22)

b. Variabel Bebas

Variabel bebas pada penelitian ini ialah nada suling yang dimainkan, point of FFT, alpha pada windowing, dan jarak yang dihasilkan pada proses perbandingan suara terekam dengan kedelapan suara nada referensi.

1.4.2 Prosedur Penelitian

Langkah-langkah dalam pengerjaan tugas akhir:

a. Pengumpulan bahan–bahan referensi berupa buku–buku dan jurnal–jurnal.

b. Perancangan subsistem software. Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan dari berbagai faktor–faktor permasalahan dan kebutuhan yang telah ditentukan. gambar 1.1 memperlihatkan blok model yang akan dirancang.

c. Pembuatan subsistem software. Berdasarkan Gambar 1.1, sistem akan bekerja apabila user memberikan interupsi melalui PC dengan media push button yang sudah disediakan dalam software. Sistem akan mengolah interupsi yang diterima dan memulai proses recording sampai user memberikan interupsi kembali untuk menghentikan proses recording. Setelah itu, user memberikan interupsi untuk memulai proses pengenalan nada. Komputer akan mengolah nada dan menyajikannya sebagai sebuah informasi.

d. Analisa dan penyimpulan hasil percobaan. Analisa data dilakukan dengan mengecek keakuratan data terhadap hasil proses pengenalan nada, dengan cara membandingkan antara data di komputer dengan lapangan dan perancangan. Penyimpulan hasil percobaan dapat dilakukan dengan menghitung jarak yang terjadi.

(23)

Gambar 1.1. Blok Model Perancangan

Microphone SoundCard

Komputer

Pengenalan Nada Suling

(24)
(25)

5

BAB II

DASAR TEORI

2.1

Alat Musik Suling (

Recorder

)

Recorder termasuk alat musik tiup yang nadanya dihasilkan dengan membuka

tutup lubang-lubangnya. Ada 8 lubang yang bisa dibuka tutup seperti pada Gambar 2.1, 7 lubang diatas dan 1 lubang dibawah.

(a)

(b)

Gambar 2.1 Suling Recorder jenis Soprano tampak atas (a) tampak bawah (b) Posisi jari sebagai berikut:

a. lubang di bawah untuk jari jempol tangan kiri.

b. lubang pertama dekat mulut (bulat) untuk jari telunjuk tangan kiri. c. lubang kedua untuk jari tengah tangan kiri.

d. lubang ketiga untuk jari manis tangan kiri.

e. lubang keempat untuk jari telunjuk tangan kanan. f. lubang kelima untuk jari tengah tangan kanan. g. lubang keenam untuk jari manis tangan kanan. h. lubang ketujuh untuk jari kelingking tangan kanan.

Recorder umumnya dipakai adalah recorder soprano. Selain soprano ada juga

recorder sopranino, alto, tenor, dan bas. Masing-masing recorder memiliki ambitus

(rentang nada) yang berbeda-beda. Recorder soprano berbasis nada C, dengan nada terendah C’. Sedangkan sopranino dan alto berbasis nada F. hanya saja antara sopranino dan alto tone-nya berbeda 1 oktaf.

Masing-masing recorder memiliki rentang nada rata-rata 2 oktaf. Recorder soprano memiliki nada terendah C’ jadi recorder ini tidak bisa memainkan melodi lagu

(26)

Tabel 2.1. Cara Memainkan Recorder Soprano

Lubang Atas (dari mulut) Bawah

1 2 3 4 5 6 7

Nada C’ Nada D’ Nada E’ Nada F’ Nada G’ Nada A’ Nada B’ Nada C”

Keterangan ditutup dibuka

Tabel 2.1 menjelaskan cara memainkan alat musik suling recorder soprano dari nada C’, D’, E’, F’, G’, A’, B’, C”. Cara meniup recorder juga mempengaruhi terjadinya harmonisa frekuensi karena jika terlalu kencang suara akan terdengar tidak baik.

2.2

Sampling

Sampling merupakan proses pencuplikan gelombang suara yang akan

menghasilkan gelombang diskret termodulasi pulsa. Dalam proses sampling ada yang disebut dengan laju pencuplikan (sampling rate). Sampling rate menandakan berapa banyak pencuplikan gelombang analog dalam 1 detik. Satuan dari sampling rate ialah Hertz (Hz). Pada proses sampling, sebaiknya sampling rate memenuhi kriteria Nyquist. Kriteria Nyquist menyebutkan bahwa sampling rate harus lebih besar dari 2 kali frekuensi tertinggi sinyal suara analog [2]. Secara matematis dapat dituliskan:

𝑟𝑟𝐴𝐴 ≥2𝑟𝑟𝑆𝑆 (2.1)

dengan: 𝑟𝑟𝐴𝐴 = frekuensi sampling (sampling rate)

(27)

2.3

Frame Blocking

Frame blocking merupakan pembagian sinyal suara menjadi beberapa frame dan

satu frame terdiri dari beberapa data sampel[3]. Pengambilan sampel tersebut tergantung dari tiap detik suara akan disampel dan berapa besar frekuensi samplingnya.

Gambar 2.2. Frame Blocking

Gambar 2.2 menjelaskan contoh dari frame blocking dimana keseluruhan dibagi menjadi 5 M (frame). Setiap M tersebut memiliki jumlah data yang sama yaitu 2N

Frame blocking berfungsi untuk memilih data yang akan diproses dalam sistem

pengenalan. Frame blocking juga dapat mempercepat proses perhitungan pada FFT (Fast Fourier Transform) radix 2 dengan jumlah data pada setiap frame memiliki 2

data pada Gambar 2.2. Pada implementasinya jumlah frame blocking tidak ada ketentuannya, tergantung dari kebutuhan suatu sistem.

N

data sampel yang diambil dari keseluruhan data sampel.

2.4

Windowing

Sinyal suara yang dipotong-potong menjadi beberapa frame akan dapat menyebabkan kesalahan data pada proses fourier transform. Windowing diperlukan untuk mengurangi efek diskontinuitas dari potongan-potongan sinyal[4].

2.4.1

Kaiser

Window

Kaiser window adalah salah satu jenis window. Dalam Kaiser window, parameter

β menentukan ketinggian dari sidelobe seperti yang terlihat pada Gambar 2.3. Untuk

pemberian nilai β, ketinggian sidelobe tergantung dengan panjang window[5].

(28)

Gambar 2.3. Kaiser window dengan nilai 𝜋𝜋𝜋𝜋atau β yang berbeda-beda

Kaiser window dirumuskan dengan[6]:

𝑤𝑤[𝐵𝐵]≜ �𝐼𝐼0�𝛽𝛽 �1− �𝐵𝐵 − 𝜋𝜋𝜋𝜋 � 2

1 2

�, 0≤ 𝐵𝐵 ≤ 𝑀𝑀 0, 𝐴𝐴𝑆𝑆𝐴𝐴𝐴𝐴

(2.2)

Dimana 𝐼𝐼0 adalah orde 0 dari fungsi Bessel:

𝐼𝐼0(𝑥𝑥)≜ � �

�𝑥𝑥2𝐵𝐵� 𝐵𝐵! �

2

∞ 𝐵𝐵=0

(2.3)

Biasanya Kaiser window diparameterkan dengan:

𝜋𝜋= 𝑀𝑀/2 (2.4)

Kaiser window juga dapat didefinisikan dari 𝛿𝛿, 𝜔𝜔𝐴𝐴, 𝜔𝜔𝑆𝑆, 𝑀𝑀, dan 𝛽𝛽:

∆𝜔𝜔 = 𝜔𝜔𝐴𝐴− 𝜔𝜔𝑆𝑆 (2.5)

𝜋𝜋 = −20 log10𝛿𝛿 (2.6)

𝛽𝛽= �

0.1102 (𝜋𝜋 −8.7), 𝜋𝜋> 50 0.5842 (𝜋𝜋 −21)0.4+ 0.07886 (𝜋𝜋 −21), 21≤ 𝜋𝜋 ≤ 50 0.0, 𝜋𝜋< 21

(2.7)

dan

𝑀𝑀= 𝜋𝜋 −8

(29)

2.5

Discrete Fourier Transform

(DFT)

Discrete Fourier Transform (DFT) adalah transformasi yang mengubah domain

waktu ke domain frekuensi. Rumus DFT dapat didefinisikan sebagai[7]:

𝑋𝑋(𝐵𝐵) = � 𝑥𝑥(𝐵𝐵)𝐴𝐴−𝑗𝑗2𝑁𝑁 𝐵𝐵𝐵𝐵𝜋𝜋 𝑁𝑁−1

𝐵𝐵=0

𝐵𝐵= 0, … . . ,𝑁𝑁 −1 (2.9)

dengan: 𝑁𝑁 = jumlah sempel.

𝑥𝑥(𝐵𝐵) = runtun masukan (time domain). X(k) = runtun keluaran (frekuensi domain).

2.6

Fast Fourier Transform

(FFT)

FFT merupakan cara cepat menghitung DFT. Faktor eksponensial dalam persamaan(2.9) dinamakan twiddle factor yang bersifat periodik dengan periode N dan dilambangkan dengan 𝑊𝑊𝑁𝑁𝐵𝐵𝐵𝐵, sehingga DFT dari sinyal waktu diskret x(n) dapat dituliskan sebagai:

𝑋𝑋(𝐵𝐵) = � 𝑥𝑥(𝐵𝐵)𝑊𝑊𝑁𝑁𝐵𝐵𝐵𝐵

𝑁𝑁−1

𝐵𝐵=0

𝐵𝐵= 0, … . . ,𝑁𝑁 −1 (2.10)

dengan: 𝑊𝑊𝑁𝑁𝐵𝐵𝐵𝐵 = twiddle factor yang besifat periodik dengan periode N.

(30)

Gambar 2.4. Ploting Hasil FFT

Gambar 2.5 Ploting Hasil FFT Radix 2

Kemudian hasil perhitungan tersebut dibagi menjadi dua bagian yang merupakan DFT dengan N/2 titik dan dihitung dengan cara serupa. Proses tersebut diulangi sampai didapatkan stage yang merupakan kumpulan DFT dengan 2 titik dimana pangkat dari twiddle factor merupakan harga tunggal yaitu nol[7].

2.7

Fungsi Jarak Chebyshev (

Chebyshev Distance Function

)

Fungsi Jarak Chebyshev juga disebut nilai jarak maksimum, menghitung besarnya absolut perbedaan koordinat dari sepasang obyek. Fungsi Jarak ini dapat digunakan untuk variabel baik ordinal maupun kuantitatif. Fungsi jarak Chebyshev dapat dilihat pada persamaan(2.14) merupakan pengembangan dari fungsi jarak Minkowski dapat dilihat pada persamaan(2.13)[8].

𝑛𝑛𝑏𝑏𝑗𝑗 = �∑ �𝑥𝑥𝐵𝐵𝐵𝐵=1 𝑏𝑏𝐵𝐵 − 𝑥𝑥𝑗𝑗𝐵𝐵�𝜆𝜆

𝜆𝜆

(2.12)

Jika lambda (λ) bernilai tak terhingga (∞), maka

(31)

dengan: 𝑥𝑥𝑏𝑏 = obyek pertama. 𝑛𝑛𝑏𝑏𝑗𝑗 = jarak antara obyek 𝑥𝑥𝑏𝑏 dan 𝑥𝑥𝑗𝑗.

𝑥𝑥𝑗𝑗 = obyek kedua. 𝜆𝜆 = orde.

𝐵𝐵 = jumlah data.

2.8

Kartu Suara (

Sound Card

)

Kartu suara merupakan sebuah periperal pada komputer sebagai I/O suara yang menyediakan komputer kemampuan untuk menghasilkan suara yang dapat didengar oleh pengguna baik melalui speaker atau headphone. Pada dasarnya setiap kartu suara memiliki:

a. Digital Signal Processor (DSP) yang akan menangani semua jenis komputasi. b. Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.

c. Analog to Digital Converter (ADC) sebagai masukan suara. d. Read Only Memory (ROM) atau Flash sebagai penyimpanan data.

e. Musical Instrument Digital Interface (MIDI) untuk menyambungkan beberapa peralatan musik eksternal.

f. Jack untuk menyambungkan kartu suara dengan speaker pada jalur line out atau microphone pada jalur line in.

Beberapa kartu suara sudah terpasang secara pabrikan (on board) pada motherboard komputer, tetapi bisa juga ditambahkan untuk keperluan yang lebih lanjut pada slot PCI motherboard[9]. Gambar 2.6 adalah contoh dari sound card dengan 1 line in dan 3 line out.

Gambar 2.6. Contoh Kartu Suara [10]

Dalam proses perekaman suara dengan menggunakan kartu suara ada beberapa pengaturan awal, yaitu:

a. Sampling Rate, telah dijelaskan pada poin 2.2 b. Channel yang digunakan, yaitu mono atau stereo.

(32)

2.9

Mikrofon

(Microphone)

Mikrofon digunakan pada beberapa alat seperti telepon, alat perekam, alat bantu dengar, pengudaraan radio serta televisi, dan sebagainya. Pada dasarnya mikrofon berguna untuk merubah suara menjadi getaran listrik sinyal Analog untuk selanjutnya diperkuat dan diolah sesuai dengan kebutuhan, pengolahan berikutnya dengan power amplifier dari suara yang berintensitas rendah menjadi lebih keras terakhir diumpan ke-speaker.

Pemilihan mikrofon harus dilakukan dengan lebih hati-hati. Hal ini dilakukan untuk mencegah berkurangnya kemampuan mikrofon dari performa yang optimal. Karakteristik mikrofon yang harus diperhatikan ketika akan memilih sebuah mikrofon adalah:

a. Prinsip cara kerja mikrofon dari jenis mikrofon itu sendiri

b. Daerah respon frekuensi suara yang mampu dicuplik oleh mikrofon c. Sudut atau arah pencuplikan mikrofon

d. Output sinyal listrik yang dihasilkan mikrofon e. Bentuk fisik mikrofon

Agar lebih efektif, mikrofon yang digunakan haruslah sesuai kebutuhan dan seimbang antara sumber suara yang ingin dicuplik, misalnya suara manusia, alat musik, suara kendaraan, atau yang lainnya dengan sistem tata suara yang digunakan seperti sound sistem untuk live music, alat perekaman, dan sebagainya[11].

2.10

Visual C++

Pemrograman C++ mengenal 2 istilah yaitu managed dan unmanaged code. Managed code adalah kode yang dieksekusi didalam CLR karena data dan code dikontrol

oleh CLR. Sedangkan unmanaged code adalah kode program yang dieksekusi di luar CLR atau tidak menggunakan CLR, program ini dibuat menggunakan template MFC dan dijalankan langsung dari Console Windows atau dibawah kendali sistem operasi. Unmanaged C++ juga dapat disebut native C++ karena program ini ditujukan untuk secara

native dikompilasi dalam bahasa mesin[12]. Diagram kerja unmanaged code dan managed

code dapat dilihat pada Gambar 2.7.

(33)

fungsi tersebut program akan berpindah ke proses yang ada pada fungsi tersebut. Bila telah selesai mengeksekusi fungsi tersebut, jalannya program akan kembali lagi pada fungsi utama[13].

Gambar 2.7. Diagram Kerja (A)Managed Code dan (B)Native Code C++

(34)

2.11

MFC

Pada Visual C++, salah satu format aplikasi yang dapat dibuat untuk membangun aplikasi Windows ialah MFC (Microsoft Foundation Class). Pada MFC sudah terdapat berbagai fungsi Windows API, sehingga mempermudah dalam memanfaatkan semua fasilitas dari C++ dalam menuliskan program Windows. Pada pembuatan MFC, ada berbagai tipe aplikasi yang dapat digunakan [14], yaitu:

a. SDI (Single Document Interface), tipe aplikasi ini seperti aplikasi Paintyang ada pada Windows. Aplikasi ini memiliki satu area client dan beberapa pull- down menu dan toolbar. Tipe ini digunakan apabila ingin membuat aplikasi dengan beberapa contoh dari aplikasi yang berinteraksi dengan satu file atau data dan menampilkannya pada satu area client.

b. MDI (Multi Document Interface), tipe aplikasi ini seperti aplikasi Microsoft Word. Aplikasi ini digunakan jika user ingin menggunakan multiple document

untuk dibuka dalam satu aplikasi yang sama.

c. Dialog based, aplikasi ini seperti AppWizard dalam Visual Studio. Aplikasi ini terdiri satu tampilan utama dengan beberapa variasi Windows control, seperti pushbutton, listboxes, dan entryfields. Aplikasi ini terdiri dari satu bentuk jendela

dasar dengan bermacam-macam pengaturan Windows, seperti pushbutton, list boxes, dan entry field. Aplikasi ini digunakan ketika aplikasi yang ingin dibuat

tidak membutuhkan area client yang digunakan untuk menggambar atau ketika aplikasi yang dibuat membutuhkan bermacam-macam pengaturan Windows untuk berinteraksi dengan pengguna (user).

(35)

Class hierarki pada MFC diperlihatkan pada Gambar 2.9. Seluruh class dalam

MFC tergabung dari class dasar yang disebut CObject. Class ini terdiri dari data members dan member functions yang terdapat pada MFC class. Class CwinApp digunakan saat membuat suatu aplikasi dan hanya digunakan sekali pada setiap program. Class CWnd berfungsi untuk menggabungkan seluruh fasilitas yang disediakan untuk aplikasi windows, membuat kotak dialog, dan pengontrolan.

Pada Microsoft Visual C++, dalam penulisan listing program menggunakan standar penulisan yang disebut dengan “Hungarian Notation” pada awal nama variable. Notasi tersebut digunakan untuk menandakan tipe dari variable. Beberapa Hungarian Notation diperlihatkan pada Tabel 2.2.

Tabel 2.2. Hungarian Notation [14] Notasi Tipe

B BOOL

c Character

h Handle

i Integer

l Long

m_ Member

p Pointer

sz Null terminated String

w UINT

Visual C++ berisi beberapa pengaturan dasar untuk mengedit resource files. Resource files merupakan objek program yang dikategorikan sebagai berikut icon, menu,

dialog, accelerator, bitmap, cursor, toolbar, string table, dan version yang ditentukan

diluar dari kode program C++. Semua resource files memiliki properties. Pada properties, salah satunya dapat terlihat ID atau nama dari resource tersebut. Secara umum, property dialog dapat mempermudah dalam pemodifikasian dan pengaturan sebuah resource.

(36)

Sebagai aplikasi yang bersifat user interface, aplikasi dengan dialog boxes menyediakan fasilitas message box (Gambar 2.10). Fasilitas ini digunakan untuk menampilkan beberapa psesan kesalahan atau pertanyaan dan user diminta merespon message box tersebut dengan menekan salah satu tombol sebelum melanjutkan aplikasi.

Ada tiga parameter yang harus diatur, yang pertama ialah jenis message box yang ingin ditampilkan, yang kedua ialah judul dari message box, dan yang ketiga ialah pengaturan dari perilaku message box. Pada Gambar 2.10 memperlihatkan jenis message box tersebut ialah message box pertanyaan, judulnya ialah “Message Box” dan perilakunya

ialah Yes atau No.

Gambar 2.10. Message Box

Sebagian besar aplikasi pasti menampilkan tampilan yang dinamakan splash screen pada saat program dijalankan. Beberapa aplikasi menampilkan splash screen yang

berisi gambar icon dari program dan pesan hak cipta pembuat program. Tujuan dari splash screen ialah menunjukan kepada user tentang hak cipta dan informasi registrasi.

2.12

Wave I/O pada Windows

Fungsi Windows Multimedia API (Application Programming Interface) adalah untuk mempermuda h perekaman suara ataupun memutar sebuah file suara menggunakan kartu suara pada komputer. Win32 API merupakan kelompok dari Multimedia Control Interface (MCI) yang berfungsi sebagai antarmuka pemrograman multimedia untuk API.

WaveInOpen merupakan sebuah fungsi untuk membuka perangkat masukan suara

(37)

audio. Ketika buffer sudah terisi untuk proses perekaman audio, aplikasi akan memberitahu dengan sebuah window message, callback message, thread message, atau event, bergantung pada flag yang telah ditentukan saat perangkat dibuka. Sebelum

memulai perekaman dengan fungsi waveInStart, sebuah buffer harus dikirimkan ke driver perangkat, sehingga data audio yang masuk tidak hilang. Sebelum menutup perangkat audio dengan fungsi waveInClose, pemanggilan fungsi waveInReset harus dilakukan untuk menandai beberapa data blocks yang belum selesai[15].

Tabel 2.3. Fungsi Penanganan Recording[15] Fungsi Deskripsi Fungsi

waveInAddBuffer Mengirimkan sejumlah buffer ke driver perangkat sehingga perangkat dapat menyimpan data rekaman audio

waveInReset Menghentikan proses perekaman dengan menandai semua buffer yang masih tersisa untuk dihapus

(38)
(39)

18

BAB III

PERANCANGAN

3.1

Sistem Pengenalan Nada Alat Musik Suling

Recorder

Blok sistem pengenalan nada alat musik suling recorder secara keseluruhan diperlihatkan pada gambar 3.1.

Gambar 3.1. Blok diagram keseluruhan sistem

Sistem pengenalan nada alat musik suling recorder terdiri dari software pada laptop yang berfungsi sebagai user interface dalam proses pengenalan. Software laptop yang dibuat dalam bentuk user interface dengan bahasa C++ berperan sebagai pusat pengaturan semua proses pengenalan nada alat musik suling recorder, seperti merekam suara nada suling dan mengenali suara nada yang terekam. Perekaman suara dilakukan oleh laptop melalui mikrofon (microphone) dan jalur line in pada kartu suara(SoundCard).

1. Suling Recorder

(40)

Gambar 3.2. Suling Recorder Tampak Atas(kiri), Tampak Bawah(kanan)

Cara memainkan alat musik recorder dapat dilihat pada tabel 2.1. Alat musik ini akan direkam dengan jarak ±30cm dari mikrofon.

2. Mikrofon

Mikrofon yang digunakan adalah mini multimedia microphone Genius MIC-01A dapat dilihat pada gambar 3.3. Mini mikrofon sangat mudah digunakan dan dibawa karena bentuknya yang sangat ringan. Mini mikrofon hanya dapat mendengar suara dari jarak dekat (±1 meter dari sumber suara). Spesifikasi dari mini multimedia microphone Genius MIC-01A dapat dilihat pada Tabel 3.1.

(41)

Tabel 3.1. Spesifikasi Mini Multimedia Microphone Genius MIC-01A[17]

Frequency Response 100Hz ~ 10KHz

Sensitivity -62dB

Output Impedance 2.2KΩ @1KHz

Cable length 3.0 Meters

Audio Output Connector 3.5mm Stereo Audio Plug

Weight 107 gram

Mikrofon berfungsi untuk menangkap sinyal analog dan kemudian menyalurkannya ke sound card pada leptop melewati line in yang ada pada sound card.

3. Sound Card

Sound card berfungsi mengubah sinyal analog dari mikrofon menjadi sinyal

digital. Sound card yang digunakan adalah sound card yang sudah terpasang pada motherboard. Dalam konversi sinyal analog menjadi sinyal digital dan kemudian

disimpan diperlukan pengaturan yang meliputi pengaturan sampling rate (frekuensi sampling) dan channel. Pengaturan tersebut dilakukan pada proses perekaman oleh program yang akan dibuat.

4. 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 dan tipe data berupa channel yang sudah ditentukan. 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.

5. Proses Pengenalan Nada

(42)

Gambar 3.4. Blok Diagram Proses Pengenalan Nada a. Frame blocking

Proses ini memilih data dari data nada terekam, sehingga data yang dipilih dapat mewakili semua data pada nada terekam.

b. Normalisasi

Proses ini bertujuan untuk menyetarakan amplitudo maksimum baik nada terekam dengan nada referensi, sehingga efek dari kuat lemahnya suara yang dikeluarkan alat musik suling recorder tidak terlalu mempengaruhi proses pengenalan.

c. Windowing

Windowing berfungsi untuk mengurangi efek diskontinuitas dari sinyal digital hasil rekaman. Dalam perancangan ini penulis menggunakan window kaiser dari jenis-jenis windowing yang ada.

d. FFT

FFT cara cepat menghitung DFT. DFT berfungsi untuk mengkonversi domain waktu ke domain frekuensi. Domain frekuensi digunakan untuk melihat ciri dari suatu nada. Penulis menggunakan FFT radix 2 dalam sistem pengenalan alat musik recorder ini.

e. Fungsi Jarak

Proses ini membandingkan nada terekam dengan 8 nada referensi. Hasil dari perbandingan adalah jarak yang kemudian akan digunakan dalam proses selanjutnya. Dalam proses ini penulis menggunakan fungsi jarak Chebyshev. f. Penentuan

(43)

3.2

Perancangan Nada Referensi

Sebagai penentuan pengenalan nada alat musik suling recorder dibutuhkan nada acuan yang disebut nada referensi. Nada referensi hendaknya memiliki ciri yang sudah diketahui oleh sistem. Untuk memperoleh nada referensi pada setiap nada yang akan dikenali pada sistem pengenalan nada alat musik suling recorder, penulis mengambil 10 sampel pada setiap nada yang akan dikenali tersebut (nada C’, D’, E’, F’, G’, A’, B’, dan C”). Proses Pengambilan dapat dilihat pada Gambar 3.5. Pengambilan nada yang akan dijadikan nada referensi harus melalui proses sampling, frame blocking, normalisasi, windowing, dan FFT. Pengambilan dilakukan dengan menggunakan program Visual C++

yang akan dibuat.

Gambar 3.5. Blok Diagram Proses Pengambilan Nada Referensi

Proses Pengambilan Nada disesuaikan dengan variabel bebas pada pembuatan sistem pengenalan nada alat musik suling recorder, tetapi dengan durasi dan frekuensi sampling yang sudah ditetapkan. Setelah 10 nada sampel pada setiap nada diperoleh, maka dilakukan perhitungan (3.1) untuk mendapatkan nada referensi. Digunakan hasil FFT yang telah dinormalisasi sebagai nada sampelnya, sehingga sistem pengenalan nada alat musik suling recorder tidak melakukan perhitungan kembali dalam mendapatkan nada referensi dan proses pada sistem pengenalan nada alat musik suling recorder dapat berjalan lebih cepat.

𝐵𝐵𝑆𝑆𝑛𝑛𝑆𝑆𝐴𝐴𝐴𝐴𝑟𝑟𝐴𝐴𝐴𝐴𝐴𝐴𝐵𝐵𝐴𝐴𝑏𝑏 = 𝐵𝐵𝑆𝑆𝑛𝑛𝑆𝑆𝐴𝐴𝑆𝑆𝑆𝑆𝑆𝑆𝐴𝐴𝑆𝑆1+𝐵𝐵𝑆𝑆𝑛𝑛𝑆𝑆𝐴𝐴𝑆𝑆𝑆𝑆𝑆𝑆𝐴𝐴𝑆𝑆2+ … +𝐵𝐵𝑆𝑆𝑛𝑛𝑆𝑆𝐴𝐴𝑆𝑆𝑆𝑆𝑆𝑆𝐴𝐴𝑆𝑆10

10 (3.1)

(44)

3.3

Nada Uji

Nada Uji diambil setelah user menekan tombol “REKAM”. Hasil rekaman atau sampling diambil dengan frekuensi sampling dan durasi perekaman yang sudah ditentukan.

Sampling kemudian diproses seperti halnya dalam mencari nada referensi (Gambar 3.5). Proses yang berlangsung meliputi sampling, frame blocking, windowing, normalisasi, dan FFT. Hasil proses tersebut disimpan dalam bentuk variabel dengan nama NadUji dan kemudian diproses kembali untuk mendapatkan hasil pengenalan nada alat musik suling recorder.

3.4

Perancangan Tampilan Program Visual C++

1. Tampilan Utama

Tampilan utama program dibuat agar user dapat dengan mudah mengoperasikan program ini serta mengerti hasil dari pengenalan nada alat musik suling recorder. Pembuatan tampilan menggunakan aplikasi MFC dengan tipe Dialog Based. Tampilan utama pada laptop tampak pada Gambar 3.6. Beberapa keterangan dari tampilan utama program dijelaskan pada Tabel 3.2.

(45)

Tabel 3.2. Keterangan Tampilan Utama Program Nama Bagian Deskripsi

Tombol Rekam Digunakan untuk mengambil suara nada alat

musik suling recorder yang sedang

dimainkan.

Alpha pada Windowing Untuk memilih nilai alpha yang akan

digunakan pada proses pengenalan nada, pilihan nilai alpha pada windowing seperti 1000, 100, 40, dan 0.

FFT Radix 2 Untuk memilih titik FFT yang digunakan

pada proses pengenalan nada, pilihan berupa 128, 64, 32, dan 16 titik.

Tombol Pengenalan Nada Digunakan untuk memulai proses

pengenalan.

Nada yang dikenal Untuk menampilkan nada yang didapat

setelah proses pengenalan

Jarak Untuk menampilkan jarak yang didapat dari

proses perbandingan 8 nada referensi

Tombol Reset Digunakan bila ingin memulai proses

pengenalan nada yang baru

Tombol Exit Digunakan untuk mengakhiri aplikasi

Plot Hasil Rekaman Tampilan grafik suara hasil rekaman

Plot Data Hasil FFT Tampilan data berupa grafik data hasil FFT baik dari rekaman maupun dari 8 nada referensi

Menu : Help Digunakan untuk membuka jendela bantuan

Menu : Profil Digunakan untuk membuka jendela Profil

Menu : About Digunakan untuk membuka jendela About

(46)

2. Tampilan Jendela Help

Tampilan jendela Help akan muncul jika user memilih pilihan Menu > Help. Jendela Help berisi bantuan berupa langkah-langkah dalam pengoperasian program. Jendela Help tampak pada Gambar 3.7.

3. Tampilan Jendela Profil

Tampilan jendela Profil akan muncul jika user memilih opsi Menu > Profil. Jendela Profil berisi data diri pembuat sistem pengujian ketahanan baterai mainan. Jendela About tampak pada Gambar 3.8.

4. Tampilan Jendela About

Tampilan jendela About akan muncul jika user memilih opsi Menu > About. Jendela About berisi keterangan tentang versi dan pembuat program. Jendela About tampak pada Gambar 3.9.

Gambar 3.7. Tampilan jendela Help

(47)

Gambar 3.9. Tampilan Kotak Dialog About

3.5

Perancangan Alur Program

Program pengenalan nada alat musik suling recorder akan dieksekusi saat user mulai menjalankan program ini. Setelah tampilan utama terlihat, proses pengujian sudah dapat dilakukan. User pertama kali harus melakukan pengaturan pengenalan nada dengan memilih pilihan yang tersedia di combobox “Alpha pada Windowing” dan “FFT Radix 2”. Saat user menekan tombol “PENGENALAN NADA”, sistem akan mengambil suara nada alat musik suling recorder yang dimainkan. Jika suara nada telah terekam, proses akan berlanjut untuk mengenali nada tersebut. Proses pengenalan akan berhenti ketika nilai jarak antara nada terekam dengan nada referensi telah didapat dan nada terekam dapat dikenali. Alur program keseluruhan ini diperlihatkan pada Gambar 3.10.

(48)
(49)

Gambar 3.10. Alur Program Keseluruhan

(50)

Gambar 3.12. Alur Program Frame Blocking

(51)

Gambar 3.14. Alur Program Normalisasi 1

Gambar 3.15. Alur Program FFT

(52)

Gambar 3.17. Alur Program Fungsi Jarak

(53)

3.6

Perancangan Subsistem Program

Terdapat dua subsistem penting dalam sistem pengenalan nada alat musik suling recorder, diantaranya subsistem sampling dan subsistem pengenalan nada. Dalam

perancangan subsistem tersebut diperlukan variabel terikat sehingga pengenalan dapat berhasil dan dengan waktu proses yang optimal. Percobaan awal untuk mencari variabel tersebut sangat diperlukan. Dalam percobaan awal digunakan program Matlab v.7 karena dalam program tersebut memiliki fungsi–fungsi menunjang subsistem dari sistem program pengenalan nada alat musik suling recorder.

3.6.1

Subsistem

Sampling

Dalam subsistem ini terdapat 2 variabel terikat berupa frekuensi sampling dan durasi perekaman. Setelah melakukan percobaan awal, dapat disimpulkan:

a. frekuensi sampling yang digunakan adalah 2400Hz, karena berdasarkan percobaan awal ditemukan bahwa frekuensi tertinggi yang akan dikenali adalah 1070Hz untuk lebih lengkapnya dapat dilihat pada lampiran halaman L1.

b. durasi perekaman yang digunakan adalah 2 detik, karena dalam waktu 2 detik suara yang dimainkan sudah stabil khususnya pada deretan data tengah yang akan dipilih dalam proses frame blocking untuk lebih lengkapnya dapat dilihat pada lampiran halaman L8.

3.6.2

Subsistem Pengenalan Nada

Dalam subsistem ini terdapat 2 proses menggunakan variabel tetap dan 2 proses menggunakan variabel bebas. Satu proses yang menggunakan variabel tetap adalah proses fungsi jarak dan frame blocking. Tiga proses lainnya yang menggunakan variabel bebas adalah titik FFT dan nilai alpha pada windo wing. Variabel yang akan dievaluasi untuk membangun sistem pengenalan nada yang optimal adalah ketiga variabel bebas tersebut.

a. frame blocking mengambil sampel data dari deretan data suara terekam sebanyak 128 data sampel, karena semakin banyak data akan membuat komputasi dalam sistem meningkat dan memperlambat proses pengenalan nada untuk lebih lengkapnya dapat dilihat pada lampiran halaman L10.

(54)

c. Titik FFT yang digunakan untuk mengkonversi data hasil windowing adalah 128 titik, 64 titik, 32 titik, dan 16 titik. Dalam subsistem pengenalan nada, data hasil FFT yang digunakan adalah data riil atau amplitudonya.

d. Fungsi jarak yang digunakan adalah fungsi jarak Chebyshev. Kedelapan nada referensi yang digunakan pada proses ini adalah data yang sudah dikonversi menggunakan FFT terlebih dahulu dan disimpan. Setiap nada referensi memiliki data sesuai dengan titik FFT dan alpha windowing yang digunakan, sehingga banyaknya nada referensi berjumlah 16 data dalam 1 nada (Tabel 3.3).

Tabel 3.3. Nada Referensi C

Nama data referensi Titik FFT Alpha pada windowing

NadaCRef 128 1000

100 40 0

64 1000

100 40 0

32 1000

100 40 0

16 1000

(55)
(56)

34

BAB IV

HASIL DAN PEMBAHASAN

Pengujian program perlu dilakukan untuk mengetahui apakah suatu program dapat bekerja dengan baik dan sesuai dengan perancangan. Hasil pengujian berupa data-data yang dapat memperlihatkan bahwa program yang telah dirancang dapat berjalan dengan baik. Analisa terhadap proses kerja dapat digunakan untuk menarik kesimpulan dari apa yang disajikan dalam tugas akhir ini.

4.1

Pengujian Program Pengenalan Nada Alat Musik Suling

Menggunakan Fungsi Jarak Chebyshev.

Pengujian program bertujuan untuk memastikan apakah program yang telah dibuat dapat bekerja sesuai dengan yang telah dirancang pada bab sebelumnya. Pengujian program menggunakan komputer dengan spesifikasi:

Processor : Intel® Atom™ CPU N570 @1.66GHz 1.67GHz

RAM : 2.00 GB

Program pengenalan dapat dijalankan dengan langkah-langkah di bawah ini:

1. Meng-click dua kali icon sulingrec.exe dengan Gambar icon seperti Gambar 4.1.

Gambar 4.1. Icon Program Pengenalan

2. Tampilan splash screen yang terlihat pada Gambar 4.2 akan muncul sebelum masuk ke tampilan utama program.

(57)

Gambar 4.2. Tampilan Splash Screen

4. Jika alpha pada windowing dan jumlah point FFT telah dipilih oleh user, program pengenalan dapat dimulai dengan menekan tombol “PENGENALAN”.

5. User diberikan waktu maksimal 3 detik untuk mempersiapkan nada yang akan dikenali sebelum nada direkam dan diproses.

6. Selanjutnya hasil pengenalan akan muncul dalam kotak “STATUS”. Jarak yang dihasilkan dari proses pengenalan akan muncul dalam kedelapan text box yang berada pada sebelah kanan. user dapat melihat grafik hasil rekaman dan grafik hasil proses FFT dalam kotak “PLOT” seperti yang terlihat pada Gambar 4.4. 7. Tombol RESET digunakan jika user ingin melakukan pengenalan baru. 8. Tombol EXIT digunakan jika user ingin keluar dari program.

9. Menu > Help dapat digunakan jika user membutuhkan langkah-langkah dalam pengoperasian program pengenalan alat musik suling recorder.

10.Menu > About dapat digunakan untuk membuka jendela About.

11.Menu > Profil dapat digunakan untuk membuka jendela Profil yang berisi profil pembiat sistem pengenalan alat musik suling recorder.

(58)

Gambar 4.4. Tampilan Utama Program Pengenalan Nada Alat Musik Suling Recorder

Pada implementasi program, tampilan jarak dan nada yang dikenali mengalami perubahan. Perubahan letak dimaksudkan agar program terlihat lebih simple dan elegan. Perubahan tampilan nada yang dikenali menjadi tampilan STATUS dimaksudkan agar user dapat mengetahui proses yang sedang dijalankan oleh program dari perekaman hingga nada dikenali. Listing program utama secara keseluruhan terlampir pada halaman L33 dengan judul sulingrecDlg.cpp.

4.1.1. Tombol Pengenalan

Tombol Pengenalan hanya dapat ditekan setelah user mengisi pengaturan pengenalan. Untuk mengetahui pengaturan pengenalan sudah diisi atau belum maka dilakukan pengecekan dengan menjalankan metode berikut:

///////////COMBOBOX CHECKER///////////////////////////////// int Alpha=0;

int NoAlpha=0;//for database call if (m_alpha==_T("1000"))

{Alpha=1000; NoAlpha=12;} ....

else

{MessageBox(_T("Pilihlah nilai Alpha yang akan digunakan terlebih dahulu."),_T("Peringatan"),MB_OK|MB_ICONEXCLAMATION);

return;}

(59)

Jika pada saat pengecekan berlangsung dan didapatkan pengaturan pengenalan yang belum terisi, maka program akan memberikan pesan seperti pada Gambar 4.5 dan Gambar 4.6. Tetapi jika pengaturan telah terisi, maka program akan melanjutkan ke proses selanjutnya.

Gambar 4.5. Pesan Bila Pengaturan Alpha Tidak Terisi

Gambar 4.6. Pesan Bila Pengaturan FFT Tidak Terisi

Selanjutnya program akan memberikan waktu kepada user untuk bersiap memainkan alat musik suling recordernya selama 3 detik dengan metode:

m_statimag.SetBitmap(stat2); Sleep(1000);

///

//////////////////////////////////////////////////////////// int NpointFFT=0;

int NoFast=0;//for database call if (m_fftpoint==_T("16"))

{NpointFFT=16; NoFast=0;}

else if(m_fftpoint==_T("32")) {NpointFFT=32;

NoFast=1;}

else if(m_fftpoint==_T("64")) {NpointFFT=64;

NoFast=2;}

else if(m_fftpoint==_T("128")) {NpointFFT=128;

NoFast=3;} else

{MessageBox(_T("Pilihlah nilai point of FFT yang akan digunakan terlebih dahulu."),_T("Peringatan"),MB_OK|MB_ICONEXCLAMATION);

return;}

(60)

User dapat mengetahui waktu yang tersisa melalui tampilan status yang ada pada tampilan

program seperti pada Gambar 4.7.

Gambar 4.7. Tampilan STATUS Menunggu Perekaman

Proses Perekaman akan dimulai jika tampilan status yang terdapat pada tampilan utama program terlihat seperti Gambar 4.8.

Gambar 4.8. Tampilan STATUS Mulai Perekaman

Persiapan untuk proses perekaman diawali dengan menginisialisasikan parameter perekaman dengan metode berikut:

///////////perekaman//////////////////////////////////////////// UpdateData(true);

unsigned int samplerate = 2400; int bit = 16; const int NUMPTS = 4800; short *waveIn;

int datarekam[4800]; ///4800=2 detik dengan 1 detiknya 2400sample

HWAVEIN hWaveIn; WAVEHDR WaveInHdr; MMRESULT result;

WAVEFORMATEX pFormat;

pFormat.wFormatTag=WAVE_FORMAT_PCM; pFormat.nChannels=1;

pFormat.nSamplesPerSec=samplerate; pFormat.wBitsPerSample=bit;

pFormat.nAvgBytesPerSec=samplerate * pFormat.wBitsPerSample /8; pFormat.nBlockAlign=pFormat.nChannels * pFormat.wBitsPerSample /8; pFormat.cbSize=0;

m_statimag.SetBitmap(stat3); Sleep(1000);

///

(61)

Metode diatas digunakan untuk mengkonfigurasi data dari sinyal suara yang akan direkam. Pada metode tersebut, konfigurasi dilakukan dengan menentukan parameter perekaman, seperti sample rate, format suara, channel, bit per sample, AvgBytesPerSec, dan BlockAlign.

AvgBytesPerSec merupakan rata-rata kecepatan transfer data dalam byte untuk tiap

detik. Nilai ini digunakan untuk menentukan ukuran dari buffer. Persamaan 4.1 merupakan rumusan untuk menentukan nilai AvgBytesPerSec.

𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 =𝐴𝐴𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝐴𝐴𝐴𝐴𝑆𝑆𝐴𝐴𝐴𝐴𝑥𝑥𝑏𝑏𝑏𝑏𝐴𝐴𝑆𝑆𝐴𝐴𝐴𝐴𝐴𝐴𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝐴𝐴/8 (4.1) BlockAlign merupakan nilai dari ukuran data dalam byte untuk tiap sample.

Persamaan 4.2 merupakan rumusan untuk nilai BlockAlign.

𝐴𝐴𝑆𝑆𝐵𝐵𝐴𝐴𝐵𝐵𝐴𝐴𝑆𝑆𝑏𝑏𝐴𝐴𝐵𝐵 =𝐶𝐶ℎ𝑆𝑆𝐵𝐵𝐵𝐵𝐴𝐴𝑆𝑆𝐴𝐴𝑠𝑠𝑆𝑆𝐴𝐴𝑆𝑆𝑥𝑥𝑏𝑏𝑏𝑏𝐴𝐴𝑆𝑆𝐴𝐴𝐴𝐴𝐴𝐴𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝐴𝐴/8(𝑏𝑏𝐴𝐴𝐴𝐴𝐴𝐴) (4.2)

Metode diatas digunakan untuk menentukan struktur dari buffer. Buffer adalah memori yang disiapkan sebagai tempat penyimpanan sementara data hasil perekaman suara. Pada metode di atas, pengaturan persiapan buffer terdiri atas:

a. Pengalokasian memori penyimpan data hasil perekaman suara berupa pointer dengan menuliskan wavein = new short [NUMPTS].

b. Pendeklarasian variabel pointer dilakukan dengan menuliskan

waveinhdr.lpdata = (LPSTR) wavein.

c. Penentuan panjang buffer dilakukan dengan menuliskan

waveinhdr.dwbufferlength = NUMPTS * pformat.wbitspersample / 8. d. Penginisialisasian awal data yang terdapat pada buffer dilakukan dengan

menuliskan waveinhdr.dwbytesrecorded=0. Nilai 0 mengartikan buffer dalam keadaan kosong pada saat awal perekaman.

e. Penginisialisasian variabel dwuser dilakukan dengan menuliskan

waveinhdr.dwuser=0L. Nilai 0L sama artinya dengan nilai 0.

//pengaturan header buffer perekaman

waveIn = new short [NUMPTS];

WaveInHdr.lpData = (LPSTR) waveIn;

WaveInHdr.dwBufferLength = NUMPTS * pFormat.wBitsPerSample / 8;

WaveInHdr.dwBytesRecorded=0; WaveInHdr.dwUser=0L;

(62)

f. Penginisialisasian variabel dwflags dilakukan dengan menuliskan waveinhdr.dwflags=0L. Nilai 0L dimaksudkan bahwa tidak menggunakan flag sebagai informasi tambahan pada buffer.

g. Penginisialisasian variabel dwloops dilakukan dengan menuliskan

waveinhdr.dwloops=0L. Nilai 0L dimaksudkan bahwa pengulangan proses perekaman tidak dilakukan, hanya 1 kali proses perekaman.

Membuka perangkat suara dengan metode berikut:

Mempersiapkan buffer untuk penyimpanan sementara data hasil perekaman dengan metode berikut:

Memulai proses perekaman dengan metode berikut:

dan menunggu sampai perekaman selesai dengan metode seperti dibawah dan tampilan status seperti pada Gambar 4.9.

Gambar 4.9. Tampilan STATUS Perekaman Selesai

Mengambil data pada buffer untuk disimpan pada variabel dengan metode berikut:

Mem-plot data hasil rekaman pada grafik dengan metode berikut:

///////////Ploting rekam////////////////// double SampleDataArray1[4800];

for(int i=0 ; i<2000 ; i++)

SampleDataArray1[ i ] = datarekam[i*2];

Scope.Channels[0].Data.SetYData(SampleDataArray1,2000); //ambil data perekaman

for(long i=0;i<NUMPTS;i++) {datarekam[i]=*waveIn; waveIn++;}

do {} while (waveInUnprepareHeader(hWaveIn, &WaveInHdr, sizeof(WAVEHDR))==WAVERR_STILLPLAYING);

waveInReset(hWaveIn);

waveInStart(hWaveIn);

waveInAddBuffer(hWaveIn,&WaveInHdr,sizeof(WAVEHDR));

(63)

Setelah proses perekaman, program akan memproses data hasil perekaman untuk pemilihan data tengah dari deretan data hasil perekaman. Proses yang disebut frame blocking ini menggunakan metode:

Selanjutnya data hasil frame blocking akan melalui proses windowing untuk menghilangkan noise suara yang ikut terekam dalam proses perekaman. Dalam program pengenalan ini alpha yang digunakan untuk mengatur windowing bervariasi dan user dapat menggunakan 4 varian alpha yang terdapat pada combo box. pengecekan hasil pilihan dari user sudah dilakukan sebelum proses perekaman berlangsung. Windowing yang digunakan

adalah Kaiser window dimana menggunakan beta untuk komputasinya. Perolehan nilai beta tergantung dari alpha yang dipilih user. Dalam perhitungan nilai beta menggunakan

metode:

Setelah nilai beta diperoleh maka proses Kaiser dapat dilakukan. Metode yang digunakan dalam proses Kaiser windowing menggunakan metode yang didapat dari koders.com. Metode tersebut dimodifikasi sehingga menjadi:

///////////kaiser window/////////////////////////////////////// // diambil dari ::koders.com /// // filename ::window.cpp /// /////////////////////////////////////////////////////////////// //brief bessel function for kaiser window

const double t=1.e-08; double y=0.5*Beta; double e=1.0; double de=1.0; double xi; double sde;

for (int i=1;i<26;i++){ xi=i;

de *= y/xi; ///pilihan Beta if (Alpha>50)

{Beta=0.1102*(Alpha-8.7);} else if (Alpha<21)

{Beta=0;} else

{Beta=0.5842* pow((Alpha-21),0.4)+0.07886*(Alpha-21);} ////////////frame blocking////////////////////////////////////// //pilih data

int LFrame=128;//banyak data yang dipilih

(64)

Setelah proses windowing selesai dilakukan maka program akan menjalankan proses normalisasi dengan metode:

Selanjutnya program menjalankan inisialisasi variabel yang akan digunakan dalam proses FFT sebagai berikut:

///////////Normalisasi///////////////////////////////////////// double MaksNadWin=0;

double Norml[128];

for(int i=0 ;i<128;i++){

MaksNadWin=max(MaksNadWin,abs(NadWin[i]));} for(int i=0 ;i<128;i++){

Norml[i]=NadWin[i]/MaksNadWin;}

//brief kaiser window

double KaiserWin[128];//KaiserWin[panjang window atau LFrame] double bes=1.0/bessel1;

long odd=LFrame%2; double xo;

double xind=(LFrame-1)*(LFrame-1); for (int i=0;i<LFrame;i++){

if(odd) xo=i+0.5;

for (int g=1;g<26;g++){ xi=g;

de *= y/xi; sde = de*de; e += sde;

if((e*t-sde)>0)break;} double bessel2=e;

KaiserWin[i]=bessel2*bes; }

double window[128]; //left side window int cp=LFrame/2;

for (int i=0;i<cp;i++){

window[i]=KaiserWin[cp-i-1];} for (int i=0;i<cp;i++){

window[cp+i]=KaiserWin[i];} //end of kaiser window

double NadWin[128];

for(int i=0;i<LFrame;i++){

(65)

Proses FFT dibutuhkan data complex untuk perhitungannya, sedangkan data yang dihasilkan proses normalisasi 1 adalah data real. Program menjalankan proses untuk mengonversi data real menjadi data complex sehingga dapat dilakukan proses perhitungan FFT dengan metode:

Selanjutnya data yang sudah dikonversi menjadi data complex diproses dengan metode FFT yang didapat dari metode Danielson Lanzcos routine sebagai berikut:

//////////////////////////FFT//////////////////////////// // diambil dari ::codeprojects.com // // thread name ::how to make fft // // di posting oleh ::Joao Martins // ///////////////////////////////////////////////////////// //binary inversion (note that the indexes

//start from 0 witch means that the

//real part of the complex is on the even-indexes

//and the complex part is on the odd-indexes)

n=sample_rate << 1; j=0;

for (i=0;i<n/2;i+=2) { if (j > i) {

SWAP(vector[j],vector[i]); SWAP(vector[j+1],vector[i+1]); if((j/2)<(n/4)){

SWAP(vector[(n-(i+2))],vector[(n-(j+2))]);

SWAP(vector[(n-(i+2))+1],vector[(n-(j+2))+1]); }} m=n >> 1;

while (m >= 2 && j >= m) { j -= m;

m >>= 1;} j += m;}

//new complex array of size n=2*sample_rate

//if(vector!=NULL) // delete [] vector;

vector=new double [2*sample_rate]; nadFFT=new double [sample_rate];

//put the real array in a complex array

//the complex part is filled with 0's

//the remaining vector with no data is filled with 0's if (NpointFFT==16)

{MessageBox(_T("tidak dapat mengonvert ke bilangan

complex"),_T("Peringatan"),MB_OK|MB_ICONEXCLAMATION);

(66)

Data hasil perhitungan proses FFT merupakan data yang masih complex dan tidak dapat digunakan untuk proses fungsi jarak. data complex harus dikonversi menjadi data real sehingga dapat diproses dalam proses fungsi jarak. program menjalankan metode konversi yang dimodifikasi dengan penambahan fungsi normalisasi sebagai berikut:

Setelah data real diperoleh maka program menjalankan metode dibawah ini untuk menampilkan grafik hasil FFT nada suara uji.

/////////////////////PLOTING FFT/////////////////////

MessageBox(_T("Tidak dapat memplotting hasil FFT") ,_T("Gagal") ,MB OK|MB ICONEXCLAMATION);}

double MaksNadFFT=0; double *Norml2; if (NpointFFT==16) {

for(i=0; i<=(32); i+=2)

nadFFT[i/2]=sqrt((pow(vector[i],2)+pow(vector[i+1],2))); Norml2=new double[16];

for(int i=0 ;i<16;i++){ ///////Normalisasi 2//////// MaksNadFFT=max(MaksNadFFT,abs(nadFFT[i]));} for(int i=0 ;i<16;i++){

Norml2[i]=nadFFT[i]/MaksNadFFT;}} ....

//Danielson-Lanzcos routine mmax=2;

while (n > mmax) { istep=mmax << 1; theta=(2*pi/mmax); wtemp=sin(0.5*theta); wpr = -2.0*wtemp*wtemp; wpi=sin(theta);

wr=1.0; wi=0.0;

for (m=1;m<mmax;m+=2) {

for (i=m;i<=n;i+=istep) { j=i+mmax;

tempr=wr*vector[j-1]-wi*vector[j]; tempi=wr*vector[j]+wi*vector[j-1]; vector[j-1]=vector[i-1]-tempr; vector[j]=vector[i]-tempi; vector[i-1] += tempr;

vector[i] += tempi; } wr=(wtemp=wr)*wpr-wi*wpi+wr;

wi=wi*wpr+wtemp*wpi+wi; } mmax=istep; }

(67)

Selanjutnya program menjalankan proses menghitung jarak menggunakan metode:

Variabel ref2 merupakan pointer variabel yang akan dibandingkan didapat melalui pemanggilan data referensi melalui metode:

Dalam proses penentuan nada hasil jarak terpendek dibandingkan dengan perolehan jarak dari masing-masing nada referensi. Jika jarak terpendek sama nilainya dengan salah satu jarak pada nada referensi, maka nada dikenali adalah salah satu nada sesuai dengan nada referensi. Penentuan nada ini menggunakan metode:

Hasil penentuan akan muncul pada tampilan STATUS program pengenalan nada alat musik suling recorder seperti pada Tabel 4.1.

Berdasarkan pengujian, tombol PENGENALAN telah bekerja dengan baik. Saat tombol PENGENALAN ditekan, program telah merekam, menampilkan grafik rekaman, menampilkan grafik hasil FFT, menampilkan hasil jarak masing-masing nada, dan mengenali nada. Gambar 4.10 memperlihatkan contoh tampilan setelah tombol PENGENALAN ditekan, dengan nada yang dimainkan adalah nada Sol/ G’, pengaturan berupa alpha pada windowing sebesar 1000, dan FFT sebesar 128 point. Grafik pertama adalah hasil sampling nada suara uji, grafik kedua adalah hasil FFT nada suara uji, dan tampilan STATUS sesuai dengan nilai jarak minimum yang berada pada text box jarak Sol(G’).

////////////////////PENENTUAN NADA//////////////////////// double jarakminimum=1;

for(i=0;i<7.2;i++)

{jarakminimum=min(jarakminimum,jarak[i]);} if (jarakminimum>0.70)

{m_statimag.SetBitmap(nadaNN);} else if (jarakminimum==jarak[0]) {m_statimag.SetBitmap(nadaC);} ....

if(d==0)

{ref2=NadaCRef6;} ....

(68)

Tabel 4.1. Tampilan STATUS Nada Yang Dikenali

No. STATUS Keterangan

1. Nada yang dikenali dari jarak

minimum yang didapat adalah nada Do/ C’.

2. Nada yang dikenali dari jarak

minimum yang didapat adalah nada Re/ D’.

3. Nada yang dikenali dari jarak

minimum yang didapat adalah nada Mi/ E’.

4. Nada yang dikenali dari jarak

minimum yang didapat adalah nada Fa/ F’.

5. Nada yang dikenali dari jarak

minimum yang didapat adalah nada Sol/ G’.

6. Nada yang dikenali dari jarak

minimum yang didapat adalah nada La/ A’.

7. Nada yang dikenali dari jarak

minimum yang didapat adalah nada Si/ B’.

8. Nada yang dikenali dari jarak

minimum yang didapat adalah nada Do tinggi/ C”.

(69)

Gambar 4.10. Tampilan Setelah Penekanan Tombol PENGENALAN.

4.1.2. Tombol

RESET

Tombol RESET digunakan apabila user ingin melakukan proses pengujian kembali. Saat tombol RESET ditekan, semua nilai variabel dikembalikan sama seperti saat inisialisasi program. Jika tombol RESET ditekan, maka program akan menjalankan metode berikut:

Berdasarkan pengujian, tombol RESET berjalan dengan baik. Program dapat mengembalikan semua nilai variabel seperti saat inisialisasi program dan user melakukan pengujian kembali dengan menekan tombol RESET.

m_statimag.SetBitmap(stat1);

Scope.Channels[0].Data.Clear(); SFourier.Channels[0].Data.Clear(); Scope.Hold=false;

Gambar

Grafik Hasil FFT 32 Point Nada Uji Re(D’) dengan Nilai Alpha (a) 0, (b) 40, (c)
Tabel Jarak Maksimal ..................................................................................
Gambar 1.1. Blok Model Perancangan
Gambar 2.1 Suling Recorder jenis Soprano tampak atas (a) tampak bawah (b)
+7

Referensi

Dokumen terkait

Antarmuka Program Pengenalan Ucapan Untuk Pengaturan Kipas DC Secara Real- Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Euclidean .... Software Program Pada

tampilan dari GUI. Gambar 3.11 Tampilan Program GUI pada Pengenalan Nada Musik peking.. Tabel 3.1 Keterangan Tampilan Program. Nama Bagian

Pada penelitian yang lain oleh Surya (2012), telah dikembangkan suatu pengenalan nada pianika menggunakan jendela Kaiser, ekstraksi ciri FFT, dan fungsi korelasi. Untuk

Secara garis besar, sistem pengenalan angka yang dibuat adalah secara real time,dan dapat dideskripsikan berdasarkan urutan berikut: citra angka dari kepingan plat

Sistem pengenalan ini menggunakan mikrofon sebagai perekam gelombang suara nada gamelan slenthem dan komputer yang berfungsi untuk memproses data hasil rekaman,

Salah satu penerapan dari pengolahan citra tersebut adalah pengenalan plat nomor kendaraan sepeda motor.. Sistem pengenalan plat nomor yang dibuat adalah pengenalan

berminat membuat aplikasi software yang digunakan untuk mengenali obyek foto alat – alat stasioneri yang diambil melalui webcam menggunakan rumus pengukuran fungsi

Proses pengenalan nada ini melalui beberapa tahap yaitu tahap frame blocking, normalisasi, windowing dalam pengenalan nada cetik ini menggunkan windowing