Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
TUGAS AKHIR
PENGENALAN NADA GITAR AKUSTIK KLASIK
MENGGUNAKAN HARMONIC PRODUCT
SPECTRUM
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
disusun oleh :
CHRIS BATARA NAINGGOLAN
NIM : 115114012
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
FINAL PROJECT
ACOUSTIC CLASSIC GUITAR TONE
RECOGNITION USING HARMONIC PRODUCT
SPECTRUM
In partial fulfilment of the requirements
for the degree of Sarjana Teknik
Electrical Engineering Study Program
CHRIS BATARA NAINGGOLAN
NIM : 115114012
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
HIDUP BENAR DAN SETIA DIHADAPAN
TUHAN
Karya ini kupersembahkan untuk……..
Tuhan Yesus Kristus, Pembimbing dan Pemberi Harapan ku,
Keluarga Tercinta,
Keluarga Keduaku dijogja GMS Miracle dan kekasih tercinta
Teman-teman yang luar biasa TE 2011,
Dan semua pihak yang telah terlibat dalam proses penulisan ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Musik adalah suara yang disusun sedemikian rupa, sehingga mengandung irama,
lagu, dan keharmonisan terutama dari suara yang dihasilkan dari alat-alat yang dapat
menghasilkan irama. Kebanyakan orang hanya bisa mendengarkan suatu nada dari alat
musik tanpa mengetahui nada apa yang sedang dimainkan, karena kurangnya ketajaman
pendengaran serta pengetahuan tentang bermusik sangat terbatas. Alat musik yang
digunakan pun juga bervariasi, salah satunya alat musik petik. Gitar akustik klasik
merupakan satu dari beberapa alat musik petik. Dalam Sistem pengenalan sangat
diperlukan untuk membantu dalam mengenali nada alat musik, khususnya untuk nada
dasar (do, re, mi, fa, sol, la ,si dan do tinggi pada tangga nada C mayor) gitar akustik
klasik.
Sistem pengenalan nada gitar akustik klasik pada tugas akhir ini menggunakan
mikrofon dan komputer untuk mengoperasikannya. Mikrofon berfungsi untuk menerima
gelombang suara nada gitar akustik klasik. Komputer berfungsi untuk memproses data
hasil rekaman, menampilkan plot perekaman, menampilkan plot Harmonic Product
Spectrum dan menampilkan hasil nada yang dikenali berupa teks. Sistem ini akan
membangkitkan spektrum frekuensi yang kemudian hasilnya akan dikalikan dengan
metode Harmonic Product Spectrum yaitu beberapa perkalian spektrum frekuensi untuk
mendapatkan hasil frekuensi yang sesungguhnya dari sebuah nada yang dimainkan yang
kemudian akan dikenali dalam bentuk teks.
Sistem pengenalan ini berjalan sesuai dengan perancangan, dan dapat
menampilkan plot perekaman, plot Harmonic Product Spectrum, dan teks hasil pengenalan
nada, serta dapat mengenali nada secara optimal hingga 100% pada saat frame blocking
256, 128, dan 64.
Kata kunci: Gitar Akustik Klasik, DFT (Discrete Fourier Transform), Look Up Table, HPS
(Harmonic Product Spectrum), Pengenalan Nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Music is organized sound such that it contains rhythm, song, and especially the
harmony of the sounds produced from the tools that can generate rhythm. Most people can
only hear a tone from the instrument without knowing the tone of what is being played,
due to lack of hearing acuity and knowledge about music is very limited. Musical
instruments used were also varied, one stringed instruments. Classic acoustic guitar is one
of several stringed instruments. In recognition system is needed to help in recognizing the
tone of a musical instrument, particularly for the basic tone (do, re, mi, fa, sol, la, si and do
high on the scale of C major) classical acoustic guitar.
Recognition system of classical acoustic guitar tone on this thesis using a
microphone and a computer to operate it. Microphone function to receive sound waves
classical acoustic guitar tones. Computers used to process data recording, featuring plot
recording, featuring the plot Harmonic Product Spectrum and display the results of the
recognized text tone. This system will generate a frequency spectrum which can then be
multiplied by the method of Harmonic Product Spectrum is some multiplication of the
frequency spectrum to get the actual frequency of a tone is played which will then be
recognized in text form.
This recognition system run in accordance plot with the design, and can display
the recording plot, Harmonic Product Spectrum, and text recognition results tones, it can
recognize the tones optimally up to 100% at the time of frame blocking 256, 128, and 64.
Keywords: Classic Acoustic Guitar, DFT (Discrete Fourier Transform), Look Up Table,
HPS (Harmonic Product Spectrum), Recognition Tone.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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. A. Bayu Primawan, S.T., M. Eng. dan Dr. A n a s t a s i a 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 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
Halaman
HALAMAN JUDUL. ............................................................................................... i
HALAMAN PERSETUJUAN.. ........................................................................... iii
HALAMAN PENGESAHAN. .............................................................................. iv
PERNYATAAN KEASLIAN KARYA............................................................. v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP............................. vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS. ..................................... vii
INTISARI. ................................................................................................................... viii
ABSTRACT. ............................................................................................................... ix
KATA PENGANTAR. ............................................................................................ x
DAFTAR ISI. ............................................................................................................. xii
DAFTAR GAMBAR ............................................................................................... xv
DAFTAR TABEL..................................................................................................... xvii
BAB I PENDAHULUAN
1.1. Latar Belakang..................................................................................................... 1
1.2. Tujuan dan Manfaat ............................................................................................. 2
1.3. Batasan Masalah .................................................................................................. 2
1.4. Metodologi Penelitian.......................................................................................... 3
BAB II DASAR TEORI
2.1. Gitar Akustik Klasik............................................................................................ 4
2.2. Mikrofon .............................................................................................................. 5
2.3. Sound Card……................................................................................................... 6
2.4. MatLab…………….. .......................................................................................... 7
2.5. Teorema Pencuplikan………………………………………………………….. 8
2.6. Preprocessing ...................................................................................................... 8
2.5.1. Normalisasi……......................................................................................... 8
2.5.2. Pemotongan Sinyal .................................................................................... 9
2.5.3. Frame Blocking ......................................................................................... 11
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.7.
2.5.4. Windowing………....................................................................................... 12
DFT (Dicerete Fourier Transform)……………………………..………………
…..….. 13
2.8. HPS (Harmonic Product Spectrum) ..................................................................... 14
BAB III RANCANGAN PENELITIAN
3.1. Sistem Pengenalan Nada Gitar Akustik............................................................... 16
3.1.1. Gitar Akustik Klasik................................................................................... 16
3.1.2. Mikrofon .................................................................................................... 16
3.1.3. Sound Card……………………………………………………………… 16
3.1.4. Proses Perekaman ...................................................................................... 17
3.1.5. Proses Pengenalan Nada ............................................................................ 17
3.1.6. 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……........................................................................................ 22
3.5.3. Pemotongan Awal..................................................................................... 23
3.5.4. Frame Blocking ........................................................................................ 24
3.5.5. Windowing……......................................................................................... 24
3.5.6. DFT dan Spektrum Frekuensi..................................................................... 25
3.5.7. Harmonic Product Spectrum..................................................................... 26
3.5.8. Penentuan Frekuensi.................................................................................. 28
3.5.9. Penentuan Teks Nada............................................................................... 27
3.5.10.Keluaran Teks .......................................................................................... 28
BAB IV HASIL DAN PEMBAHASAN
4.1. Pengujian Program Pengenalan Nada Gitar Akustik Klasik Dengan Menggunakan
Harmonic Product Spectrum…......................................................................... 29
4.1.1. Pengenalan Nada .................................................................................... 31
a. Popup Menu ....................................................................................... 32
b. Push Button, Axes, dan Static Text .......................................................... 32
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2. Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat Pengenalan Nada
Gitar Akustik Klasik............................................................................................. 37
4.2.1. Pengujian Parameter Pengenalan Nada .................................................... 37
4.2.2. Pengujian Parameter Pengenalan Nada Tanpa Harmonic Product Spectrum
................................................................................................................... 42
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ...................................................................................................... 42
5.2. Saran ................................................................................................................ 42
DAFTAR PUSTAKA .............................................................................................. 43
LAMPIRAN
LAMPIRAN 1 PERCOBAAN UNTUK MENENTUKAN RANGE FREKUENSI PADA
LOOK UP TABLE UNTUK MASING-MASING NADA GITAR
AKUSTIK KLASIK………………………………………………...... L1
LAMPIRAN 2 LISTING PROGRAM TIDAK REAL-TIME .................................. L5
LAMPIRAN 3 LISTING PROGRAM PENGAMBILAN NADA UJI ........................ L8
LAMPIRAN 4 LISTING PROGRAM PENGENALAN NADA GITAR AKUSTIK
KLASIK………..……………………………………......................... L9
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Halaman
Gambar 2.1. Gitar Akustik Klasik.............................................................................. 4
Gambar 2.2. Mikrofon Intopic Jazz-013.................................................................... 6
Gambar 2.3. Sound Card………………………………………….……................... 7
Gambar 2.4. Sinyal Sebelum Normalisasi… ............................................................. 9
Gambar 2.5. Hasil Setelah Normalisasi...................................................................... 9
Gambar 2.6. Sinyal Sebelum Pemotongan................................................................. 10
Gambar 2.7. Hasil Pemotongan Bagian Silence........................................................... 10
Gambar 2.8. Hasil Pemotongan Bagian Transisi….................................................... 11
Gambar 2.9. Bagian Sinyal yang Akan Diambil untuk Frame Blocking................... 11
Gambar 2.10. Hasil Frame Blocking dari Gambar 2.9…............................................ 12
Gambar 2.11. Hasil Windowing dari Gambar 2.10……………………… .................. 13
Gambar 2.12. Spektrum Frekuensi dari Gambar 2.11.... .............................................. 14
Gambar 2.13. Hasil Harmonic Product Spectrum dari Gambar 2.12.......................... 15
Gambar 3.1. Diagram Blok Sistem Pengenalan Nada Gitar Akustik Klasik............. 16
Gambar 3.2. Diagram Blok Proses Pengenalan Nada Gitar Akustik Klasik.............. 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 Gitar Akustik Klasik............... 21
Gambar 3.7. Diagram Alir Sub Rutin Rekam……... ................................................. 22
Gambar 3.8. Diagram Alir Normalisasi……………………..................................... 22
Gambar 3.9. Diagram Alir Pemotongan Awal........................................................... 23
Gambar 3.10. Diagram Alir Frame Blocking…………………………..……………
...........................................................
24
Gambar 3.11. Diagram Alir Windowing................................................................................ 25
Gambar 3.12. Diagram Alir DFT dan Spektrum Frekuensi.......................................... 25
Gambar 3.13. Diagram Alir Harmonic Product Spectrum........................................... 26
Gambar 3.14. Diagram Alir Penentuan Frekuensi....................................................... 26
Gambar 3.15. Diagram Alir Proses Penentuan Teks Nada ......................................... 27
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.1. Tampilan Utama…………………….................................................... 29
Gambar 4.2. Tampilan Program Pengenalan Nada Gitar Akustik............................ 30
Gambar 4.3. Tampilan dari program GUI Matlab yang dioperasikan dengan input nada
1(La), dengan nilai frame blocking adalah 512………….…………… 31
Gambar 4.4. Program Variasi Nilai Frame Blocking…………………………….… 32
Gambar 4.5. Program Proses Perekaman Suara……….…………………………… 33
Gambar 4.6 Program Untuk Menampilkan Harmonic Product Spectrum………… 34
Gambar 4.7. Program Untuk Menampilkan Teks Keluaran Nada…………………. 36
Gambar 4.8 Program Untuk Mengakhiri Pengenalan Nada………………………. 37
Gambar 4.9. Grafik Pengaruh Panjang Frame Blocking terhadap Tingkat Pengenalan
Nada…………………………………………………………………... 41
Gambar 4.10. Grafik Pengaruh Panjang Frame Blocking terhadap Tingkat Pengenalan
Nada Tanpa Harmonic Product Spectrum……………………………….. 46
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Halaman
Tabel 2.1. Nilai Frekuensi Gitar…............................................................................... 5
Tabel 2.2. Spesifikasi Mikrofon Intopic Jazz-013....................................................... 6
Tabel 3.1. Keterangan Tampilan Utama Sistem…………… ...................................... 20
Tabel 3.2. Frekuensi Look Up Table untuk penentuan nada…………........................ 28
Tabel 4.1. Pengujian nada dengan nilai frame blocking 1024……………………..... 37
Tabel 4.2. Pengujian nada dengan nilai frame blocking 512 …………....................... 38
Tabel 4.3. Pengujian nada dengan nilai frame blocking 256………...…………........ 38
Tabel 4.4. Pengujian nada dengan nilai frame blocking 128………........................... 38
Tabel 4.5. Pengujian nada dengan nilai frame blocking 64…………...…………...... 39
Tabel 4.6. Pengaruh Panjang Frame Blocking terhadap Tingkat Pengenalan……… 40
Tabel 4.7. Pengujian nada dengan nilai frame blocking 1024.................................... 42
Tabel 4.8. Pengujian nada dengan nilai frame blocking 512……….......................... 42
Tabel 4.9. Pengujian nada dengan nilai frame blocking 256……….......................... 43
Tabel 4.10. Pengujian nada dengan nilai frame blocking 128…………...................... 43
Tabel 4.11. Pengujian nada dengan nilai frame blocking 64………...……………..... 44
Tabel 4.12. Pengaruh Panjang Frame Blocking terhadap Tingkat Pengenalan Tanpa
Harmonic Product Spectrum…………………………………………..……… 45
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Musik merupakan ekspresi yang timbul dari dalam jiwa manusia yang
diwujudkan dalam bentuk karya seni. Musik terbentuk dari kumpulan nada-nada yang
tersusun secara harmonis sehingga menghasilkan “sesuatu yang indah” menurut indera
pendengaran yang dimiliki manusia. Baik musik tradisional maupun musik pop, rock
dan jazz yang masing- masing memberikan keindahan dalam bermusik. Musik juga bisa
menjadi efektif di bidang akademis dengan membantu pembentukan pola belajar,
mengatasi kebosanan dan menangkal kebisingan eksternal yang mengganggu [1].
Alat musik yang digunakan pun juga bervariasi, salah satunya alat musik petik
yaitu gitar. Alat musik gitar terdiri dari 2 jenis, yaitu gitar akustik dan gitar elektrik. Pada
bahasan kali ini, yang akan dibahas penulis adalah gitar akustik. Gitar akustik memiliki
bagian badan yang berlubang (hollow body) dan dapat menghasilkan suara yang relatif
cukup keras tanpa penguatan elektrik. Bunyi dari gitar akustik dihasilkan dari getaran
senar yang mengalir antara tulang leher (nut) dengan jembatan (brigde) yang kemudian
diperkuat oleh bagian badan gitar yang bertindak sebagai lubang resonansi [2]. Dan gitar
akustik adalah salah satu alat musik yang banyak diminati untuk dipelajari, terlebih
khususnya oleh anak muda masa kini.
Berkaitan dengan hal tersebut, dari beberapa penelitian sebelumnya telah
dilakukan untuk membuat sistem pengenalan nada pada alat musik, seperti alat musik
belira yang menggunakan proses look up table, Discrete Fourier Transform untuk
mengenali nada alat musik belira yang dari penelitian tersebut menghasilkan sebuah
aplikasi untuk mengenali nada belira yang dilihat dari hasil frekuensi tengah yang
didapatkan dari proses pengambilan data dengan menggunakan alat musik belira tersebut
[3].
Berdasarkan penelitian yang telah dilakukan sebelumnya, penulis ingin membuat
suatu sistem pengenalan nada gitar akustik. Metode yang digunakan juga berbeda yaitu
dengan menggunakan metode Harmonic Product Spectrum (HPS), Discrete Fourier
Transform (DFT) dan spektrum frekuensi, menentukan frekuensi dan dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
menggunakan look up table untuk proses akhir penentuan nada gitar akustik klasik yang
dimainkan.
Dalam sistem pengenalan nada ini, nada uji do, re, mi, fa, sol, la, si, do’ 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,
pemotongan sinyal, frame blocking, dan windowing. Kemudian menghitung dengan
DFT untuk mendapatkan spektrum frekuensi yang kemudian dilakukan proses
pengkalian hasil DFT dengan metode HPS untuk mendapatkan hasil sinyal yang bersih
dari harmonisa. Nilai yang dilihat dari hasil plot HPS digunakan sebagai frekuensi
tengah. Untuk menentukan range frekuensi pada look up table, dilakukan pengambilan
nada sebanyak lima kali untuk 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 Penelitian
Tujuan penelitian ini adalah menghasilkan aplikasi pada pengenalan nada
gitar akustik. Manfaat dari penelitian ini adalah:
a. Sebagai alat bantu pendukung pembelajaran musik gitar akustik, khususnya untuk
mengenali nada suara (do, re, mi, fa, sol, la, si, do’).
b. Sebagai alat bantu bagi para pemain musik pemula untuk bermain nada melodi
pada gitar akustik.
1.3 Batasan Masalah
Batasan masalah dalam penelitian ini adalah:
a. Pengenalan nada bersifat real time.
b. Nada gitar akustik yang dikenali adalah nada do, re, mi, fa, sol, la, si, do’ , dengan
menggunakan acuan akor C mayor dengan cakupan fret 1 – 3 pada neck gitar.
c. Jarak antara gitar akustik dengan mikrofon adalah 15 cm dan mikrofon berada
tepat menghadap lubang resonansi gitar akustik.
d. Cara memetik dawai gitar dengan menggunakan jari jempol, dipetik tepat diatas
lubang resonansi gitar akustik.
e. Menggunakan software MatLab dalam pembuatan program pengenalan nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
f. Menggunakan metode Harmonic Product Spectrum (HPS), Hamming window,
Discrete Fourier Transform (DFT), dan look up table untuk penentuan
keluarannya.
1.4 Metodologi Penelitian
Metodologi yang digunakan pada tugas akhir ini adalah:
a. Pengumpulan bahan-bahan literatur berupa buku, jurnal, dan artikel.
b. Perancangan subsistem software
Tahap perancangan subsistem perangkat lunak bertujuan untuk mencari
bentuk model yang optimal dari sistem yang akan dibuat dengan
mempertimbangkan berbagai faktor–faktor permasalahan dan kebutuhan yang
telah ditentukan. Penulis menggunakan software matlab untuk pembuatan
program pengenalan nada gitar akustik. Program akan bekerja jika user
memberikan perintah melalui komputer, program akan mengolah perintah yang
telah diterima dan memulai proses recording. Setelah proses recording, komputer
akan mengolah nada kemudian memberikan keluaran teks nada gitar akustik.
c. Analisa dan Kesimpulan
Analisa data dilakukan dengan menyelidiki pengaruh panjang DFT, HPS dan
frame blocking terhadap tingkat pengenalan nada gitar akustik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB II
DASAR TEORI
2.1. Gitar Akustik Klasik
Gitar adalah sebuah alat musik berdawai yang dimainkan dengan cara dipetik,
umumnya menggunakan jari maupun plektrum. Gitar terbentuk atas sebuah bagian tubuh
pokok dengan bagian leher yang padat sebagai tempat senar yang umumnya berjumlah
enam didempetkan. Gitar secara tradisional dibentuk dari berbagai jenis kayu dengan senar
yang terbuat dari nilon maupun baja. Beberapa gitar modern dibuat dari material
polikarbonat. Secara umum, gitar terbagi atas 2 jenis: akustik dan elektrik.
Gitar akustik memiliki bagian badan yang berlubang (hollow body) dan dapat
menghasilkan suara yang relatif cukup keras tanpa penguatan elektrik. Bunyi dari gitar
akustik dihasilkan dari getaran senar yang mengalir antara tulang leher (nut) dengan
jembatan (brigde) yang kemudian diperkuat oleh bagian badan gitar yang bertindak
sebagai lubang resonansi.
Terdapat beberapa sub kategori dari pengelompokan gitar akustik, diantaranya:
a. Gitar senar-nilon, termasuk gitar klasik dan gitar flamenco
b. Gitar senar-baja, termasuk gitar puncak-datar dan gitar folk
c. Gitar archtop
d. Gitar duabelas-senar
Dalam hal ini penulis menggunakan gitar akustik klasik, gitar akustik klasik adalah
jenis gitar dimana suara yang dihasilkan berasal dari getaran senar gitar yang dialirkan
melalui sadel dan jembatan tempat pengikat senar ke dalam ruang suara. Suara di dalam
ruang suara ini akan beresonansi terhadap kayu badan gitar. Jenis dan kualitas kayu serta
jenis senar yang digunakan akan memengaruhi suara yang dihasilkan oleh gitar akustik.
Gambar 2.1 menunjukan gitar akustik klasik.
Gambar 2.1. Gitar Akustik Klasik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
Setiap gitar rata-rata memiliki setelan nada yang berbeda. Hal ini bergantung
kepada penggunaan gitar serta keinginan oleh pengguna gitar itu.
Contoh nilai frekuensi gitar akustik ditunjukan pada tabel 2.1 :
Tabel 2.1. Nilai Frekuensi Gitar
Nada di atas berurutan mulai dari senar pertama hingga senar keenam. Senar
pertama memiliki frekuensi paling tinggi, lalu hingga senar keenam yang memiliki
frekuensi paling rendah. Nada tersebut dapat dihasilkan dengan melakukan penyetelan
pada gitar [2].
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 [4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Pada perancangan ini mikrofon digunakan sebagai alat perekaman suara untuk
mendapatkan nada terekam gitar akustik, agar kemudian dapat diproses untuk melalui
tahap selanjutnya sehingga mendapatkan keluaran teks yang sesuai dengan nada yang
dimainkan. Mikrofon yang digunakan adalah tipe Microphone Intopic Jazz-013 seperti
yang ditunjukan Gambar 2.2 dan spesifikasi mikrofon yang ditunjukan pada Tabel 2.2.
Dalam proses perekaman, mikrofon dihubungkan langsung dengan kartu suara yang ada di
laptop.
Gambar 2.2. Mikrofon Intopic Jazz-013
Tabel 2.2. Spesifikasi Mikrofon Intopic Jazz-013
Frequensi Response 30 – 16000 Hz
Sensitivity -53±3dB
Voltage 3V
Impedance 2.2 Ohms
Turning Direction 360 Degrees
Gold Pin for High Quality Sound Effect
2.3. Sound Card
Sound card merupakan sebuah periperal pada komputer sebagai I/O suara yang
menyediakan kemampuan untuk menghasilkan suara yang dapat didengar oleh pengguna
baik melalui speaker atau headphone [5] . 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
c. Analog to Digital Converter (ADC) sebagai masukan suara.
d. Read Only Memory (ROM) atau Flash sebagai penyimpanan data.
e. Musical Instrument Digital Interface (MIDI) untuk menyambungkan
beberapa peralatan musik eksternal.
f. Jack untuk menyambungkan kartu suara dengan speaker pada jalur line out
atau microphone pada jalur line in.
Beberapa kartu suara sudah terpasang secara pabrikan (on board) pada
motherboard komputer, tetapi bisa juga ditambahkan untuk keperluan pada slot PCI
motherboard.
Gambar 2.3. Sound Card
2.4. MatLab
MATLAB merupakan bahasa pemrograman yang hadir dengan fungsi dan
karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu
seperti Delphi, Basic maupun C++ [6]. MATLAB merupakan bahasa pemrograman level
tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman
seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan
pemodelan, dan grafik-grafik perhitungan. MATLAB adalah software buatan
MathWork.Inc., yang sangat bermanfaat untuk menyelesaikan berbagai masalah komputasi
numerik.
Beberapa bagian penting yang terdapat pada antar muka MATLAB adalah sebagai
berikut:
a. Command Window atau jendela perintah adalah jendela yang dipakai untuk
memberikan perintah secara manual.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
b. Workspace berisi daftar variabel yang diciptakan oleh pemakai dan masih ada
dalam memori.
c. Command History mencantumkan perintah-perintah yang pernah diberikan oleh
pemakai.
d. Current Directory menyatakan direktori kerja.
2.5. 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.5 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[7]. Secara
matematis dapat dituliskan:
(2.1)
dengan:
fs = frekuensi sampling rate
fm = frekuensi tertinggi sinyal suara analog
2.6. 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.6.1 Normalisasi
Normalisasi merupakan suatu cara untuk mengatasi jarak antara sumber suara
dengan mikrofon. Pada perekaman atau pengambilan suara ini perlu adanya normalisasi
supaya amplitudo nada saat dimainkan dapat menjadi maksimal [8]. 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:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
)) (2.2)
Keterangan:
= hasil data sinyal normalisasi
= data input
Gambar 2.4 dan gambar 2.5 meperlihatkan gambar sinyal sebelum dan setelah
melalui proses normalisasi.
Gambar 2.4. Sinyal Sebelum Normalisasi
Gambar 2.5. Hasil Setelah Normalisasi
2.6.2 Pemotongan Sinyal
Proses pemotongan sinyal bertujuan untuk memotong beberapa bagian sinyal.
Proses pemotongan dilakukan setelah proses normalisasi awal. Dalam proses pemotongan,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
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 dari gitar akustik. 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 pemotongan yang
kedua yaitu memotong bagian transisi sinyal. Berikut gambar untuk hasil pemotongan :
Gambar 2.6. Sinyal Sebelum Pemotongan
Gambar 2.7. Hasil Pemotongan Bagian Silence
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Gambar 2.8. Hasil Pemotongan Bagian Transisi
2.6.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.10 memperlihatkan contoh
hasil frame blocking.
Gambar 2.9. Bagian Sinyal yang Akan Diambil untuk Frame Blocking
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Gambar 2.10. Hasil Frame Blocking dari Gambar 2.9
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.
2.6.4 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
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[9]:
(2.3)
Keterangan : w(n) = windowing
N = jumlah data dari sinyal
n = waktu diskrit ke-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Gambar 2.11. Hasil Windowing dari Gambar 2.10
2.7. 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.
Discrete Fourier Transform (DFT) didefinisikan sebagai:
(2.4)
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[9].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Descrete 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 nada gitar akustik maka
kita dapat melihat sebenarnya nada dari gitar akustik tersebut mempunyai magnitude besar
pada frekuensi berapa saja yang menunjukkan dominan frekuensi dari suara nada tersebut.
Gambar 2.12 menunjukan hasil spektrum frekuensi.
Gambar 2.12. Spektrum Frekuensi dari Gambar 2.11
2.8. HPS (Harmonic Product Spectrum)
HPS (Harmonic Product Spectrum) merupakan suatu metode yang berfungsi untuk
melihat frekuensi dasar yang terdapat pada sinyal input. Secara matematis HPS dapat
dirumuskan pada persamaan:
(2.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Dengan, Y(ω) adalah hasil perkalian spektrum sinyal, r adalah jumlah downsampling
yang digunakan, | X(ωr) | adalah spektrum sinyal. Metode tersebut dilakukan setelah
sinyal input telah diubah dalam domain frekuensi menggunakan analisis spektrum dari
nilai frekuensi[10].
Suatu nada memiliki tingkatan nada atau biasa disebut harmonik. Harmonik
merupakan harmonisasi dari nada dasar atau harmonik pertama, sehingga setiap kelipatan
dari nada dasar pertama merupakan harmonisasi nada dari nada dasar. Yang
membedakan dari nada dasar dengan nada harmonik terdapat pada besar nilai frekuensi.
Oleh karena itu, metode ini digunakan agar dapat diketahui frekuensi dasar dari nada
tersebut. Gambar 2.13 menunjukan hasil proses Harmonic Product Spectrum dari
perkalian spektrum frekuensi yang didapatkan.
Gambar 2.13. Hasil Harmonic Product Spectrum dari Gambar 2.12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
BAB III
RANCANGAN PENELITIAN
3.1. Sistem Pengenalan Nada Gitar Akustik Klasik
Blok diagram sistem pengenalan nada alat gitar akustik diperlihatkan pada gambar 3.1.
Gambar 3.1. Diagram Blok Sistem Pengenalan Nada Gitar Akustik Klasik
3.1.1 Gitar Akustik Klasik
Gitar Akustik digunakan sebagai objek penelitian oleh penulis, gitar akustik klasik
memiliki 8 nada yang akan dikenali yaitu do, re, mi, fa, sol, la, si, do’.
3.1.2 Mikrofon
Mikrofon berfungsi untuk menangkap suara dari gitar akustik klasik, kemudian
menyalurkan pada laptop kemudian diproses untuk pengenalan nada.
3.1.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 frekuensi sampling dan channel. Pengaturan
tersebut dilakukan pada proses perekaman oleh program yang akan dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
3.1.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. 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.
3.1.5 Proses Pengenalan Nada
Proses ini untuk mengetahui nada apa yang direkam. Gambar 3.2 berikut merupakan
diagram proses pengenalan nada :
Gambar 3.2. Diagram Blok Proses Pengenalan Nada Gitar Akustik Klasik
1. Masukan
Masukannya adalah hasil dari sampling nada gitar akustik 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
Proses normalisasi bertujuan untuk menyetarakan amplitudo nada masukan menjadi
maksimum, sehingga efek dari kuat atau lemahnya suara yang dikeluarkan alat musik
tidak terlalu memengaruhi proses pengenalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
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.
d. 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 gitar akustik klasik ini nilai DFT sama dengan nilai
frame blocking. Proses ini untuk membangkitkan spektrum frekuensi. Pada tahap ini
frekuensi nada yang dimainkan belum tentu dapat diketahui sehingga perlu dilakukan
proses HPS.
4. Harmonic Product Spectrum (HPS)
Proses ini dilakukan setelah nilai dari spektrum frekuensi sudah diketahui. Proses HPS
ini digunakan untuk mengalikan nilai spektrum frekuensi yang didapatkan, hal ini
bertujuan untuk menghilangkan sinyal harmonik pada frekuensi.
5. Penentuan Frekuensi
Proses ini untuk menentukan frekuensi dari nada gitar akustik klasik yang dimainkan.
Pada dasarnya nilai frekuensi dapat diketahui dengan lebih presisi setelah proses HPS.
6. Penentuan Nada
Setelah mengetahui nilai frekuensi yang dihasilkan, maka dapat diketahui nada
keluarannya. Penentuan nada ini didalam prosesnya menggunakan look up table.
7. Keluaran (Teks)
Dari penentuan nada, maka dapat diketahui nada apa yang dimainkan. Keluarannya
adalah berupa teks nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
3.1.6 Keluaran : Teks
Keluaran akhir untuk pengenalan nada ini berupa teks nada yang dikenali dan teks “Nada
Error” jika nada tidak dikenali.
3.2. Look Up Table
Dalam perancangan pengenalan nada gitar akustik klasik 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 5 sampel untuk masing-masing nada yang akan dikenali (do, re, mi, fa, sol, la,
si, do’) 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, pemotongan sinyal, frame blocking dan windowing.
Setelah itu, menghitung dengan DFT dan penentuan spektrum setelah itu dilakukan proses
HPS sehingga didapatkan plot Harmonic Product Spectrum. Prosesnya ditunjukkan pada
gambar 3.3.
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
program pengenalan suara nada gitar akustik klasik secara offline atau belum real-time.
Selain itu, nada uji juga digunakan untuk mencari frekuensi tengah look up table, nada uji
yang akan diambil sebanyak 5 nada. Berikut gambar 3.4 diagram blok proses pengambilan
nada uji:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 3.4. Diagram Blok Proses Pengambilan Nada Uji
3.4. Perancangan Tampilan Program GUI MATLAB
Gambar 3.5 menunjukan tampilan proses program GUI Matlab dan tabel 3.1
memperlihatkan keterangan tampilan utama sistem.
Gambar 3.5. Tampilan Proses pada GUI MATLAB
Tabel 3.1. Keterangan Tampilan Utama Sistem
Nama Keterangan
Frame Blocking Berfungsi untuk memilih nilai frame
yang digunakan pada proses pengenalan
nada, pilihannya berupa 64, 128, 256,
512 dan 1024.
Record Berfungsi untuk memulai proses
perekaman
End Berfungsi untuk mengakhiri program
Frame Blocking
End
Plot Perekaman Plot Harmonic Product Spectrum
Tampilan Teks Nada
Record
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
3.5. Perancangan Alur Program
Diagram alir sistem pengenalan nada gitar akustik klasik ditujukan pada gambar
3.6.
Gambar 3.6. Diagram Alir Sistem Pengenalan Nada Gitar Akustik Klasik
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.
Plot Perekaman Berfungsi untuk menampilkan grafik
hasil rekaman nada
Plot Harmonic Product
Spectrum
Berfungsi untuk menampilkan grafik
spektrum frekuensi HPS
Tampilan Teks Nada Berfungsi untuk menampilkan teks nada
gitar akustik klasik sesuai nada yang
dimainkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
3.5.1 Rekam
Diagram alir sub rutin rekam ditujukan pada gambar 3.7.
Gambar 3.7. Diagram Alir Sub Rutin Rekam
Pada proses perekaman, proses pertama akan melewati sampling yang tujuannya
untuk merekam nada gitar akustik klasik 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.
3.5.2 Normalisasi
Diagram alir normalisasi ditujukan pada gambar 3.8.
Gambar 3.8. Diagram Alir Normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Tujuan dari proses normalisasi 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 maksimal dari data itu sendiri sehingga didapatkan sinyal yang ternormalisasi untuk
nada terekam.
3.5.3 Pemotongan Awal
Diagram alir pemotongan awal ditujukan pada gambar 3.9.
Gambar 3.9. Diagram Alir Pemotongan Awal
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 gitar akustik klasik. Proses
pemotongan pertama pada bagian silence, pada proses ini akan memotong sinyal suara
yang terekam sebelum sinyal suara nada gitar akustik klasik. 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 agar
didapatkan data sinyal frekuensi yang ingin digunakan. Setelah melalui 2 (dua) kali proses
pemotongan, maka didapatkan keluaran untuk hasil pemotongan awal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
3.5.4 Frame Blocking
Diagram alir frame blocking ditujukan pada gambar 3.10.
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 [3]. 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.
3.5.5 Windowing
Windowing berfungsi untuk mengurangi efek diskontinuitas saat sinyal
ditransformasikan ke domain frekuensi. Proses ini menggunakan hamming window.
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. Diagram alir Windowing ditujukan pada gambar 3.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Gambar 3.11. Diagram Alir Windowing
3.5.6 DFT dan Spektrum Frekuensi
Diagram alir DFT dan spektrum frekuensi ditujukan pada gambar 3.12.
Gambar 3.12. 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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
3.5.7 Harmonic Product Spectrum
Diagram alir Harmonic Product Spectrum ditujukan pada gambar 3.13.
Gambar 3.13. Diagram Alir Harmonic Product Spectrum
Proses selanjutnya setelah mencari spektrum frekuensi, dilakukan proses Harmonic
Product Spectrum (HPS) untuk mendapatkan hasil sinyal yang bebas dari harmonik dan
sinyal yang sebenarnya, yaitu dengan cara mengalikan nilai hasil spektrum frekuensi yang
ada, lalu dilakukan proses down sampling sebanyak dua kali hingga didapatkan hasil sinyal
yang bebas dari harmonik dan frekuensi sinyal sebenarnya dari nada gitar, yang kemudian
hasil dari HPS ini diteruskan kedalam proses penentuan frekuensi.
3.5.8 Penentuan Frekuensi
Diagram alir penentuan frekuensi ditujukan pada gambar 3.14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Gambar 3.14. Diagram Alir Penentuan Frekuensi
Dalam proses penentuan frekuensi ini adalah dengan melihat hasil dari perkalian
spektrum frekuensi menggunakan metode HPS, sehinggga hasil dari perkalian frekuensi
yang didapatkan kemudian dijadikan hasil untuk menentukan masuk range nada yang
mana dari hasil frekuensi yang didapatkan dalam proses penentuan frekuensi ini. Dari
frekuensi tersebut, dapat ditentukan hasil keluaran teks untuk nada gitar akustik klasik.
3.5.9 Penentuan Teks Nada
Diagram alir penentuan teks nada ditujukan pada gambar 3.15.
Gambar 3.15. Diagram Alir Proses Penentuan Teks Nada
Setelah mengetahui nilai frekuensinya, maka dapat diketahui hasil keluaran teks
dari nada gitar akustik klasik yang dimainkan tersebut. Penentuan hasilnya dengan
menggunakan look up table terlihat dari proses pada Gambar (3.3). Dari frekuensi tengah
yang didapatkan, maka dapat ditentukan range frekuensi look up table untuk masing-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
masing nada. Pada gambar diagram alir proses penentuan nada diatas menyertakan
keterangan bb sebagai batas bawah dan bt sebagai batas atas.
Demikian ditujukan pada tabel 3.2 yang merupakan nilai frekuensi gitar akustik
yang mengacu pada Tabel 2.1.
Tabel 3.2 Frekuensi Look Up Table untuk penentuan nada
No. Nada Gitar
Akustik Fret Senar Frekuensi
1. Do 3 5 Do_bb ≤ 130,81 ≤ Do_bt
2. Re 0 4 Re_bb ≤ 146,83 ≤ Re_bt
3. Mi 2 4 Mi_bb ≤ 164,81 ≤ Mi_bt
4. Fa 3 4 Fa_bb ≤ 174,61 ≤ Fa_bt
5. Sol 0 3 Sol_bb ≤ 196,00 ≤ Sol_bt
6. La 2 3 La_bb ≤ 220,00 ≤ La_bt
7. Si 0 2 Si_bb ≤ 246,94 ≤ Si_bt
8. Dot (do tinggi) 1 2 Dot_bb ≤ 261,63 ≤ Dot_bt
3.5.10 Keluaran (Teks)
Setelah proses penentuan teks nada selesai maka didapatkan keluarannya yaitu teks
nada gitar akustik klasik sesuai nada yang dimainkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
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 Gitar Akustik Klasik dengan
Menggunakan Harmonic Product Spectrum
Pengujian program dilakukan untuk mengetahui cara kerjanya apakah sudah sesuai
dengan perancangan. Pembuatan program dengan software MATLAB 7.14.0.739
(R2012a). Pengujian program menggunakan komputer dengan spesifikasi sebagai
berikut :
CPU : Intel® CoreTM
i3-4030U CPU @(1.90GHz, 1.90GHz)
RAM : 2 GB
Berikut langkah-langkah untuk menjalankan program pengenalan nada gitar akustik klasik:
1. Tampilan utama yang terlihat setelah melakukan langkah 1 seperti pada gambar
4.1.
Gambar 4.1. Tampilan Utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
2. Sesuaikan Current Directory dengan tempat penyimpanan program yang telah
dibuat agar dapat dilakukan langkah selanjutnya
3. Kemudian ketik perintah gitarku dalam command window dan akan muncul seperti
Gambar 4.2.
Gambar 4.2. Tampilan Program Pengenalan Nada Gitar Akustik
4. User memilih panjang nilai frame blocking yang akan digunakan dalam proses
pengenalan nada.
5. Setelah memilih nilai frame blocking, program pengenalan dapat dijalankan dengan
menekan tombol “Record”.
6. Selanjutnya hasil pengenalan nada akan muncul dalam kotak Static Text. User
dapat melihat plot hasil rekaman nada pada kotak Axes 1, plot hasil Harmonic
Product Spectrum pada kotak Axes 2, dan teks hasil pengenalan nada pada kotak
static.
7. Tombol “End” untuk keluar dari tampilan utama program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
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 “Record”. Pada saat menekan tombol “Record”
maka program akan secara otomatis merekam suara nada. Setelah merekam, maka akan
ditampilkan keluaran berupa plot perekaman suara, plot Harmonic Product Spectrum, dan
hasil keluaran berupa teks sesuai nada yang dikenali. Untuk mengakhiri pengenalan, user
dapat menekan tombol ”End”. Berikut merupakan contoh tampilan GUI Matlab yang
dioperasikan dengan input 1 (La).
Gambar 4.3 Tampilan dari program GUI Matlab yang dioperasikan dengan input nada
1(La), dengan nilai frame blocking adalah 512
Pada tampilan program GUI Matlab terdapat 1 pop up menu, 2 push button, 2 axes
dan 1 static text.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
a. Pop Up Menu
Pada program ini, pop up menu digunakan untuk variasi nilai frame blocking yaitu
1024, 512, 256, 128, dan 64. Listing program untuk variasi nilai frame blocking adalah
seperti pada Gambar 4.4.
Gambar 4.4 Program Variasi Nilai Frame Blocking
Nilai-nilai variasi frame blocking diinisialisasikan dengan nama frame kemudian
diproses dengan perintah handles.
b. Push Button, Axes, dan Static Text
Dalam program ini menggunakan 2 Push Button, masing-masing untuk memulai dan
mengakhiri program pengenalan nada yaitu tombol “Record” dan “End”. Saat user
menekan Push Button 4 atau tombol “Record” 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 5 atau tombol “End” maka proses
pengenalan nada berhenti dan menutup program. Berikut listing program untuk proses
perekaman suara dan untuk menampilkan plot sinyal perekaman seperti pada Gambar 4.5.
indeks=get(handles.popupmenu1,'Value');
switch indeks
case 1
frameb=1024;
case 2
frameb=512;
case 3
frameb=256;
case 4
frameb=128;
case 5
frameb=64;
end
handles.frame=frameb;
guidata(hObject,handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Gambar 4.5 Program Proses Perekaman Suara
Pada program perekaman suara, panjang sampel yang digunakan adalah 2 detik,
karena proses perekaman membutuhkan waktu untuk mendapatkan sinyal data dan
diberikan 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 harmonic product spectrum, seperti pada gambar
4.6 berikut :
sample_length=2; % waktu dalam second
fs=10000; % frek sampling
sample_time=(sample_length*fs);
xin=wavrecord(sample_time, fs);
wavwrite(xin, fs, 's.wav');
axes(handles.axes1)
plot(xin);
xlabel('Data Tercuplik')
ylabel('Amplitudo')
bpt=0.25; % batas potong transisi
hfs=fs/2;
bps=0.3; % batas potong silence
fb=handles.frame;
% Normalisasi
y1=xin/max(abs(xin));
% Potong silence
y2=y1;
b1=find(abs(y2)>bps);
y2(1:b1(1))=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Gambar 4.6 Program Untuk Menampilkan Harmonic Product Spectrum
Dalam program untuk menampilkan plot harmonic product spectrum, proses
pertama yang dilakukan adalah normalisasi 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 gitar akustik dan untuk mengurangi cacat sinyal akibat derau
% Potong transisi
y3=y2;
btrans=floor(bpt*length(y3));
y3(1:btrans)=[];
% Frame blocking
y4=y3(1:fb);
% Normalisasi
y5=y4/max(abs(y1));
% Windowing
h=hamming(fb);
y6=y5.*h;
% DFT
y7=abs(fft(y6,fs));
y7=y7(1:hfs);
% HPS
y8=y7(1:2:hfs); % Downsampling
y8(hfs)=0; % Zero padding
y9=y7.*y8; % Perkalian elemen
axes(handles.axes2)
bar(y9);
xlabel('Frekuensi')
ylabel('|Amplitudo|')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
ruangan yang ikut terekam. Pada pemotongan sinyal silence, b1 diinisialisasikan sebagai
data yang tingginya lebih besar dari 0,3 dan lebih kecil dari (-0,3). Data yang tidak
memenuhi syarat b1 merupakan sinyal silence sehingga sinyal tersebut dihilangkan. Pada
pemotongan sinyal transisi, bpt diinisialisasikan sebagai ¼ bagian sinyal yang terdapat di
bagian awal. Sinyal tersebut dihilangkan untuk mendapatkan sinyal yang benar-benar
sinyal suara nada gitar akustik. 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. Selanjutnya akan
melalui proses windowing untuk menghilangkan diskontinuitas yang diakibatkan oleh
proses frame blocking. Proses windowing ini menggunakan Hamming Window. Dalam
prosesnya, hasil normalisasi 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. Kemudian setelah itu dilakukan perkalian elemen frekuensi dengan menggunakan
Harmonic Product Spectrum sehingga dapat diketahui pasti letak frekuensi sebenarnya dari
nada gitar akustik.
Listing program untuk menampilkan hasil teks nada keluaran ditampilkan pada gambar 4.7
berikut:
% Frekuensi keluaran
fout=find(y9==max(y9))-1; %mencari frekuensi dengan
amplitudo tertinggi
% Penentuan keluaran text
if fout>=126 && fout<=136
nadaout='do';
elseif fout>=141 && fout<=151
nadaout='re';
elseif fout>=160 && fout<=170
nadaout='mi';
elseif fout>=170 && fout<=180
nadaout='fa';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Gambar 4.7 Program Untuk Menampilkan Teks keluaran Nada
Dari hasil perkalian spektrum dengan menggunakan Harmonic Product Spectrum
tersebut, kemudian dicari nilai frekuensi keluarannya dengan melihat amplitude tertinggi
nada tersebut. Hasil dari frekuensi keluaran tersebut didapat dari hasil Look Up Table [L3].
Jika nada tersebut tidak termasuk nada gitar akustik maka keluarannya “nada error”
dikarenakan frekuensi yang didapatkan dari senar gitar yang dipetik berbeda dengan nilai
frekuensi yang telah ditetapkan didalam program sehingga program akan berhenti, tetapi
jika keluaran nada tersebut menghasilkan frekuensi yang mencakup salah satu range
frekuensi nada gitar yang telah ditetapkan maka pada penampil teks nada akan tercantum
teks nada yang sesuai dengan frekuensi yang dihasilkan tersebut.
Program untuk tombol “End” atau untuk mengakhiri pengenalan nada seperti pada gambar
4.8 berikut:
elseif fout>=192 && fout<=202
nadaout='sol';
elseif fout>=216 && fout<=226
nadaout='la';
elseif fout>=242 && fout<=252
nadaout='si';
elseif fout>=257 && fout<=267
nadaout='dot';
else nadaout='Nada Error'; end
% Perhitungan benar
% if nadaout==nadain
% yout=1;
% else
% yout=0;
% end
hasilout=nadaout
set(handles.text1,'string',hasilout)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 4.8 Program Untuk Mengakhiri Pengenalan Nada
4.2. Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat
Pengenalan Nada Gitar Akustik
Untuk pengujian program pengenalan nada gitar akustik, tahapan pengujian yang
dilakukan adalah pada parameter pengenalan nada yaitu nilai frame blocking dan DFT
yang digunakan dalam program. Tujuannya adalah untuk mencari nilai perameter yang
menghasilkan tingkat pengenalan (recognition rate) yang paling baik.
4.2.1 Pengujian Parameter Pengenalan Nada
Pada pengujian ini, penulis mencoba program pengenalan nada gitar akustik
menggunakan seluruh nilai pilihan frame blocking yaitu 1024, 512, 256, 128, dan 64.
Penulis mengambil data sebanyak 5 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 frame blocking 1024
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Do’ Error
Do 2 0 0 0 0 0 0 0 3 40%
Re 0 2 2 0 0 0 0 0 3 40%
Mi 0 0 0 0 0 0 0 0 5 0%
Fa
0 0 0 0 0 0 0 0 5 0%
Sol
0 0 0 0 0 0 3 0 5 0%
La
1 2 0 0 0 0 0 0 5 0%
Si
0 1 0 0 0 0 0 0 5 0%
Dot
0 3 1 1 0 0 0 0 5 0%
delete(figure(gitarku));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tabel 4.2. Pengujian nada dengan nilai frame blocking 512
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Do’ Error
Do 5 0 0 0 0 0 0 0 0 100%
Re 0 5 0 0 0 0 0 0 0 100%
Mi 0 0 5 0 0 0 0 0 0 100%
Fa
0 0 0 0 0 0 0 0 5 0%
Sol
0 0 0 0 0 0 0 0 5 0%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 5 0 0 100%
Dot
0 0 0 0 0 0 0 5 0 100%
Tabel 4.3. Pengujian nada dengan nilai frame blocking 256
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Do’ Error
Do 5 0 0 0 0 0 0 0 0 100%
Re 0 5 0 0 0 0 0 0 0 100%
Mi 0 0 5 0 0 0 0 0 0 100%
Fa
0 0 0 5 0 0 0 0 0 100%
Sol
0 0 0 0 5 0 0 0 0 100%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 5 0 0 100%
Dot
0 0 0 0 0 0 0 5 0 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Tabel 4.4. Pengujian nada dengan nilai frame blocking 128
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Do’ Error
Do 5 0 0 0 0 0 0 0 0 100%
Re 0 5 0 0 0 0 0 0 0 100%
Mi 0 0 5 0 0 0 0 0 0 100%
Fa
0 0 0 5 0 0 0 0 0 100%
Sol
0 0 0 0 5 0 0 0 0 100%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 5 0 0 100%
Dot
0 0 0 0 0 0 0 5 0 100%
Tabel 4.5. Pengujian nada dengan nilai frame blocking 64
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Do’ Error
Do 5 0 0 0 0 0 0 0 0 100%
Re 0 5 0 0 0 0 0 0 0 100%
Mi 0 0 5 0 0 0 0 0 0 100%
Fa
0 0 0 5 0 0 0 0 0 100%
Sol
0 0 0 0 5 0 0 0 0 100%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 5 0 0 100%
Dot
0 0 0 0 0 0 0 5 0 100%
Dari tabel-tabel data hasil percobaan dapat dicari persen pengenalan melalui
pehitungan dari masing-masing panjang nilai frame blocking dan dapat dibuat grafik dari
pengaruh panjang DFT terhadap tingkat pengenalan. Untuk mendapatkan tingkat persen
pengenalan dari percobaan tersebut digunakan rumus [3]:
Tingkat pengenalan = ∑
(4.1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Ket : ∑ = jumlah nada gitar akustik yang dikenali dan benar.
Perhitungan tingkat pengenalan dari :
a. Panjang frame blocking = 1024
Tingkat pengenalan = ∑
=
=
b. Panjang frame blocking = 512
Tingkat pengenalan = ∑
=
= 75%
c. Panjang frame blocking = 256
Tingkat pengenalan = ∑
=
= 100%
d. Panjang frame blocking = 128
Tingkat pengenalan = ∑
=
=
e. Panjang frame blocking = 64
Tingkat pengenalan = ∑
=
=
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Tabel 4.6. Pengaruh panjang frame blocking terhadap tingkat pengenalan
Gambar 4.9. Grafik Pengaruh Panjang Frame Blocking terhadap Tingkat pengenalan Nada
Dapat dilihat dari tabel dan grafik hasil percobaan, menunjukkan bahwa nada gitar
akustik klasik dapat optimal dikenali hingga 100% pada saat frame blocking yang semakin
kecil yaitu mulai dari frame blocking 256, 128 dan 64. Hasil ini didapatkan karena dalam
proses HPS, hasil frekuensi yang sudah di down sampling akan memisahkan antara
frekuensi fundamental nada gitar dengan frekuensi harmonis yang dihasilkan. Sehingga
dapat dideteksi dengan baik dalam rentang frame blocking yang kecil. Tetapi pada rentang
frame blocking yang panjang frekuensi fundamental nada cenderung tidak terdeteksi
dengan baik, sehingga pemilihan frame blocking yang kecil akan memaksimalkan
pengenalan nada gitar tersebut.
0
20
40
60
80
100
120
64 128 256 512 1024
Tin
gk
at
Pen
gen
ala
n (
%)
Panjang Frame Blocking
Pengaruh Panjang Frame Blocking Terhadap Tingkat
Pengenalan Nada
Panjang frame
blocking Tingkat pengenalan (%)
1024 10
512 75
256 100
128 100
64 100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
4.2.2 Pengujian Parameter Pengenalan Nada Tanpa Harmonic Product
Spectrum
Pada pengujian ini, penulis mencoba program pengenalan nada gitar akustik
menggunakan seluruh nilai pilihan frame blocking yaitu 1024, 512, 256, 128, dan 64 tanpa
menggunakan Harmonic Product Spectrum. Penulis mengambil data sebanyak 5 kali
masing-masing nada tiap nilai frame blocking. Tujuan dari pengujian ini adalah untuk
mencari perbedaan antara program yang menggunakan HPS dengan yang tidak
menggunakan HPS untuk mengetahui hasil tingkat pengenalan (recognition rate) yang
paling baik.
Tabel 4.7. Pengujian nada dengan nilai frame blocking 1024
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Dot Error
Do 0 0 3 0 0 0 0 0 5 0%
Re 0 0 0 0 0 1 0 0 5 0%
Mi 0 1 1 0 2 0 0 0 4 20%
Fa
0 0 1 1 1 0 0 0 4 20%
Sol
0 0 0 0 0 0 0 0 5 0%
La
0 0 0 0 0 1 0 0 4 20%
Si
0 0 0 0 0 0 0 0 5 0%
Dot
0 0 0 0 0 0 0 3 2 60%
Tabel 4.8. Pengujian nada dengan nilai frame blocking 512
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Dot Error
Do 2 0 0 0 0 0 0 0 3 40%
Re 0 3 0 0 0 0 0 0 2 60%
Mi 0 0 4 0 0 0 0 0 1 80%
Fa
0 0 0 5 0 0 0 0 5 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Tabel 4.8. (Lanjutan) Pengujian nada dengan nilai frame blocking 512
Sol
0 0 0 0 0 0 0 0 5 0%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 0 0 0 0%
Dot
0 0 0 0 0 0 0 5 0 100%
Tabel 4.9. Pengujian nada dengan nilai frame blocking 256
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Dot Error
Do 5 0 0 0 0 0 0 0 0 100%
Re 0 5 0 0 0 0 0 0 0 100%
Mi 0 0 5 0 0 0 0 0 0 100%
Fa
0 0 0 5 0 0 0 0 0 100%
Sol
0 0 0 0 0 0 0 0 5 0%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 0 0 5 0%
Dot
0 0 0 0 0 0 0 5 0 100%
Tabel 4.10. Pengujian nada dengan nilai frame blocking 128
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Dot Error
Do 5 0 0 0 0 0 0 0 0 100%
Re 0 5 0 0 0 0 0 0 0 100%
Mi 0 0 5 0 0 0 0 0 0 100%
Fa
0 0 0 5 0 0 0 0 0 100%
Sol
0 0 0 0 0 0 0 0 5 0%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 0 0 5 0%
Dot
0 0 0 0 0 0 0 5 0 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Tabel 4.11. Pengujian nada dengan nilai frame blocking 64
Input Output
Tingkat
Pengenalan Do Re Mi Fa Sol La Si Dot Error
Do 5 0 0 0 0 0 0 0 0 100%
Re 0 5 0 0 0 0 0 0 0 100%
Mi 0 0 5 0 0 0 0 0 0 100%
Fa
0 0 0 5 0 0 0 0 0 100%
Sol
0 0 0 0 0 0 0 0 5 0%
La
0 0 0 0 0 5 0 0 0 100%
Si
0 0 0 0 0 0 2 0 3 40%
Dot
0 0 0 0 0 0 0 5 0 100%
Dari tabel-tabel data hasil percobaan dapat dicari persen pengenalan melalui
pehitungan dari masing-masing panjang nilai frame blocking terhadap tingkat pengenalan.
Untuk mendapatkan tingkat persen pengenalan dari percobaan tersebut digunakan rumus
[3]:
Tingkat pengenalan = ∑
(4.2)
Ket : ∑ = jumlah nada gitar akustik yang dikenali dan benar.
Perhitungan tingkat pengenalan dari :
a. Panjang frame blocking = 1024
Tingkat pengenalan = ∑
=
=
b. Panjang frame blocking = 512
Tingkat pengenalan = ∑
=
= 60%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
c. Panjang frame blocking = 256
Tingkat pengenalan = ∑
=
= 75%
d. Panjang frame blocking = 128
Tingkat pengenalan = ∑
=
=
e. Panjang frame blocking = 64
Tingkat pengenalan = ∑
=
=
Tabel 4.12. Pengaruh panjang Frame Blocking terhadap tingkat pengenalan tanpa HPS
Panjang frame
blocking Tingkat pengenalan (%)
1024 15
512 60
256 75
128 75
64 80
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 4.10 Grafik Pengaruh Panjang Frame Blocking terhadap Tingkat pengenalan Nada
Tanpa Harmonic Product Spectrum
Dapat dilihat dari tabel dan grafik hasil percobaan, menunjukkan bahwa nada gitar
akustik klasik tidak dapat optimal dikenali hingga 100% untuk semua nilai frame blocking
yang ada, baik dari frame blocking 1024, 512, 256, 128 dan 64. Hasil ini didapatkan karena
pengenalan nada gitar tanpa proses HPS, frekuensi yang banyak dihasilkan adalah
frekuensi harmonis dari gitar tersebut. Sehingga frekuensi fundamental dari gitar tersebut
akan tertutupi oleh frekuensi harmonis gitar akustik, yang dikarenakan gitar akustik
memiliki ruang resonansi, sehingga frekuensi yang akan dihasilkan pun banyak dan tidak
bisa langsung diketahui letak frekuensi fundamentalnya. Oleh karena itu diperlukannya
proses HPS untuk memisahkan frekuensi fundamental dari frekuensi harmonis yang
dihasilkan oleh gitar akustik dengan perkalian spektrum, sehingga frekuensi fundamental
nada gitar akustik dapat diketahui secara pasti.
0
10
20
30
40
50
60
70
80
90
64 128 256 512 1024
Tin
gk
at
Pen
gen
ala
n (
%)
Panjang frame blocking
Pengaruh Panjang Frame Blocking Terhadap Tingkat
Pengenalan Nada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Kesimpulan yang didapatkan dari hasil percobaan dan pengujian sistem pengenalan
nada gitar akustik klasik adalah sebagai berikut:
1. Sistem pengenalan telah berjalan sesuai dengan perancangan, dan dapat
menampilkan plot perekaman, plot harmonic product spectrum, dan tampilan teks
pengenalan nada.
2. Sistem dapat mengenali nada dengan baik hingga 100% ketika berada di frame
blocking yang semakin kecil, yakni 256, 128 dan 64 dari 5 nilai frame blocking
yang tersedia.
3. Semakin kecil nilai pilihan frame blocking , semakin baik pengenalan nadanya.
5.2. Saran
Saran yang diharapkan dapat membantu pengembangan sistem pengenalan nada
gitar akustik klasik adalah sebagai berikut:
1. Pengembangan sistem dengan menggunakan metode yang berbeda sehingga dapat
dibandingkan tingkat pengenalan nadanya.
2. Untuk pengembangannya, dapat juga dengan membuat hardware pengenalan nada
gitar akustik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
DAFTAR PUSTAKA
[1] Ortiz, M., 2002, Menumbuhkan Anak-anak Yang Bahagia, Cerdas, dan Percaya Diri
dengan Musik, Jakarta : Gramedia Pustaka Utama.
[2] Fandy Akbar, Paper, Konversi Nada-nada Akustik Menjadi Chord Menggunakan Pitch
Class Profile, Jurusan Teknik Informatika, Institut Teknologi Sepuluh November,
Surabaya.
[3] Indriani, Yovita Hety., Pengenalan Nada Belira Menggunakan Analisis Amplitudo Pada
Ranah Frekuensi, Tugas Akhir, Universitas Sanata Dharma, Yogyakarta.
[4] Fingkirani, Eka.,2014, Pengertian, Sejarah, Jenis-Jenis, dan Cara Kerja Mikrofon,
http://ekafingkirani.blogspot.com/2014/11/pengertian-sejarah-jenis-jenis-dan-cara.html
diakses tanggal 19 September 2015
[5] Computer Hope, Sound Card, http://www.computerhope.com/jargon/s/souncard.htm
diakses tanggal 28 September 2015
[6] Irawan, A, Feriza, 2012, Buku Pintar Pemrograman Matlab, MediaKom,Yogyakarta.
[7] Sklar, B., 1988, Digital Communications Fundamental and Application, PTR Prentice
Hall, New Jersey.
[8] Hakim, L., 2012, Analisa Suara Serak Berbasis Transformasi Wavelet dan Algoritma
Jaringan Syaraf Tiruan, Tugas Akhir Jurusan Teknik Elektro, Institut Teknologi Sepuluh
Nopember, Surabaya.
[9] Riyanto,S., dkk, 2009, Algoritma Fast Fourier Transform (FFT) Decimation In Time
(DIT) dengan Resolusi 1/10 Hertz, Laboratorium Riset Komputasi Jurusan Pendidikan
Fisika FMIPA UNY Kampus Karangmalang Yogyakarta 55281.
[10] Noll HPS, 1969,
http://musicweb.ucsd.edu/~trsmyth/analysis/Harmonic_Product_Spectrum.html diakses
pada tanggal 19 September 2015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1
LAMPIRAN 1
PERCOBAAN UNTUK MENENTUKAN RANGE FREKUENSI PADA
LOOK UP TABLE UNTUK MASING-MASING NADA GITAR AKUSTIK
KLASIK
Tujuan:
1. Mencari frekuensi tengah look up table.
2. Mengetahui frekuensi tertinggi pada nada gitar akustik klasik.
3. Menentukan range frekuensi look up table untuk masing-masing nada gitar akustik
klasik.
Variabel:
1. Frekuensi sampling yang digunakan sebesar 10000 Hz.
2. Durasi sampling perekaman yang digunakan sebesar 2 detik.
3. Masing-masing nada direkam sebanyak 5 kali
function frekhpsgitar % Perhitungan frekuensi nada gitar
%clc clear all % ------------------------------------------------------- % Variabel penelitian frame=512; % Panjang frame blocking
% ------------------------------------------------------- % Sinyal gitar y0=wavread('do1.wav');yout(1)=proseshps(y0,frame); y0=wavread('re1.wav');yout(2)=proseshps(y0,frame); y0=wavread('mi1.wav');yout(3)=proseshps(y0,frame); y0=wavread('fa1.wav');yout(4)=proseshps(y0,frame); y0=wavread('sol1.wav');yout(5)=proseshps(y0,frame); y0=wavread('la1.wav');yout(6)=proseshps(y0,frame); y0=wavread('si1.wav');yout(7)=proseshps(y0,frame); y0=wavread('dot1.wav');yout(8)=proseshps(y0,frame); yout
%======================================================== % Internal function %======================================================== function yout=proseshps(xin,frame) % Proses Harmonic Product Spectrum
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
bps=0.3; % batas potong silence bpt=0.25; % batas potong transisi fs=10000; % frek sampling hfs=fs/2;
% Downsampling %x1=xin(1:2:length(xin)); % Downsampling ke fs=20kHz %y0=x1(1:2:length(x1)); % Downsampling ke fs=10kHz
% Normalisasi y1=xin/max(abs(xin));
% Potong silence y2=y1; b1=find(abs(y2)>bps); y2(1:b1(1))=[];
% Potong transisi y3=y2; btrans=floor(bpt*length(y3)); y3(1:btrans)=[];
% Frame blocking y4=y3(1:frame);
% Normalisasi y5=y4/max(abs(y1));
% Windowing h=hamming(frame); y6=y5.*h;
% DFT y7=abs(fft(y6,fs)); y7=y7(1:hfs);
% HPS y8=y7(1:2:hfs); % Downsampling y8(hfs)=0; % Zero padding y9=y7.*y8; % Perkalian elemen
% Frekuensi keluaran yout=find(y9==max(y9))-1;
%==================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Hasil keluaran program dengan pengambilan sebanyak 5 data dari setiap nada dari program
frekuensi HPS:
Mencari selisih nilai Nada Gitar untuk frekuensi tengah:
Nada
Gitar Pengambilan
I
Pengambilan
II
Pengambilan
III
Pengambilan
IV Pengambilan
V Rata-
Rata
Do 131 131 131 131 131 131
Re 146 146 146 146 146 146
Mi 165 165 165 165 165 165
Fa 175 175 175 175 175 175
Sol 197 197 197 196 196 196,6
La 221 221 221 221 221 221
Si 247 247 247 247 247 247
Dot 262 263 262 262 262 262,8
Nada
Frekuensi
Rata-Rata
(Hz)
Selisih (Hz)
Do 131 15
Re 146
Re 146 19
Mi 165
Mi 165 10
Fa 175
Fa 175 21,6
Sol 196,6
Sol 196,6 24,4
La 221
La 221 26
Si 247
Si 247 15,8
Dot 262,8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
Kesimpulan:
Dari hasil percobaan yang dilakukan 5 kali, dapat dilihat bahwa perbedaan frekuensinya tidak
jauh, yaitu berkisar 1 Hz. Bahkan banyak nada yang frekuensinya tidak berubah walau dilakukan
5 kali percobaan. Dari percobaan tersebut dapat disimpulkan:
1. Frekuensi tengah yang digunakan untuk menentukan frekuensi adalah mengacu pada
tabel a, frekuensi rata-rata dari 5 kali pengambilan nada yaitu, 131Hz, 146Hz, 165Hz,
175Hz, 196,6Hz, 221Hz, 247Hz, dan 262,8Hz untuk masing-masing nada do, re, mi, fa,
sol, la, si, dot (do tinggi).
2. Frekuensi tertinggi nada gitar akustik klasik sebesar 262,8 Hz untuk nada Do tinggi,
sehingga memenuhi persamaan (2.1) untuk penggunaan frekuensi sampling sebesar
10000 Hz.
3. Semakin tinggi nada maka semakin besar frekuensi yang dihasilkan.
4. Dapat dilihat pada tabel a, selisih nada yang paling rendah adalah antara nada “mi” dan
nada “fa” yaitu 10. Sehingga range yang bisa digunakan untuk frekuensi look up table
adalah :
10
2 = 5
Jadi range yang bisa digunakan adalah antara 1< range < 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
LAMPIRAN 2
LISTING PROGRAM TIDAK REAL-TIME
function pnhpsgitar % Pengenalan nada gitar dengan HPS
clc clear all % ------------------------------------------------------- % Variabel penelitian frame=256; % Panjang frame blocking
% ------------------------------------------------------- % Sinyal gitar y0=wavread('do1.wav');[y1(1),nada1{1}]=kenalhps(y0,frame,'do'); y0=wavread('do2.wav');[y1(2),nada1{2}]=kenalhps(y0,frame,'do'); y0=wavread('do3.wav');[y1(3),nada1{3}]=kenalhps(y0,frame,'do'); y0=wavread('do4.wav');[y1(4),nada1{4}]=kenalhps(y0,frame,'do'); y0=wavread('do5.wav');[y1(5),nada1{5}]=kenalhps(y0,frame,'do'); y0=wavread('do6.wav');[y1(6),nada1{6}]=kenalhps(y0,frame,'do'); y0=wavread('do7.wav');[y1(7),nada1{7}]=kenalhps(y0,frame,'do'); y0=wavread('do8.wav');[y1(8),nada1{8}]=kenalhps(y0,frame,'do'); y0=wavread('do9.wav');[y1(9),nada1{9}]=kenalhps(y0,frame,'do'); y0=wavread('do10.wav');[y1(10),nada1{10}]=kenalhps(y0,frame,'do'); nada1
y0=wavread('re1.wav');[y2(1),nada2{1}]=kenalhps(y0,frame,'re'); y0=wavread('re2.wav');[y2(2),nada2{2}]=kenalhps(y0,frame,'re'); y0=wavread('re3.wav');[y2(3),nada2{3}]=kenalhps(y0,frame,'re'); y0=wavread('re4.wav');[y2(4),nada2{4}]=kenalhps(y0,frame,'re'); y0=wavread('re5.wav');[y2(5),nada2{5}]=kenalhps(y0,frame,'re'); y0=wavread('re6.wav');[y2(6),nada2{6}]=kenalhps(y0,frame,'re'); y0=wavread('re7.wav');[y2(7),nada2{7}]=kenalhps(y0,frame,'re'); y0=wavread('re8.wav');[y2(8),nada2{8}]=kenalhps(y0,frame,'re'); y0=wavread('re9.wav');[y2(9),nada2{9}]=kenalhps(y0,frame,'re'); y0=wavread('re10.wav');[y2(10),nada2{10}]=kenalhps(y0,frame,'re'); nada2
y0=wavread('mi1.wav');[y3(1),nada3{1}]=kenalhps(y0,frame,'mi'); y0=wavread('mi2.wav');[y3(2),nada3{2}]=kenalhps(y0,frame,'mi'); y0=wavread('mi3.wav');[y3(3),nada3{3}]=kenalhps(y0,frame,'mi'); y0=wavread('mi4.wav');[y3(4),nada3{4}]=kenalhps(y0,frame,'mi'); y0=wavread('mi5.wav');[y3(5),nada3{5}]=kenalhps(y0,frame,'mi'); y0=wavread('mi6.wav');[y3(6),nada3{6}]=kenalhps(y0,frame,'mi'); y0=wavread('mi7.wav');[y3(7),nada3{7}]=kenalhps(y0,frame,'mi'); y0=wavread('mi8.wav');[y3(8),nada3{8}]=kenalhps(y0,frame,'mi'); y0=wavread('mi9.wav');[y3(9),nada3{9}]=kenalhps(y0,frame,'mi'); y0=wavread('mi10.wav');[y3(10),nada3{10}]=kenalhps(y0,frame,'mi'); nada3
y0=wavread('fa1.wav');[y4(1),nada4{1}]=kenalhps(y0,frame,'fa');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
y0=wavread('fa2.wav');[y4(2),nada4{2}]=kenalhps(y0,frame,'fa'); y0=wavread('fa3.wav');[y4(3),nada4{3}]=kenalhps(y0,frame,'fa'); y0=wavread('fa4.wav');[y4(4),nada4{4}]=kenalhps(y0,frame,'fa'); y0=wavread('fa5.wav');[y4(5),nada4{5}]=kenalhps(y0,frame,'fa'); y0=wavread('fa6.wav');[y4(6),nada4{6}]=kenalhps(y0,frame,'fa'); y0=wavread('fa7.wav');[y4(7),nada4{7}]=kenalhps(y0,frame,'fa'); y0=wavread('fa8.wav');[y4(8),nada4{8}]=kenalhps(y0,frame,'fa'); y0=wavread('fa9.wav');[y4(9),nada4{9}]=kenalhps(y0,frame,'fa'); y0=wavread('fa10.wav');[y4(10),nada4{10}]=kenalhps(y0,frame,'fa'); nada4
y0=wavread('sol1.wav');[y5(1),nada5{1}]=kenalhps(y0,frame,'sol'); y0=wavread('sol2.wav');[y5(2),nada5{2}]=kenalhps(y0,frame,'sol'); y0=wavread('sol3.wav');[y5(3),nada5{3}]=kenalhps(y0,frame,'sol'); y0=wavread('sol4.wav');[y5(4),nada5{4}]=kenalhps(y0,frame,'sol'); y0=wavread('sol5.wav');[y5(5),nada5{5}]=kenalhps(y0,frame,'sol'); y0=wavread('sol6.wav');[y5(6),nada5{6}]=kenalhps(y0,frame,'sol'); y0=wavread('sol7.wav');[y5(7),nada5{7}]=kenalhps(y0,frame,'sol'); y0=wavread('sol8.wav');[y5(8),nada5{8}]=kenalhps(y0,frame,'sol'); y0=wavread('sol9.wav');[y5(9),nada5{9}]=kenalhps(y0,frame,'sol'); y0=wavread('sol10.wav');[y5(10),nada5{10}]=kenalhps(y0,frame,'sol'); nada5
y0=wavread('la1.wav');[y6(1),nada6{1}]=kenalhps(y0,frame,'la'); y0=wavread('la2.wav');[y6(2),nada6{2}]=kenalhps(y0,frame,'la'); y0=wavread('la3.wav');[y6(3),nada6{3}]=kenalhps(y0,frame,'la'); y0=wavread('la4.wav');[y6(4),nada6{4}]=kenalhps(y0,frame,'la'); y0=wavread('la5.wav');[y6(5),nada6{5}]=kenalhps(y0,frame,'la'); y0=wavread('la6.wav');[y6(6),nada6{6}]=kenalhps(y0,frame,'la'); y0=wavread('la7.wav');[y6(7),nada6{7}]=kenalhps(y0,frame,'la'); y0=wavread('la8.wav');[y6(8),nada6{8}]=kenalhps(y0,frame,'la'); y0=wavread('la9.wav');[y6(9),nada6{9}]=kenalhps(y0,frame,'la'); y0=wavread('la10.wav');[y6(10),nada6{10}]=kenalhps(y0,frame,'la'); nada6
y0=wavread('si1.wav');[y7(1),nada7{1}]=kenalhps(y0,frame,'si'); y0=wavread('si2.wav');[y7(2),nada7{2}]=kenalhps(y0,frame,'si'); y0=wavread('si3.wav');[y7(3),nada7{3}]=kenalhps(y0,frame,'si'); y0=wavread('si4.wav');[y7(4),nada7{4}]=kenalhps(y0,frame,'si'); y0=wavread('si5.wav');[y7(5),nada7{5}]=kenalhps(y0,frame,'si'); y0=wavread('si6.wav');[y7(6),nada7{6}]=kenalhps(y0,frame,'si'); y0=wavread('si7.wav');[y7(7),nada7{7}]=kenalhps(y0,frame,'si'); y0=wavread('si8.wav');[y7(8),nada7{8}]=kenalhps(y0,frame,'si'); y0=wavread('si9.wav');[y7(9),nada7{9}]=kenalhps(y0,frame,'si'); y0=wavread('si10.wav');[y7(10),nada7{10}]=kenalhps(y0,frame,'si'); nada7
y0=wavread('dot1.wav');[y8(1),nada8{1}]=kenalhps(y0,frame,'dot'); y0=wavread('dot2.wav');[y8(2),nada8{2}]=kenalhps(y0,frame,'dot'); y0=wavread('dot3.wav');[y8(3),nada8{3}]=kenalhps(y0,frame,'dot'); y0=wavread('dot4.wav');[y8(4),nada8{4}]=kenalhps(y0,frame,'dot'); y0=wavread('dot5.wav');[y8(5),nada8{5}]=kenalhps(y0,frame,'dot'); y0=wavread('dot6.wav');[y8(6),nada8{6}]=kenalhps(y0,frame,'dot'); y0=wavread('dot7.wav');[y8(7),nada8{7}]=kenalhps(y0,frame,'dot'); y0=wavread('dot8.wav');[y8(8),nada8{8}]=kenalhps(y0,frame,'dot'); y0=wavread('dot9.wav');[y8(9),nada8{9}]=kenalhps(y0,frame,'dot');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
y0=wavread('dot10.wav');[y8(10),nada8{10}]=kenalhps(y0,frame,'dot'); nada8
Hasil_benar=sum(y1)+sum(y2)+sum(y3)+sum(y4)+sum(y5)+sum(y6)+sum(y7)+sum(y8)
%======================================================== % Internal function %======================================================== function [yout,nadaout]=kenalhps(xin,frame,nadain) % Proses Harmonic Product Spectrum
bps=0.3; % batas potong silence bpt=0.25; % batas potong transisi fs=10000; % frek sampling hfs=fs/2;
% Normalisasi y1=xin/max(abs(xin));
% Potong silence y2=y1; b1=find(abs(y2)>bps); y2(1:b1(1))=[];
% Potong transisi y3=y2; btrans=floor(bpt*length(y3)); y3(1:btrans)=[];
% Frame blocking y4=y3(1:frame);
% Normalisasi y5=y4/max(abs(y1));
% Windowing h=hamming(frame); y6=y5.*h;
% DFT y7=abs(fft(y6,fs)); y7=y7(1:hfs);
% HPS y8=y7(1:2:hfs); % Downsampling y8(hfs)=0; % Zero padding y9=y7.*y8; % Perkalian elemen
% Frekuensi keluaran fout=find(y9==max(y9))-1; %mencari frekuensi dengan amplitudo tertinggi
% Penentuan keluaran text if fout>=126 && fout<=136 nadaout='do';
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
elseif fout>=141 && fout<=151 nadaout='re'; elseif fout>=160 && fout<=170 nadaout='mi'; elseif fout>=170 && fout<=180 nadaout='fa'; elseif fout>=192 && fout<=202 nadaout='sol'; elseif fout>=216 && fout<=226 nadaout='la'; elseif fout>=242 && fout<=252 nadaout='si'; elseif fout>=257 && fout<=267 nadaout='dot'; else nadaout='nada error'; end
% Perhitungan benar if nadaout==nadain yout=1; else yout=0; end %==================================================
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
LAMPIRAN 3
LISTING PROGRAM PENGAMBILAN NADA UJI
option='n'; option_rec='n'; sample_length=1.5; sample_freq=10000; sample_time=(sample_length*sample_freq); nama=input('Masukkan nama file record: ','s'); file_nama=sprintf('%s.wav',nama); option_rec = input('tekan x untuk merekam: ','s'); if option_rec=='x' while option=='n', pause(0.5); rekam=wavrecord(sample_time, sample_freq); plot(rekam); input('tekan enter untuk mendengarkan ->'); sound(rekam, sample_freq); option = input('x simpan,n rekam ulang: ','s'); end wavwrite(rekam, sample_freq,file_nama); end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
LAMPIRAN 4
LISTING PROGRAM PENGENALAN NADA GITAR AKUSTIK KLASIK
function varargout = gitarku(varargin)
% GITARKU MATLAB code for gitarku.fig
% GITARKU, by itself, creates a new GITARKU or raises the
existing
% singleton*.
%
% H = GITARKU returns the handle to a new GITARKU or the
handle to
% the existing singleton*.
%
% GITARKU('CALLBACK',hObject,eventData,handles,...) calls
the local
% function named CALLBACK in GITARKU.M with the given input
arguments.
%
% GITARKU('Property','Value',...) creates a new GITARKU or
raises the
% existing singleton*. Starting from the left, property
value pairs are
% applied to the GUI before gitarku_OpeningFcn gets called.
An
% unrecognized property name or invalid value makes
property application
% stop. All inputs are passed to gitarku_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI
allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help gitarku
% Last Modified by GUIDE v2.5 11-Jun-2016 00:25:49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @gitarku_OpeningFcn, ...
'gui_OutputFcn', @gitarku_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before gitarku is made visible.
function gitarku_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 gitarku (see VARARGIN)
% Choose default command line output for gitarku
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes gitarku wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command
line.
function varargout = gitarku_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see
VARARGOUT);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
sample_length=2; % waktu dalam second
fs=10000; % frek sampling
sample_time=(sample_length*fs);
xin=wavrecord(sample_time, fs);
wavwrite(xin, fs, 's.wav');
axes(handles.axes1)
plot(xin);
xlabel('Data Tercuplik')
ylabel('Amplitudo')
bpt=0.25; % batas potong transisi
hfs=fs/2;
bps=0.3; % batas potong silence
fb=handles.frame;
% Normalisasi
y1=xin/max(abs(xin));
% Potong silence
y2=y1;
b1=find(abs(y2)>bps);
y2(1:b1(1))=[];
% Potong transisi
y3=y2;
btrans=floor(bpt*length(y3));
y3(1:btrans)=[];
% Frame blocking
y4=y3(1:fb);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
% Normalisasi
y5=y4/max(abs(y1));
% Windowing
h=hamming(fb);
y6=y5.*h;
% DFT
y7=abs(fft(y6,fs));
y7=y7(1:hfs);
% HPS
y8=y7(1:2:hfs); % Downsampling
y8(hfs)=0; % Zero padding
y9=y7.*y8; % Perkalian elemen
axes(handles.axes2)
bar(y9);
xlabel('Frekuensi')
ylabel('|Amplitudo|')
% Frekuensi keluaran
fout=find(y9==max(y9))-1; %mencari frekuensi dengan amplitudo
tertinggi
% Penentuan keluaran text
if fout>=126 && fout<=136
nadaout='do';
elseif fout>=141 && fout<=151
nadaout='re';
elseif fout>=160 && fout<=170
nadaout='mi';
elseif fout>=170 && fout<=180
nadaout='fa';
elseif fout>=192 && fout<=202
nadaout='sol';
elseif fout>=216 && fout<=226
nadaout='la';
elseif fout>=242 && fout<=252
nadaout='si';
elseif fout>=257 && fout<=267
nadaout='dot';
else
nadaout='nada error';
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
% Perhitungan benar
% if nadaout==nadain
% yout=1;
% else
% yout=0;
% end
hasilout=nadaout
set(handles.text1,'string',hasilout)
% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(gitarku));
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
indeks=get(handles.popupmenu1,'Value');
switch indeks
case 1
frameb=1024;
case 2
frameb=512;
case 3
frameb=256;
case 4
frameb=128;
case 5
frameb=64;
end
handles.frame=frameb;
guidata(hObject,handles);
% Hints: contents = get(hObject,'String') returns popupmenu1
contents as cell array
% contents{get(hObject,'Value')} returns selected item
from popupmenu1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
% --- Executes during object creation, after setting all
properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% Hint: popupmenu controls usually have a white background on
Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI