Upload
ngodiep
View
255
Download
0
Embed Size (px)
Citation preview
i
TUGAS AKHIR
PENGENALAN NADA PIANIKA MENGGUNAKAN
SEGMENT AVERAGING KOEFISIEN DFT
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
RESPATI AJI PAMUNGKAS
NIM :115114004
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
RECOGNITION OF PIANICA TONES USING
SEGMENT AVERAGING OF DFT COEFFICIENTS
Presented as Partial Fullfillment of The Requirements
To Obtain Sarjana Teknik Degree
In Electrical Engineering Study Program
By :
RESPATI AJI PAMUNGKAS
NIM : 115114004
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
VI
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
KUNCI KESUKSESAN ADALAH
MENGALAHKAN KEMALASAN DALAM DIRI
SENDIRI
Persembahan Karya ini ku persembahkan kepada ....
Tuhan Yesus Kristus yang selalu menyertaiku dalam
segala masalah dalam hidupku.
Bapak, Ibu danKakak-kakak yang selalu mendukungku
dalam segala hal.
Dan semua orang yang mengasihiku dan mendukungku
dalam Tugas Akhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Kebanyakan orang hanya bisa mendengarkan suatu nada dari alat musik tanpa
mengetahui nada apa yang sedang dimainkan, karena kurangnya ketajaman pendengaran serta
pengetahuan tentang bermusik sangat terbatas. Alat musik yang digunakan pun juga
bervariasi, salah satunya alat musik tiup. Pianika adalah merupakan bagian dari banyak alat
musik apabila dengan tiupan akan menghasilkan sebuah bunyi. Sistem pengenalan sangat
diperlukan untuk membantu dalam mengenali nada alat musik, khususnya untuk nada dasar
(C, C# D, D# E, F, F#, G, G#, A, A#, B) pada alat musik Pianika.
Sistem pengenalan nada alat musik pianika pada tugas akhir ini menggunakan
mikrofon
dan komputer untuk mengoperasikannya. Mikrofon dalam penelitian ini berfungsi untuk
merekam gelombang suara nada alat musik pianika. Sedangkan komputer berfungsi untuk
memproses data hasil rekaman, menampilkan gelombang hasil rekaman, menampilkan
spektrum frekuensi hasil dari proses DFT, mengenali nada terekam, dan menampilkan hasil
nada yang dikenali.
Pada program pengenalan nada secara real time tanpa thresholding dan menggunakan
thresholding mampu mengenali nada sebesar 100%. Parameter pengenalan terbaik berada
pada variasi Frame blocking 128 dan Segment averaging 2. Sistem pengenalan nada alat
musik pianika dengan metode fungsi korelasi sudah berhasil dibuat dan dapat bekerja dengan
baik. Penampil hasil nada, spektrum frekuensi hasil DFT, dan masing-masing nada mampu
menampilkan data sesuai perancangan. Program pengenalan nada alat musik pianika hanya
mengenali nada-nada dasar, sehingga dalam pengembangan berikutnya masih bisa
dikembangkan untuk pengenalan nada yang lebih kompleks.
Kata kunci : Pianika, DFT (Discrete Fourier Transform), Fungsi Korelasi, Pengenalan
Nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Many people only can hear the tone of musical instrument without knowing the tone is
being played. The lack of hearing acuity and knowledge about music is very limited. The
musical instrument is used has many varies, the one of a musical instrument is a ( C, C#, D,
D#, E, F, F,# G, G#, A, A#, B) music. Pianica is a part of musical instrument, when we blow
that pianica it will produce a sound. Recognition system is very needed to help in recognizing
the tone of musical instrument especially fundamental tone.
Musical tone recognition system at pianika this thesis using a microphone a
microphone and a computer to operate. Microphones in this study serves to record the musical
tone sound waves pianica. While the computer functions to process data recording, featuring a
wave of record result showing the frequency spectrum of the DFT process, recognize the tones
recorded, and displays the result of a recognizable tone.
At real time program of tone recognition with and without thresholding are able to
recognize the tone of 100%. The best recognition parameter can be found at frame blocking
128 variation and Segment averaging of 2. Recognition systems pianica musical tones with a
correlation function method has been successfully established and can work well. The tone
recognition display show the frequency spectrum of the DFT, and capable of displaying data
according to the design. Musical tone recognition programs pianica only recognize basic
tones, resulting in the subsequent development can still be developed for the introduction of a
more complex tone.
Key words: Pianica, DFT (Discrete Fourier Transform), Correlation Function,
recognition of Musical Tones.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan Syukur kepada Tuhan Yesus karena telah memberikan Berkat-Nya sehingga
penulis dapat menyelesaikan laporan tugas akhir dengan baik, dan dapat memperoleh gelar
sarjana.
Dalam penulisan tugas akhir ini, penulis menyadari bahwa tidak lepas dari seluruh
bantuan dan bimbingan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis
mengucapkan banyak terimakasih kepada:
1. Tuhan Yesus Kristus atas berkat dan anugerah-Nya kepada penulis.
2. Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
3. Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elekro Universitas
Sanata Dharma.
4. Dr. Linggo Sumarno, selaku dosen pembimbing yang dengan penuh kesabaran untuk
membimbing dalam menyelesaikan penulisan Tugas Akhir ini.
5. Wiwien Widyastuti, S.T., M.T. dan Dr. Rita Widiarti selaku dosen penguji yang telah
memberikan bimbingan, saran, dan merevisi Tugas Akhir ini.
6. Bapak dan Ibu, serta kakak-kakak yang selalu mendoakan dan membantu segala sesuatunya
sampai pencapaian menyelesaiakan studi di jenjang perkuliahan.
7. Segenap staff sekretariat, dan laboran Teknik Elektro yang telah memberikan dukungan
secara tidak langung dalam kelancaran tulisan tugas Akhir ini.
8. Teman-teman SMA ” Bella, Funny kris, Ripta, Deni, Awang, Andika, Sigit, Tio, Anggun”
yang selalu mendukung dan mendoakan dalam kelancaran penulisan Tugas Akhir ini.
9. Terimakasih kepada Funny Yunita yang slalu memberi semangat dan memberikan solusi
disetiap masalah.
10. Teman-teman main selama di jogja” mbak Anin, Deni, Ripta, Deta, Yuli, April, Ika, Norris,
Eva, Garda, Anton budi, jendra, Vista, Yohana, Mas Kris” yang selalu mendukung dan
menemani.
11. Terimakasih kepada teman sekelompok konsultasi pak Linggo, yang sangat membantu sekali
dalam perjalanan skripsi ini” Monica, Agnes, Anton, Yovita, Yohanes, Yugo, Evan, Heri
dan Mas Maleh”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
Halaman
HALAMAN JUDUL. ............................................................................................... i
HALAMAN PERSETUJUAN.. ........................................................................... iii
HALAMAN PENGESAHAN. .............................................................................. iv
PERNYATAAN KEASLIAN KARYA. ............................................................ v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP............................. vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS. ..................................... vii
INTISARI. ................................................................................................................... viii
ABSTRACT. ............................................................................................................... ix
KATA PENGANTAR. ............................................................................................ x
DAFTAR ISI. ............................................................................................................. xii
DAFTAR GAMBAR. .............................................................................................. xvi
DAFTAR TABEL………………………………………………………………… xviii
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. Pianika ............................................................................................................... 4
2.2. Sampling ............................................................................................................ 5
2.3. Normalisasi ........................................................................................................ 5
2.4. Pemotongan Sinyal ............................................................................................ 6
2.5. Frame blocking.................................................................................................. 6
2.6. Windowing ......................................................................................................... 7
2.7. Ekstraksi ciri Dicrete Fourier Transform (DFT) .............................................. 7
2.8. Segment averaging ............................................................................................ 8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.9 Perhitungan korelasi .......................................................................................... 8
BAB III PERANCANGAN
3.1. Sistem Pengenalan Nada Pianika ...................................................................... 10
3.1.1. Suara Pianika... ........................................................................................ 11
3.1.2. Proses perekaman.... ................................................................................ 11
3.1.3. Proses pengenalan nada......................................................................…. 11
3.2. Perancangan Nada Referensi ............................................................................. 13
3.3. Nada Uji ............................................................................................................ 14
3.4. Perancangan Diagram blok ............................................................................... 16
3.4.1. Rekam ..................................................................................................... 17
3.4.2. Normalisasi ............................................................................................. 18
3.4.3. Pemotongan Sinyal ................................................................................. 20
3.4.4. Frame Blocking ...................................................................................... 20
3.4.5. Normalisasi 2. ......................................................................................... 21
3.4.6. Windowing Hamming. ............................................................................ 22
3.4.7. Discrete Fourier Transform (DFT). ....................................................... 24
3.4.8. Segment averaging ................................................................................. 24
3.4.9. Korelasi ................................................................................................... 25
3.5. Perancangan Subsistem Program...................................................................... 26
3.5.1 Subsistem Sampling. ................................................................................ 27
3.5.2 Subsistem pengenalan nada…………………………………………….. 27
BAB IV HASIL DAN PEMBAHASAN
4.1. Pengujian Program Pengenalan Nada Pianika....................................................... 28
4.1.1. Pengenalan Nada ................................................................................... 30
a. Popup Menu 1............................................... ..................................... 31
b. Popup Menu 2........................................................... ......................... 32
c. Pushbutton, axes dan static text......................................................... 32
d. Tombol Reset………………………………………………………. 38
4.2. Hasil Pengujian Program Pengenalan NadaTerhadap Tingkat Pengenalan Nada
Pianika .............................................................................................................. 38
4.2.1. Pengujian Parameter Pengenalan Nada ............................................... 39
4.2.1.1. Pengujian secara Tidak Real-Time............................................. ......... 39
4.2.1.2. Pengujian secara Real-Time ................................................................ 40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
a) Pengujian Tanpa Thresholding............................................. .......... 41
b) Pengujian Untuk Menentukan Batasan Nilai Korelasi…………… 43
c) Pengujian Mengunakan Thresholding.....................................…….. 46
4.3. Pengujian Dengan Nada Masukan Kencrung... ................................................ 47
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ...................................................................................................... 50
5.2. Saran ................................................................................................................ 50
DAFTAR PUSTAKA .............................................................................................. 51
LAMPIRAN
LAMPIRAN 1 PERCOBAAN MENCARI SPEKTRUM FREKUENSI DARI NADA
PIANIKA DENGAN MATLAB ..................................................................................... L1
LAMPIRAN 2 GAMBAR SINYAL DARI HASIL SAMPLING HINGGA EKSTRAKSI
CIRI…………. .............................................................................................. ….…. . .... L9
LAMPIRAN 3 LISTING PROGRAM GUI MATLAB ................................................. L14
LAMPIRAN 4 LISTING PROGRAM TIDAK REAL-TIME ........................................ L30
LAMPIRAN 5 HASIL PERSENTASE PENGENALAN NADA SECARA REAL-TIME
………………………………………………………………………………………….. L43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Halaman
Gambar 1.1. Blok Model Perancangan....................................................................... 3
Gambar 2.1. Pianika ................................................................................................... 4
Gambar 2.1.1 Gambar tangga nada dinaikkan setengah……………………………... 4
Gambar 2.2. Contoh Frame Blocking ........................................................................ 6
Gambar 2.3. Segment averaging……………………………………………………. 8
Gambar 3.1. Blok Diagram Keseluruhan Sistem ....................................................... 10
Gambar 3.2. Proses Pengenalan Nada Pianika ........................................................... 11
Gambar 3.3. Diagram blok proses pengambilan Nada referensi. ............................... 14
Gambar 3.4. Diagram blok proses pengambilan Nada Uji. ........................................ 15
Gambar 3.5. Tampilan utama program....................................................................... 16
Gambar 3.6. Diagram blok keseluruhan. .................................................................... 17
Gambar 3.7. Diagram alir proses rekam. .................................................................... 18
Gambar 3.8. Alur program normalisasi 1. .................................................................. 19
Gambar 3.9. Diagram alir pemotongan sinyal ........................................................... 20
Gambar 3.10. Alur program Frame blocking…………………………………………….. 21
Gambar 3.11. Diagram Alir normalisasi akhir.. ........................................................... 22
Gambar 3.12. Diagram blok Windowing hamming…………………………………. 23
Gambar 3.13. Diagram Alir DFT dan Segment averaging …………………………. 24
Gambar 3.14. Diagram Alir proses korelasi………………………………………. 25
Gambar 3.15. Diagram blok penentuan nada hasil pengenalan ................................... 26
Gambar 3.6. Diagram Alir Sistem Pengenalan Nada Pianika .................................... 25
Gambar 4.1. Tampilan program pengenalan nada pianuka ........................................ 29
Gambar 4.2. Tampilan hasil pengenalan .................................................................... 30
Gambar 4.3. Pengaruh perubahan Segment averaging terhadap presentase keberhasilan
pada frame blocking............................................................................... 39
Gambar 4.4. Gambar alat musik Kencrung ................................................................ 49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Halaman
Tabel 3.1. Keterangan tampilan program .................................................................... 16
Tabel 4.1. Menggunakan data base 10…………………………………………………… 38
Tabel 4.2. Hasil pengujian secara real time tanpa thresholding dengan variasi frame
blocking 128 dan Segment averaging 2, menggunakan Confusion matrix.. 42
Tabel 4.3. Pengaruh pengenalan nada dengan batas korelasi 0.5……………………. 43
Tabel 4.4. Pengaruh pengenalan nada dengan batas korelasi 0.6……………………. 44
Tabel 4.5. Hasil pengujian secara real time menggunakan Thresholding dengan variasi
Frame blocking 128, Segment averaging 2 dengan Confusion matrix…… 46
Tabel 4.6. Pengujian nada alat musik kencrung dengan Frame blocking 128 dan
Segment averaging 2……………………………………………………... 48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Musik adalah penghayatan isi hati manusia yang diungkapkan dalam bentuk bunyi yang
teratur dalam melodi atau ritme serta mempunyai unsur atau keselarasan yang indah[1]. Istilah
musik dikenal dari bahasa yunani yaitu musike,berasal dari kata muse-muse, yaitu Sembilan
dewa yunani dibawah dewa Apollo yang melindungi seni dan ilmu pengetahuan. Dalam
metodologi yunani konon mempunyai suatu arti sesuatu kehidupan.
Sejarah perkembangan musik tidak dapat dilepaskan dari perkembangan budaya. Musik
tidak lepas dengan adanya alat musik, musik dibagi menjadi 2 yaitu musik populer, dan musik
tradisional[2]. Musik populer contohnya pop, jazz, blus, rock, tradisional tradisional atau musik
yang hidup di masyarakat secara turun temurun.
Pada tugas akhir ini, penulis ingin membuat suatu sistem untuk mengenali nada dari alat
musik pianika. Tujuannya untuk membantu pemula yang ingin belajar memainkan pianika.
Pianika disebut juga dengan melodeon atau melodika,yaitu alat musik yang memakai bilah-bilah
nada dalam susunan khusus untuk dapat dimainkan dengan jari pemain, sementara untuk
perolehan bunyinya dengan cara ditiup.
Pada pembuatan sistem ini, penulis menemukan penelitian yang mirip mengenai
pengenalan nada pada pianika yaitu” PENGENALAN NADA ALAT MUSIK PIANIKA
MENGGUNAKAN METODE KORELASI” yang dilakukan oleh Dionysius Edwin Surya[3].
Dalam penelitian ini sistem dapat mengenali nada yang dipukul secara real time, pada penelitian
sebelumnya sistem dalam mengenali nada belum secara real time[4]. Metode yang digunakan
penulis yaitu metode Discrete Fourier Transform (DFT). Pembandingan nada yang dimainkan
menggunakan fungsi korelasi. Dari langkah ini diperoleh korelasi yang terbesar dengan nada
database. Korelasi yang terbesar ini merupakan nada yang dimainkan dan dipilih sebagai
keluaran. Peneliti memilih metode ini untuk mengembangkan pengenalan nada alat musik
pianika dan metode ekstraksi ciri yang digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
1.2 Tujuan dan Manfaat
Tujuan dari penulisan tugas akhir ini adalah menghasilkan sistem pengenalan nada alat
musik pianika. Manfaat dari penelitian ini adalah sebagai alat bantu bagi masyarakat yang
sedang belajar memainkan alat musik pianika supaya mengetahui nada dasar “C , C#, D, D#, E,
F, F#, G, G#, A, A# dan B”.
1.3 Batasan masalah
Sistem pengolahan nada pada alat musik pianika terdiri dari hardware dan software.
Fungsi dari hardware itu sendiri, yaitu untuk memasukan nada yang dimainkan pada alat musik
pianika. Sedangkan untuk software yang berada pada komputer untuk mengatur semua proses
pengenalan suara yang dimainkan alat musik pianika. Pada perancangan sistem ini, penulis 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 pianika yang digunakan “ C, C#, D, D#, E, F, F#, G, G#, A, A#, dan B”.
b. Hasil pengolahan secara real time.
c. Menggunakan Hamming Window, fungsi korelasi.
d. Jarak antara pianika ke microphone adalah 10cm.
e. Menggunakan perangkat lunak/software matlab dalam pembuatan program.
f. Menggunakan microphone JAZZ MIC 0-13.
1.4 Metode penelitian
Sistem otomatisasi pengenalan suara pada alat musik pianika, terdiri dari hardware dan
software. Hardware berfungsi untuk memasukkan suara yang dimainkan pada alat musik pianika
sedangkan software pada laptop berfungsi untuk mengatur semua proses pengenalan suara yang
dimainkan pada alat musik pianika.
Prinsip kerja dari sistem ini, input berupa suara yakni suara alat musik pianika. Suara ini
akan direkam dengan microphone yang kemudian diteruskan pada sistem pengenalan ini. Suara
akan disampling dan dicocokan dengan suara dasar yang ada pada database dengan
menggunakan metode DFT. Database ini berisi 12 nada yang direkam sebanyak 10 kali setiap
nada. Hasil dari sistem pengenalan nada ini ditampilkan pada layar yang berupa teks. Pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
perancangan sistem ini, penulis fokus pada pembuatan software komputer untuk memproses
pengenalan suara alat musik, sedangkan untuk hardware berupa Microphone JAZZ MIC 0-13
yang sudah tersedia di pasaran.
Langkah-langkah yang dilakukan dalam pengerjaan tugas akhir :
a. Pengupulan berbagai macam referensi
Seperti buku, jurnal dan artikel serta mempelajari teori yang mendukung dalam
penulisan tugas akhir.
b. Membuat sistem sebagai alat uji:
(i). Membuat rancangan tampilan utama pengenalan instrument alat musik menggunakan
GUI Matlab.
(ii). Merekam suara pianika yang akan digunakan sebagai database.
(iii). Membuat program secara tidak real time agar dapat mengetahui apakah program
berjalan atau tidak dengan mengggunakan database dan data uji.
(iv). Membuat database sebagai suara acuan untuk merancang suatu pengenalan suara.
(v). Membuat program secara realtime.
(vi). Melakukan pengujian program secara real time dengan alat musik pianika supaya
menghasilkan output sesuai yang diinginkan.
(vii). Melakukan pengujian dengan alat musik lain untuk penegas bahwa apabila dengan
alat musik selain pianika, akan menghasilkan keluaran error.
c. Analisa data dilakukan dengan meneliti pengaruh variasi DFT, Variasi Segment
averaging, serta memeriksa keakuratan data terhadap hasil proses pengolahan nada, dengan cara
membandingkan antara data di komputer dengan data di lapangan dan penyimpulan hasil
percobaan. Analisa data dilakukan dengan menyelidiki pengaruh variasi jumlah koefisien DFT
terhadap tingkat pengenalan nada alat musik pianika.
Gambar 1.1 Blok Model Perancangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB II
DASAR TEORI
2.1 Pianika
Pianika merupakan bentuk miniature dari piano atau keyboard. Pianika dimainkan
dengan ditiup langsung atau memakai pipa lentur yang dihubungkan ke mulut. Alat musik
pianika biasanya digunakan untuk memainkan melodi pokok, kontra melodi dan bila
memungkinkan dapat juga untuk mengiringi lagu [5]. Pianika mempunyai dua bilahan warna tuts
yaitu warna putih dan hitam [6]. Bilahan-bilahan yang berwarna putih untuk nada-nada asli
(natural) dan yang berwarna hitam untuk memainkan nada-nada kromatis (lihat Gambar 2.1).
Dalam memainkan alat musik pianika, tangan kiri memegang pianika dan tangan kanan menekan
untuk memainkan melodi lagu, sedangkan mulut meniupnya.
Gambar 2.1. Pianika
Tangga nada kres adalah nada dasar yang dalam menentukan susunan nada dalam sebuah tangga
nada, terdapat nada yang dinaikkan setengah nada,dapat dilihat pada gambar 2.1.1.
Gambar 2.1.1. Tangga nada dinaikkan setengah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
2.2 Sampling
Sampling adalah proses pencuplikan gelombang suara yang akan menghasilkan
gelombang diskret [7]. Dalam proses sampling ada yang disebut dengan laju pencuplikan
(sampling rate). Dengan Fs adalah frekuensi sampling, sedangkan Fm adalah frekuensi
tertinggi sinyal suara analog. Sampling adalah proses pengambilan sebuah sinyal terhadap
waktu tertentu. Pada saat proses sampling, nilai frekuensi sampling harus diperhatikan.
Frekuensi sampling merupakan laju pengambilan yang menandakan banyak pengambilan
sinyal analog dalam satu detik. Nilai satuan frekuensi sampling yakni Hertz (Hz).
Sampling rate menandakan berapa banyak pencuplikan gelombang analog dalam 1 detik.
Pada proses sampling, sebaiknya sampling rate memenuhi kriteria Nyquist. Kriteria Nyquist
menyatakan bahwa sampling rate harus lebih besar dari 2 kali frekuensi tertinggi sinyal
suara analog. Harry Nyquist dari Bell Laboratory mempelajari proses sampling dan
membuat kriteria untuk menentukan laju sampling (sampling rate) minimun untuk sinyal
analog kontinyu. Nilai frekuensi sampling sebaiknya tertuju pada kriteria Nyquist. Saat ini
laju sampling minimum dikenal sebagai Nyquist sampling rate yang menyatakan bahwa
frekuensi sampling minimal harus dua kali lebih besar dari frekuensi tertinggi dari sinyal
yang disampling tersebut. Rumus pada kriteia Nyquist dapat dituliskan [8].
𝐹𝑠 ≥ 2𝐹𝑚 (2.1)
Keterangan : Fs = frekuensi sampling (Hz)
Fm = frekuensi sinyal analog (Hz)
2.3 Normalisasi
Normalisasi merupakan suatu cara untuk mengatasi jarak antara sumber suara
dengan mikrofon. Pada perekaman atau pengambilan suara ini perlu normalisasi supaya
amplitudo nada saat dimainkan dapat menjadi maksimal. Proses normalisasi awal dilakukan
dengan cara membagi tiap nilai data masukanya itu nada terekam dengan nilai absolute
maksimal dari data masukan tersebut. Gambar normalisasi awal dapat dilihat pada
Lampiran L.2.1 sample nada ‘Do’, sebelum dinormalisasi dan L.2.2 setelah dinormalisasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
2.4 Pemotongan sinyal
Pemotongan sinyal merupakan proses yang berkaitan dengan ekstraksi ciri. Proses
ini bertujuan untuk memotong beberapa bagian sinyal. Dalam proses perekaman,
pemotongan sering terjadi untuk bagian awal dan akhir sinyal. Pemotongan bagian awal
dan akhir sinyal suara dimaksudkan untuk menghilangkan bagian yang tidak termasuk
bagian dari sinyal suara serta untuk mengurangi cacat sinyal akibat derau ruangan yang ikut
terekam. Sinyal yang dianggap sebagi noise tersebut berasal dari suara lingkungan sekitar
atau derau pernapasan. Keberadaan sinyal tersebut akan lebih baik jika diminimalisir
dengan cara dihilangkan. Untuk proses pemotongan 1 dan 2, pada gambar L.2.3 dan L.2.4.
2.5 Frame blocking
Frame Blocking adalah pembagian sinyal suara menjadi beberapa frame dan
biasanya untuk satu frame terdiri dari beberapa data sample. Pembagian frame blocking
memiliki jumlah data yang sama yaitu 2𝑁 data. Frame blocking itu sendiri berfungsi untuk
memilih data yang akan diproses dalam sistem pengenalan nada. Berikut merupakan
gambar dari frame blocking yang dapat dilihat pada gambar 2.2.
Gambar 2.2. Contoh Frame Blocking [9]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
2.6 Windowing
Pengenalan nada pada alat musik pianika ini, menggunakan windowing. Windowing
berfungsi untuk menghilangkan discontinuitas. Terjadinya discontinuitas diakibatkan oleh
proses Frame Blocking atau Framing. Untuk mendapatkan hasil yang maksimal pada
proses DFT maka sample suara yang telah dibagi menjadi beberapa frame perlu di jadikan
suara kontinu dengan cara mengkalikan tiap frame windowing tertentu. Pada pengenalan
nada alat musik pianika, windowing yang digunakan adalah windowing hamming.
Windowing Hamming adalah salah satu dari berbagai macam jenis windowing. Hamming
window merupakan window yang mempunyai sidelobe yang paling kecil dan mainlobe
yang paling besar sehingga hasil dari Windowing Hamming akan lebih halus dalam
menghilangkan efek discontinuitas. Untuk Windowing dapat dilihat pada Lampiran gambar
L.2.7 [Persamaan Windowing Hamming]. Berikut ini merupakan persamaan windowing
Hamming :
𝑤 𝑛 = 0.54 − 0.46. cos 2.𝜋 .𝑛
𝑁−1 (2.3)
Dimana : W(n)= windowing
N= jumlah data dari sinyal
n = waktu diskrit
2.8 DFT (Discrete Fourier Transform)
DFT merupakan perluasan dari transformasi fourier yang berlaku untuk sinyal-
sinyal diskrit dengan panjang yang terhingga. Untuk gambar hasil sinyal eksraksi cirri ada
pada lampiran L.2.8. Semua sinyal periodik terbentuk dari gabungan sinyal-sinyal
sinusoidal yang menjadi satu yang dirumuskan pada persamaan sebagai berikut [10]:
𝑋 k = 𝑥 𝑛 𝑁−1𝑛=0 𝑒−𝑗(2𝜋/𝑁)𝑛𝑘 (2.4)
Dengan: e = natural number (2.7182818284…) j = √-1
k = indeks dalam domain frekuensi (0, 1, 2, …, N-1)
n = indeks dalam domain waktu (0,1,2, …, N-1)
X= indeks domain
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.10 Segment averaging
Segment averaging merupakan metode untuk mengurangi jumlah data sinyal
dengan data masukan disegmentasi dengan lebar segment,yang kemudian dicari rata-
ratanya pada tiap segment. Keluaran dari proses Segment averaging adalah rata-rata dari
setiap segment[11]. Gambar sinyal hasil Segment averaging masukan dari Ekstraksi ciri
DFT dapat dilihat pada lampiran L.15.
(2.5)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
S1 S2 S3 S4
1 2 3 4
S1 C1
5 6 7 8
S2 C2
9 10 11 12
S3 C3
13 14 15 16
S4 C4
Gambar 2.3. Segment averaging
2.11 Perhitungan Korelasi
Korelasi digunakan untuk menghitung besarnya perubahan antara dua variabel.
Korelasi ini membagi dua variabel yang satu dengan yang lainnya yang saling
berhubungan. Korelasi dirumuskan sebagai berikut [12] :
𝐷(𝑥, 𝑦) = (𝑥𝑖𝑚𝑖=1 −𝑥𝑖 )(𝑦 𝑖−𝑦𝑖 )
(𝑥𝑖𝑚𝑖=1 −𝑥𝑖 )2 (𝑦 𝑖
𝑚𝑖=1 −𝑦𝑖 )2
(2.6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Dengan keterangan sebagai berikut :
𝑥𝑖 = rata-rata variable data masukan
𝑦𝑖 = rata-rata variable data referensi
𝑥𝑖 = data masukan
𝑦𝑖 = data referensi
𝐷 𝑥, 𝑦 = hasil jarak antara x dan y
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
BAB III
PERANCANGAN
3.1. Sistem Pengenalan Nada Alat Musik Pianika
Sistem pengenalan nada alat musik pianika menggunakan sebuah software yang
berfungsi untuk user interface, Software yang dibuat menggunakan program Matlab. Software
bertujuan untuk memudahkan user saat melakuan pengenalan nada. Software ini berperan
sebagai pusat proses pengenalan nada, seperti memulai perekaman hingga menampilkan hasil
nada yang dikenali.
Sistem pengenalan nada ini dilakukan secara real time. Diperlukan beberapa komponen
selain software yang digunakan dalam pengenalan nada. Diantaranya alat musik pianika sebagai
sumber suara, microphone, laptop yang didalamnya terdapat soundcard. Gambar 3.1
memperlihatkan blok diagram keseluruhan dari sistem pengenalan nada pada alat musik pianika.
Gambar 3.1 Blok Diagram Keseluruhan Sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
1. Pianika
Sistem pengenalan nada alat musik pianika terdiri dari software pada computer yang
berfungsi sebagai user interface dalam proses pengenalan. Software komputer yang dibuat dalam
bentuk user interface dengan program Matlab berperan sebagai pusat pengaturan semua proses
pengenalan nada alat musik pianika, seperti merekam suara nada pianika dan mengenali suara
nada yang terekam. Perekaman suara dilakukan komputer melalui mikrofon (microphone)[13]
dan jalur line in pada kartu suara (SoundCard)[14]). Pada proses pengenalan nada pianika, data
berupa input Wav dinormalisasi. Kemudian,data diolah melalui proses windowing untuk analisa
sinyal menggunakan DFT. Untuk tahap terakhir, penyelesaian dengan fungsi korelasi digunakan
dalam sistem pengenalan nada pianika.
2. 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 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.
3. Proses Pengenalan Nada
Proses pengenalan nada adalah proses dimana nada terekam dikenali nadanya. Proses ini
terdiri dari subproses frame blocking, normalisasi, Windowing, DFT, perhitungan korelasi dan
penentuan. Proses pengenalan nada dapat dilihat pada Gambar 3.2.
Gambar 3.2 Proses Pengenalan Nada Pianika
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
a. Frame blocking
Proses ini memilih data dari data nada terekam, sehingga data yang dipilih dapat mewakili semua
data pada nada terekam. Besarnya data nada terekam yang dipilih sesuai dengan nilai frame
blocking yang sudah ditentukan pada program.
b. Normalisasi
Proses ini bertujuan untuk menyetarakan amplitudo maksimum baik nada terekam dengan nada
referensi, sehingga efek dari kuat lemahnya suara yang dikeluarkan pianika tidak terlalu
mempengaruhi proses pengenalan.
c. Pemotongan Sinyal
Fungsi proses pemotongan sinyal adalah untuk menghilangkan efek noise atau suara
lain yang ikut terekam saat proses perekaman. Hal ini diperlukan agar proses pengenalan mampu
benar-benar hanya mengenali suara nada yang diperlukan saja. Proses pemotongan sinyal akan
memotong sinyal pada bagian silence dan bagian transisi yang terletak pada awal perekaman.
d. Windowing
Windowing merupakan perkalian antar elemen yang berfungsi untuk mengurangi efek
diskontinuitas dari sinyal digital hasil rekaman. Dalam perancangan ini penulis menggunakan
window hamming dari jenis-jenis windowing yang ada.
e. Ekstraksi ciri DFT
Setelah melalui proses windowing, proses selanjutnya adalah penghitungan ekstraksi ciri
DFT. Ektraksi ciri DFT digunakan untuk mengubah sinyal menjadi komponen frekuensi
dasarnya. Pada proses DFT dilakukan proses penghitungan nilai absolut DFT dan pemotongan
setengah bagian dari hasil perhitungan nilai DFT. Setelah proses ekstraksi ciri dilakukan proses
Segment averaging yang berfungsi untuk melakukan segmentasi pada data hasil ekstraksi ciri.
Segment averaging merupakan metode untuk mengurangi jumlah data sinyal dengan data
masukan disegmentasi dengan lebar segment, yang kemudian dicari rata-ratanya pada tiap
segment. Keluaran dari proses Segment averaging adalah rata-rata dari setiap Segment.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
f. Fungsi Korelasi
Proses ini membandingkan nada terekam dengan 12 nada referensi. Hasil dari perbandingan
yang kemudian akan digunakan dalam proses selanjutnya. Pada proses pengenalan, yang diambil
adalah jarak yang terdekat dengan nada terekam. Dalam proses ini penulis menggunakan fungsi
korelasi untuk pengenalan nada alat musik pianika.
g. Penentuan keluaran
Penentuan keluaran adalah subproses terakhir dari proses pengenalan nada. Pada proses ini,
hasil pengenalan nada ditentukan berdasarkan nilai jarak minimum yang diperoleh setelah proses
fungsi korelasi.
h. Keluaran (Teks)
Dari penentuan nada, dapat diketahui nada yang dimainkan. Keluarannya berupa teks nada.
3.2 Perancangan Nada Referensi
Sebagai penentuan pengenalan nada alat musik pianika dibutuhkan nada acuan yang
disebut nada referensi. Nada referensi hendaknya memiliki ciri yang sudah diketahui oleh
sistem. Nada referensi diperlukan sebagai database yang nantinya akan dibandingkan dengan
nada yang akan dikenali. Untuk memperoleh nada refrensi pada setiap nada yang akan dikenali
pada sistem pengenalan nada alat musik pianika, penulis mengambil 10 sampel pada setiap nada
yang akan dikenali tersebut (nada C , C# , D , D# , E , F , F# G , G# , A , A# dan B).
Pengambilan nada refrensi melalui beberapa proses. Proses pengambilan nada referensi dapat
dilihat pada Gambar 3.3. Pengambilan nada yang akan dijadikan nada referensi melalui proses
sampling, frame blocking, normalisasi, windowing dan DCT. Pengambilan dilakukan dengan
menggunakan program Matlab yang akan dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Gambar 3.3 Diagram blok Proses Pengambilan Nada Referensi
Proses pengambilan nada disesuaikan dengan variabel bebas pada pembuatan sistem
pengenalan nada alat musik pianika, 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 DFT yang telah dinormalisasi sebagai
nada sampelnya, sehingga sistem pengenalan nada alat musik pianika tidak melakukan
perhitungan kembali dalam mendapatkan nada referensi dan proses pada sistem pengenalan nada
alat musik pianika dapat berjalan lebih cepat.
Nada referensi 1 =𝑥𝑐 𝑛𝑎𝑑𝑎 𝑠𝑎𝑚𝑝𝑒𝑙 1+𝑥𝑐 𝑛𝑎𝑑𝑎 𝑠𝑎𝑚𝑝𝑒𝑙 2+..+𝑥𝑐 𝑛𝑎𝑑𝑎 𝑠𝑎𝑚𝑝𝑒𝑙 10
10 (3.1)
Nada referensi yang didapat kemudian disimpan dalam fungsi yang ada dalam sistem
pengenalan nada alat musik pianika. Sehingga sewaktu-waktu nada referensi dapat dipanggil
dalam proses perhitungan korelasi yang ada dalam sistem pengenalan alat musik pianika.
3.3 Nada Uji
Nada uji merupakan nada terekam selain nada referensi. Nada uji berfungsi untuk
mengetahui DFT yang baik untuk pengenalan nada. Pengambilan nada uji sama halnya dengan
pengambilan nada referensi. Proses yang dilakukan yaitu sampling, frame blocking, normalisasi,
windowing dan DFT. Untuk memperoleh nada uji pada setiap nada pada pengenalan nada alat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
musik pianika, penulis mengambil 10 sample pada setiap nada yang akan digunakan, untuk
menguji sistem (nada C, C#, D, D#, E, F, F# G, G#, A, A# dan B). Proses pengambilan dapat
dilihat pada Gambar 3.6. Pengambilan nada yang akan digunakan sebagai nada uji harus melalui
proses sampling.
Gambar 3.4 Diagram blok proses pengambilan nada uji
Gambar 3.5 Tampilan Utama Program
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Tabel 3.1 KeteranganTampilan Program
Nama Bagian
Keterangan
Tombol Rekam
Digunakan untuk mengambil suara nada alat
musik pianika yang sedang dimainkan.
Tampilan Nada Untuk menampilkan nada yang didapat setelah
dilakukan proses pengenalan.
Tombol Reset Digunakan bila ingin memulai proses
pengenalan nada yang baru.
Plot Hasil Rekaman
Tampilan grafik suara hasil perekaman.
Plot Hasil DFT
Tampilan data berupa grafik data hasil DFT
baik dari rekaman maupun dari 12 nada
referensi.
3.4 Perancangan Diagram Blok
Dalam melakukan pengenalan nada, ada beberapa tahap yang dilalui. Gambar 3.8
memperlihatkan alur dari proses-proses yang dilaui dalam melakukan pengenalan nada. Pada
gambar ini memperlihatkan alur dari mulai perekaman hingga menampilkan nada yang dikenali
oleh program. pengenalan nada alat musik pianika akan dieksekusi saat user mulai menjalankan
program ini. Setelah tampilan utama terlihat, proses pengujian sudah dapat dilakukan. User
pertama kali harus mengisikan parameter yang digunakan dalam pengujian pada list box” Frame
blocking dan Segment averaging”. Setelah mengambil data acuan dengan menekan tombol
“Rekam”, selanjutnya program akan melakukan proses pengambilan nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Gambar 3.6 Diagram blok keseluruhan.
3.4.1 Rekam
Alur program rekam dapat dilihat pada Gambar 3.9. Proses rekam suara nada alat
musik pianika bermula dari komputer menjalankan fungsi untuk merekam. Hasil yang didapat
dari proses rekam yaitu sampling. Proses sampling adalah proses pengambilan nada alat musik
pianika dengan parameter frekuensi sampling yang sudah ditentukan dalam sistem. Setelah
perekaman selesai, komputer menggambar bentuk spektrum nada terekam hasil perekaman. Nilai
frekuensi tersebut didapat melalui proses perhitungan menggunakan persamaan 2.1 berikut:
Hasil dari proses perekaman nada akan ditampilkan dalam bentuk plot atau grafik yang
terdapat pada interface GUI Matlab. Banyaknya data yang tercuplik dihitung dari persamaan
berikut:
Data tercuplik = frekuensi sampling x waktu sampling (3.2)
Hasil dari sampling berupa sinyal dari data-data yang tercuplik.
Mulai
Nada Pianika
Rekam
Normalisasi 1
Pemotongan
Sinyal
Frame Blocking
Normalisasi 2
Windowing
DFT
Segment
averaging
Selesai
Perhitungan
korelasi
Penentuan
hasil pengenalan
Keluaran teks
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Gambar 3.7. Diagram alir Proses Rekam
3.4.2 Normalisasi awal (1)
Alur program normalisasi 1 diperlihatkan pada Gambar 3.8. Tujuan dari proses
normalisasi 1 adalah untuk menyetarakan amplitude dari data sinyal nada terekam sehingga
dapat terbentuk pada skala yang sama agar kuat atau lemahnya suara nada yang dimainkan tidak
terlalu mempengaruhi proses pengenalan nada . Dalam proses normalisasi ini, nilai-nilai data
masukan nada terekam dibagikan dengan nilai absolute maksimal dari data itu sendiri sehingga
didapatkan sinyal yang ternormalisasi untuk nada terekam.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Gambar 3.8. Alur program normalisasi 1
Proses normalisasi pada nilai nilai amplitude dibentuk dengan rumus berikut:
(3.3)
dengan keterangan sebagai berikut :
X_norm = hasil data sinyal normalisasi (1,2,3,…,N)
X_in = data input (1,2,3,…,N)
N = merupakan banyaknya data sinyal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
3.4.3 Pemotongan Sinyal
Alur program pemotongan sinyal dapat dilihat pada gambar 3.9, pemotongan sinyal
adalah proses pemotongan sinyal awal yang tidak digunakan, yang terdapat di sisi kiri atau
bagian awal sebelum sinyal nada pianika. Tujuan dari proses pemotongan ini adalah untuk
menghilangkan sinyal efek noise atau suara lain yang ikut terekam pada saat proses perekaman
agar didapatkan sinyal yang benar-benar suara nada alat musik pianika.
Gambar 3.9 Diagram Alir Pemotongan Sinyal.
3.4.4 Frame Blocking
Alur program frame blocking dapat dilihat pada gambar 3.10. Setelah proses pemotongan
sinyal sisi kiri, maka proses selanjutnya yaitu frame blocking. Nilai frame telah ditentukan dalam
program yaitu sebesar 512, nilai ini didapatkan berdasarkan penelitian-penelitian sebelumnya
yang telah dilakukan. Proses ini akan mengambil data sepanjang nilai frame yang telah
ditentukan. Data yang telah diambil dapat mewakili data terekam, tujuannya agar dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
memudahkan dalam perhitungan dan analisa sinyal. Data yang diambil tersebut merupakan
keluaran untuk proses frame blocking.
Gambar 3.10. Alur program Frame blocking.
3.4.5 Normalisasi akhir (2)
Data masukan yang telah melalui proses sebelumnya dibagi dengan nilai maksimal dari
frame blocking, sehingga didapatkan keluaran untuk proses normalisasi. Data dari 12 nada
referensi dan data dari nada terekam digambarkan dalam bentuk sinyal. Hasil konversi
ternormalisasi kemudian dibandingkan dengan 12 nada referensi dengan menggunakan fungsi
korelasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Gambar 3.11. Diagram Alir Normalisasi Akhir.
Proses ini digunakan agar besarnya nilai amplitude dari data sinyal nada yang sudah di
Frame blocking terbentuk pada skala yang sama. Tujuannya agar pengaruh dari kuat atau
lemahnya suara nada dapat diminimalkan. Hasil dari normalisasi dirancang agar batasan nilai
amplitude puncak dari data nada tersebut bernilai 1 atau -1 dan nilai amplitude yang lainnya
menyesuaikan dengan skala tersebut. Proses normalisasi pada nilai-nilai amplitude menggunakan
persamaan 3.3.
3.4.6 Windowing Hamming
Pada proses ini masukan (hasil dari normalisasi) dikalikan dengan windowing hamming
sehingga didapatkan hasil dari proses windowing. Fungsi dari proses windowing ini untuk
mengurangi efek diskontinuitas saat sinyal ditransformasikan ke domain DFT.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Gambar 3.12. Diagram Blok Windowing hamming
Tahap setelah normalisasi yaitu tahap Windowing. Untuk pengelanan nada saksofon alto
ini menggunakan Windowing Hamming sebagai proses selanjutnya. Fungsi dari pada proses
windowing ini untuk mengurangi efek diskontinuitas saat sinyal ditransformasikan ke domain
frekuensi.
Untuk mendapatkan hasil yang maksimal pada proses DFT, maka sample suara yang
telah dibagi menjadi beberapa frame perlu di jadikan suara continue dengan cara mengkalikan
tiap frame Windowing tertentu.. Berikut ini merupakan persamaan dari Windowing Hamming :
(3.4)
Dimana : w(n) = windowing
N = jumlah data dari sinyal
n = waktu diskrit ke-
Sinyal hasil windowing didapat dari perkalian elemen dari data windowing Hamming dan
data sinyal hasil normalisasi.
Mulai
Masukan hasil normalisasi
Perkalian elemen
Keluaran hasil windowing
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
3.4.7 DFT
Nilai dari DFT yang diperoleh kemudian dicari nilai absolutnya. Pada proses ini diperoleh
keluaran hasil ekstraksi ciri berupa matriks . Diagram alir dari proses DFT diperlihatkan pada
gambar 3.13. Hasil dari proses ini kemudian ditampilkan dalam bentuk grafik
.
3.4.8 Segment averaging
Segment Averaging merupakan metode untuk mengurangi jumlah data sinyal dengan data
masukan disegmentasi dengan lebar segment,yang kemudiandicari rata-ratanya pada tiap
segment.Keluaran dari proses segment averaging adalah rata-rata dari setiap segment. Diagram
alir Segment Averaging dapat dilihat pada gambar 3.15.
Gambar 3.13. Diagram Alir DFT dan Segment Averaging
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
3.4.9 Korelasi
Pada proses ini korelasi berfungsi untuk mengetahui besarnya perubahan antara dua variable.
Fungsi ini membagi dua variable yang satu dengan lainnya saling berhubungan. Dalam hal ini
menjadi variable yang akan dibandingkan adalah data referensi atau data terekam.
Gambar 3.14 Diagram alir proses korelasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Gambar 3.15 Diagram blok Penentuan Nada Hasil Pengenalan.
3.5. Perancangan Subsistem Program
Terdapat dua subsistem penting dalam sistem pengenalan nada pianika, yaitu subsistem
sampling dan subsistem pengenalan nada. Perancangan subsistem tersebut memerlukan variabel
terikat, sehingga pengenalan dapat berhasil dan dengan waktu proses yang optimal. Pengujian
awal untuk mencari variabel tersebut sangat diperlukan karena dalam program tersebut memiliki
fungsi–fungsi menunjang subsistem dari sistem program pengenalan nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3.6. Subsistem Sampling
Dalam subsistem ini terdapat dua variabel terikat berupa frekuensi sampling dan durasi
perekaman. Setelah melakukan pengujian awal, dapat disimpulkan:
a. Frekuensi sampling yang digunakan adalah 4800 Hz. (lihat lampiran)
b. Durasi perekaman yang digunakan adalah 2 detik. (lihat lampiran)
3.7. Subsistem Pengenalan Nada
Subsistem ini terdiri dari tiga proses menggunakan variabel terikat yaitu proses frame
blocking, windowing dan DFT. Pengujian berikutnya adalah mencari nilai-nilai yang optimal
untuk proses pengenalan nada khususnya dalam subsistem pengenalan nada ini, karena subsistem
ini adalah inti dari sistem pengenalan pianika. Pencarian nilai-nilai yang optimal berpengaruh
pada unjuk kerja dalam subsistem ini.
a. Variasi DFT yang digunakan untuk mengkonversi data hasil windowing adalah 16, 32,
64, 128. Dalam subsistem pengenalan nada, data hasil DFT yang digunakan adalah data riil atau
amplitudonya.
b. Frame blocking mengambil sampel data dari data suara terekam (data yang diperoleh
dalam proses sampling). Nilai variasi frame blocking sama dengan nilai variasi dari DFT.
c. Variasi Segment averaging digunakan untuk mengkonversi data hasil DFT.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
BAB IV
HASIL DAN PEMBAHASAN
Program yang telah dibuat perlu dilakukan sebuah pengujian. Pengujian berguna untuk
mengetahui kinerja program tersebut dalam melakukan pengenalan nada. Pada pengujian akan
diperoleh hasil pengujian berupa data-data. Data-data hasil pengujian menunjukan program yang
telah dirancang dapat berjalan dengan baik atau tidak. Pada bab ini akan dilakukan analisa dan
pembahasan pada data hasil pengujian yang telah diperoleh.
4.1. Program Pengujian pengenalan Nada Pianika
Perancangan program menggunakan software Matlab 7.6.0 (R2008a). Pada
pengujian program menggunakan laptop dengan spesifikasi:
Prosesor : Intel®Core™ i3 CPU @ 2.53 GHz
RAM : 4 GB
Tipe sistem : Sistem operasi 32 bit
Dalam perancangan ini, dibuat GUI agar user dengan lebih mudah menggunakan aplikasi
dalam penelitian ini. Proses pengenalan suara pianika dapat dilakukan dengan menjalankan
perintah-perintah yang terdapat dalam GUI, seperti berikut :
1. Sebelum membuka tampilan program, perlu memastikan terlebih dahulu pada Current
Directory sudah sesuai dengan tempat penyimpanan program yang telah dirancang.
2. Mengetikan perintah gui pada Command window untuk memunculkan tampilan program
pengenalan suara instrument musik. Setelah itu akan muncul tampilan program
pengenalan suara instrument musik seperti pada Gambar 4.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 4.1 Tampilan Program Pengenalan nada pianika
3. User memilih nilai variasi frame blocking, Segment averaging dan data base yang akan
digunakan terlebih dahulu sebelum melakukan pengenalan nada. Nilai variasi frame
blocking yang disediakan adalah 16, 32, 64 dan 128. Nilai variasi Segment averaging
yang disediakan adalah 2, 4, 8, 16, 32 dan 64 .
4. Apabila langkah 3 sudah dilakukan, user dapat memulai pengenalan nada dengan
menekan tombol “REKAM”. Hasil pengenalan nada pianika terlihat seperti pada gambar
4.4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 4.2 Tampilan Hasil Pengenalan
5. User dapat mengulang kembali pengenalan nada dengan menekan tombol “RESET” dan
mengulang kembali langkah 3 dan 4.
4.1.1 Pengenalan Nada
Untuk memulai pengenalan nada, Pengaturan yang perlu dilakukan adalah dengan
memilih nilai nilai variasi frame blocking, Segment averaging dan nilai Data base yang terdapat
pada pop up menu. Setelah menentukan nilai variasi yang akan digunakan, user dapat memulai
pengenalan nada dengan menekan tombol tekan ”REKAM”. Hasil pengenalan yang ditampilkan
adalah plot perekaman, plot DFT, dan nada yang berhasil dikenali. User dapat mengulang
pengenalan nada dengan menekan tombol “RESET”.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
a. PopUp Menu 1
Pada program ini, pop up menu digunakan untuk variasi nilai frame blocking yaitu 16, 32. 64
dan 128. Listing program untuk variasi nilai frame blocking adalah sebagai berikut :
Pada program di atas, Frame blocking diinisialisasi menggunakan nama framebl yang dibagi
dalam 4 kondisi sesuai dengan banyaknya variasi. Inisialisasi Frame tersebut diproses
menggunakan perintah handles. Perintah ini digunakan untuk data atau nilai frame blocking yang
telah diinisialisasi sebagai masukan apabila dilakukan callback. Pada pop up menu variasi
jumlah sampel per kelas listing program sebagai berikut:
indeks=get(handles.popupmenu1,'Value
');
switch indeks
case 1
framebl=16;
case 2
framebl=32;
case 3
framebl=64;
case 4
framebl=128;
end
handles.frame=framebl;
guidata(hObject,handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
b. PopUp Menu 2
Pada program ini, pop up menu digunakan untuk variasi nilai Segment averaging yaitu 2,
4, 8, 16, 32 dan 64. Listing program untuk variasi nilai Segment averaging sebagai
berikut:
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
segaveragl=2;
case 2
segaveragl=4;
case 3
segaveragl=8;
case 4
segaveragl=16;
case 5
segaveragl=32;
case 6
segaveragl=64;
end
handles.segaverag=segaveragl;
guidata(hObject,handles);
Nilai-nilai variasi Segment averaging diinisialisasikan dengan nama Segaverag kemudian
diproses dengan perintah handles.
c. PushButton, Axes, dan Static Text
Dalam program ini menggunakan 2 Push Button, masing-masing untuk memulai dan
mengakhiri program pengenalan nada yaitu tombol “REKAM”. Tombol “REKAM” adalah
tombol yang berfungsi untuk melakukan pengenalan suara instrumen musik. User dapat
melakukan pengenalan suara instrumen musik dengan menekan tombol tersebut. Tombol
“REKAM” memulai pengenalan suara musik dengan menjalankan beberapa subproses.
Subproses yang dijalankan dimulai dari perekaman suara musik, ekstraksi ciri DFT,
penghitungan Korelasi dan penentuan hasil pengenalan suara musik berdasarkan data yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
dipilih oleh user pada nilai Segment averaging. Berikut listing program untuk proses perekaman
suara dan untuk menampilkan plot sinyal suara terekam:
sample_length=2;
sample_freq=4800;
sample_time=(sample_length*sample_freq);
x=wavrecord(sample_time, sample_freq);
%wavwrite(x, sample_freq, 's.wav');
axes(handles.axes1)
plot(x);
xlabel ('data ke');
ylabel ('amplitudo');
Pada program perekaman suara, panjang sampel yang digunakan adalah 2 detik dengan
frekuensi sampling sebesar 4.8 kHz. 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.
Perekaman suara instrumen musik pada Matlab menggunakan perintah wavrecord dan wavwrite
untuk menyimpan suara yang telah direkam. Suara yang telah terekam tersebut diplot pada
tampilan program pengenalan menggunakan perintah plot. Suara terekam diplot pada axes yang
telah tersedia di dalam tampilan program perekaman dan ekstraksi ciri DFT.
% DFT
x5=abs(dftx(x4));
x5=x5(1:length(x5)/2);
x5(1)=0; % komponen DC dinolkan
x5=x5/max(x5) % normalisasi
Suara terekam dan yang telah disimpan dipanggil kembali menggunakan perintah wavread.
Dilakukan penginisialisasian nilai frame blocking dan Segment averaging untuk memudahkan
menjalankan proses ekstraksi ciri. Proses ekstraksi ciri memiliki 2 masukan yaitu variabel b0,
frame, dan Segment averaging. bo adalah nilai batas potong. Frame dan Segment averaging
merupakan nilai masukan yang telah dipilih oleh user. Hasil dari ekstrasi ciri ditampilkan pada
tampilan program seperti halnya hasil perekaman.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Listing program untuk menampilkan plot spektrum :
b0=0.3;
fb=handles.frame;
segaverag=handles.segaverag;
dbx=handles.dbx;
%Segment averaging
% Normalisasi
x1=x/max(abs(x));
% Potong kiri
b1=find(x1>b0 | x1<-b0);
x1(1:b1(1))=[];
% Potong kiri 2
bts=floor(0.25*length(x1));
x1(1:bts)=[];
%frame blocking
x2=x1(1:fb);
% Normalisasi 2
x3=x2/max(abs(x2));
%Windowing Hamming
h=hamming(fb);
x4=x3.*h;
% DFT
x5=abs(dftx(x4));
x5=x5(1:length(x5)/2);
x5(1)=0; % komponen DC dinolkan
x5=x5/max(x5) % normalisasi
%Segment averaging
x6=reshape(x5,segaverag,[]); %hasil max:16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
x6=mean(x6);
x6=x6(:);
Dalam program untuk menampilkan plot spektrum, proses pertama yang dilakukan
adalah normalisasi awal untuk sinyal nada terekam yang ditampilkan pada kotak axes 1.
Normalisasi dilakukan dengan cara membagi data masukan (data sinyal nada terekam) dengan
nilai absolut data tersebut. Proses selanjutnya adalah pemotongan sinyal yang dilakukan
sebanyak dua kali. Pemotongan yang pertama pada bagian silence atau bagian awal sinyal yang
tidak termasuk sinyal nada dan pemotongan kedua pada bagian transisi. Tujuan dari proses
pemotongan adalah untuk menghilangkan sinyal yang tidak termasuk sinyal nada belira dan
untuk mengurangi cacat sinyal akibat derau ruangan yang ikut terekam. Pada pemotongan sinyal
silence, 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, bts diinisialisasikan sebagai ¼ bagian sinyal yang
terdapat di bagian awal.Sinyal tersebut dihilangkan untuk mendapatkan sinyal yang benar-benar
sinyal suara nada belira. Proses selanjutnya adalah frame blocking yang tujuannya untuk
mengambil sebagian data sesuai panjang nilai frame blocking yang dipilih oleh user.Data yang
diambil tersebut untuk mewakili seluruh data yang terekam. Sinyal hasil frame blocking
kemudian melalui proses normalisasi akhir yang bertujuan untuk menyetarakan amplitudo hasil
frame blocking. Proses normalisasi akhir sama dengan normalisasi awal yaitu membagi data
masukan yaitu hasil frame blocking dengan nilai absolut data tersebut. Selanjutnya akanmelalui
proses windowing untuk menghilangkan diskontinuitas yang diakibatkan oleh proses frame
blocking. Proses windowing ini menggunakan Hamming Window. Dalam prosesnya, hasil
normalisasi akhir dikalikan dengan hamming. Setelah proses windowing, selanjutnya adalah
perhitungan dengan DFT, perhitungan ini untuk membangkitkan spektrum yang kemudian akan
dianalisis untuk mengetahui nada yang dimainkan oleh user.
Listing program untuk menampilkan hasil teks nada keluaran :
axes(handles.axes2)
bar (x6);
xlabel ('data ke');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
ylabel ('amplitudo');
if (fb==16) &&(segaverag==2)
load dbdft16seg2;
elseif (fb==16) &&(segaverag==4)
load dbdft16seg4;
elseif (fb==16) &&(segaverag==8)
load dbdft16seg8;
elseif (fb==32) &&(segaverag==2)
load dbdft32seg2;
elseif (fb==32) &&(segaverag==4)
load dbdft32seg4;
elseif (fb==32) &&(segaverag==8)
load dbdft32seg8;
elseif (fb==32) &&(segaverag==16)
load dbdft32seg16;
elseif (fb==64) &&(segaverag==2)
load dbdft64seg2;
elseif (fb==64) &&(segaverag==4)
load dbdft64seg4;
elseif (fb==64) &&(segaverag==8)
load dbdft64seg8;
elseif (fb==64) &&(segaverag==16)
load dbdft64seg16;
elseif (fb==64) &&(segaverag==32)
load dbdft64seg32;
elseif (fb==128) &&(segaverag==2)
load dbdft128seg2;
elseif (fb==128) &&(segaverag==4)
load dbdft128seg4;
elseif (fb==128) &&(segaverag==8)
load dbdft128seg8;
elseif (fb==128) &&(segaverag==16)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
load dbdft128seg16;
elseif (fb==128) &&(segaverag==32)
load dbdft128seg32;
elseif (fb==128) &&(segaverag==64)
load dbdft128seg64;
end
Ektraksi database diperoleh dari proses dengan menggunakan program pada Lampiran 4.
% Perhitungan korelasi
for n=1:12 % Ada 12 data nada pada database
z(n)=korelasi(x6,dbz(:,n));
end
% Pengurutan hasil perhitungan korelasi
[s1,s2]=sort(z,'descend');
bataskorelasi=0.5; % Batas korelasi untuk deteksi error
if s1(1)>bataskorelasi
% Kelas keluaran
kelasout=s2(1);
% Nada keluaran
nada={'A';'A#';'B';'C';'C#';'D';'D#';'E';'F';'F#';'G';'G#'};
% Ada 12 nada keluaran
nadaout=nada{kelasout};
else
nadaout='error';
end
set(handles.text1,'String',nadaout);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Perintah program di atas adalah untuk menjalankan hasil penentuan keluaran nada apa
yang keluar. Untuk menentukan bukan suara yang dihasilkan menggunakan metode
Thresholding. bertujuan untuk mengambil kelas terdekat atau tetangga terdekat dari perhitungan
nilai korelasinya. Metode Thresholding bertujuan untuk menentukan hasil keluaran yang tidak
sesuai dengan suara pada database dengan penamaan “ ERROR ”. Nilai Thresholding didapatkan
dari nilai batas optimal pada setiap suara. Penentuan keluaran menggunakan fungsi logika “if dan
else” dimana melihat beberapa syarat yaitu kelas dan nilai thresholding, jika salah satu tidak
terpenuhi maka program akan lanjut ke proses else. Hasil keluaran yang sesuai dengan
persyaratan kelas dan nilai Thresholding akan di tampilkan dengan format “set
(handles.text1,’string’,nadaout)” dimana hasil keluaran akan ditampilan pada text1 berupa text
yakni berdasarkan penamaan pada program hasil pengeluaran. Variabel keluaran adalah
inisialisasi nada alat musik. Nilai data yang paling banyak muncul akan dipanggil sebagai
keluaran sesuai dengan nama yang telah diinisialisasi.
d . Tombol “RESET”
Tombol “RESET” digunakan apabila user masih ingin melakukan pengenalan suara untuk suara
lainnya. Tombol “RESET” berfungsi mengembalikan atau mengulang tampilan program
ketampilan awal. Program yang digunakan untuk tombol RESET adalah sebagai berikut:
axes(handles.axes1);
plot(0);
axes(handles.axes2);
plot(0);
set(handles.text1,'String',' ');
4.1. Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat
Pengenalan Nada Alat Musik Pianika
Untuk pengujian program pengenalan alat musik pianika, tahapan pengujian yang
dilakukan adalah pada parameter pengenalan nada yaitu pengujian parameter pengaturan
pengenalan nada meliputi pengujian secara tidak real-time dan pengujian secara real-time .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Tujuannya adalah untuk mencari nilai perameter yang menghasilkan tingkat pengenalan
(recognition rate) yang paling baik dan untuk mengetahui tingkat kesalahan program dalam
mendeteksi masukan nada alat musik pianika.
4.2.1 Pengujian Parameter Pengenalan Nada
Pada pengujian ini bertujuan untuk menguji seberapa besar tingkat pengenalan nada dari
setiap parameter. Parameter ini antara lain frame blocking, segment averaging dan data base.
Pengujian program pengenalna alat musik pianika ini menggunakan 2 cara, yaitu pengujian
secara tidak real-time, dan pengujian secara real-time. Untuk pengujian secara real-time dibagi
menjadi 2 cara, real-time tanpa Thresholding, dan real-time menggunakan Thresholding.
4.1.1.1. Pengujian Secara Tidak Real-Time
Nada uji digunakan sebagai nada masukan untuk pengujian tidak real time. Proses
pengambilan nada uji sama dengan proses pengambilan database nada. Pengujian tidak real time
menggunakan nada uji sebanyak 16, 32, 64 dan 128 data (database 10). Hasil pengujian tidak
real time adalah data tingkat pengenalan nada dari pengujian yang telah dilakukan. Persentase
tingkat pengenalan sistem dapat dicari dengan menggunakan program (lampiran 4).
Data tingkat pengenalan untuk database 10 disetiap nadanya (lampiran 5) tersebut
dipresentasikan dengan persentase yang menunjukan tingkat pengenalan nada berdasarkan
variasi nilai frame blocking, Segment averaging dan data base seperti yang ditunjukkan pada
tabel 4.1.
Tabel 4.1. Menggunakan data base 10
Frame
blocking
Segment averaging
2 4 8 16 32 64
16 33% 23,3% 18,3% - - -
32 90,8% 75,8% 45% 23,3% - -
64 100% 100% 83,3% 50% 32,5% -
128 100% 100% 100% 86,6% 54,1% 30,83%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 4.3. Gambar Pengaruh Perubahan Segment averaging terhadap persentase
keberhasilan pada frame blocking.
Hasil pengenalan di atas berdasarkan dari tabel dan (lampiran 5) merupakan hasil pengenalan
nada dari program yang menggunakan database 10. Dari hasil pengenalan nada tersebut di
evaluasi apakah dengan menggunakan database nada 10 sudah mampu mengenali nada pianika.
Setelah dievaluasi diperoleh pengenalan terbaik yang akan digunakan sebagai pengenalan nada
secara real time.
Berdasarkan tabel 4.1 dan (lampiran 5) menunjukkan kenaikan dan penurunan kinerja
sistem dari hasil pengenalan nada dikarenakan oleh pengaruh variasi nilai frame blocking,
segment averaging dan data base.
4.1.1.2. Pengujian Real Time
Pada pengujian secara real-time dibagi menjadi 2, pengujian tanpa Thresholding, dan
pengujian untuk mencari nilai batas optimal sebelum ke pengujian menggunakan Thresholding.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
a) Pengujian tanpa Thresholding
Pengujian tanpa menggunakan Thresholding ini bertujuan untuk mengetahui kinerja
program pengenalan nada pianika yang telah dibuat. Dengan kesalahan yang terjadi adalah
pengenalan nada dengan keluaran pengenalan secara salah.
Pada program pengenalan nada pianika ini user memilih variasi frame blocking dan
Segment averaging. Setelah user selesai memilih variasi- variasi yang ada maka, user dapat
menjalankan program pengenalan nada pianika.
Pengujian real time dilakukan dengan menggunakan masukan nada pianika secara
langsung. Jumlah data yang diambil untuk pengujian ini adalah sebanyak sepuluh kali untuk
setiap nada pianika. Parameter yang digunakan dalam pengujian real time adalah parameter
terbaik yang telah didapat pada pengujian tidak real time sebelumnya atau pengujian secara
offline. Parameter yang didapat secara tidak realtime yakni dengan variasi frame blocking,
segment averaging dan database yang terbaik adalah frame blocking 128 dan Segment
averaging 2 dan 4. .
Berdasarkan percobaan yang telah dilakukan, sistem pengenalan nada dapat mengenali
nada pianika dengan baik. Hasil pengujian real time sesuai dengan hasil pengujian tidak real
time yaitu mendapatkan nilai variasi parameter terbaik. Pada sistem pengenalan nada pianika
tersebut menggunakan variasi terbaik yakni frame blocking 128, Segment averaging 2 dan
dengan database 10. Tabel 4.2 dan memperlihatkan hasil pengujian secara real time yang
dilakukan sebanyak 10 kali pengujian seperti pada tabel berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Tabel 4.2. Hasil Pengujian secara real time tanpa Thresholding dengan variasi frame blocking
128, Segment averaging 2 dengan confusion matriks.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 10 0 0 0 0 0 0 0 0 0 0 0 0 10
C# 0 10 0 0 0 0 0 0 0 0 0 0 0 10
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 10 0 0 0 0 0 0 0 0 0 10
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 0 10 0 0 0 0 0 0 0 10
F# 0 0 0 0 0 0 10 0 0 0 0 0 0 10
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 0 0 0 0 0 0 0 0 10 0 0 0 0 10
A 0 0 0 0 0 0 0 0 0 10 0 0 0 10
A# 0 0 0 0 0 0 0 0 0 0 10 0 0 10
B 0 0 0 0 0 0 0 0 0 0 0 10 0 10
Pada tabel 4.2.dapat dilihat dari 10 kali percobaan tidak terdapat nada yang dikenali
secara salah. Dengan demikian pengujian secara real-time tanpa menggunakan Thresholding
sama dengan percobaan saat pengujian secara tidak real-time. Berdasarkan data dari tingkat
presentase keberhasilan mengenali suara instrumen musik, dengan Frame blocking 128 dan
Segment 2 yang sudah mampu mengenali suara instrumen musik dengan baik. Dengan
menggunakan Segment 2 sudah mampu untuk mengenali suara instrumen musik dengan
menggunakan database, yang dipakai ada dua disetiap nada.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
b) Pengujian untuk Menentukan Batasan Nilai Korelasi
Dibawah ini akan diperlihatkan tabel hasil pengenalan nada dengan batas pengenalana
nada dengan nilai maksimal 0,5 untuk batas korelasi.
Tabel 4.3. Pengaruh pengenalan nada dengan batas korelasi 0,5.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 10 0 0 0 0 0 0 0 0 0 0 0 0 10
C# 0 10 0 0 0 0 0 0 0 0 0 0 0 10
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 10 0 0 0 0 0 0 0 0 0 10
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 0 10 0 0 0 0 0 0 0 10
F# 0 0 0 0 0 0 10 0 0 0 0 0 0 10
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 0 0 0 0 0 0 0 0 10 0 0 0 0 10
A 0 0 0 0 0 0 0 0 0 10 0 0 0 10
A# 0 0 0 0 0 0 0 0 0 0 10 0 0 10
B 0 0 0 0 0 0 0 0 0 0 0 10 0 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Tabel 4,4. Pengaruh pengenalan nada dengan batas korelasi 0,6.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 10 0 0 0 0 0 0 0 0 0 0 0 0 10
C# 0 10 0 0 0 0 0 0 0 0 0 0 0 10
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 10 0 0 0 0 0 0 0 0 0 10
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 0 0 0 0 0 0 0 0 10 0
F# 0 0 0 0 0 0 0 0 0 0 0 0 10 0
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 0 0 0 0 0 0 0 0 10 0 0 0 0 10
A 0 0 0 0 0 0 0 0 0 10 0 0 0 10
A# 0 0 0 0 0 0 0 0 0 0 10 0 0 10
B 0 0 0 0 0 0 0 0 0 0 0 10 0 10
Analisa dari 10 kali percobaan pada frame blocking 128 Segment 4 menggunakan batas
korelasi 0.5, tidak terdapat suara yang dikenali secara salah. Hal tersebut dapat terjadi karena
frame blocking yang diuji mempunyai informasi yang sama dengan database. Semakin panjang
atau lebar frame blocking yang dipilih maka disitu terdapat banyak informasi yang dapat
dibandingkan dengan database. Fungsi dari batas korelasi tersebut menentukan batasan
maksimal untuk pengenalan nada yang diinginkan, kurang dari 0,5 nada masukan dikenali makin
baik. Keakuratan dari hasil fungsi korelasi untuk masing-masing nada referensi ini
mengakibatkan ketepatan pada proses penentuan, sehingga mengakibatkan naiknya tingkat
pengenalan pada saat percobaan dengan pemakaian nilai DFT yang tinggi. Dari tabel-tabel data
hasil percobaan dapat dicari persen pengenalan melalui pehitungan dari masing-masing panjang
nilai frame blocking dan Segment terhadap tingkat pengenalan. Untuk mendapatkan tingkat
persen pengenalan dari percobaan tersebut digunakan rumus [14]:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Dari tabel-tabel data hasil percobaan dapat dicari persen pengenalan melalui pehitungan .
Untuk mendapatkan tingkat persen pengenalan dari percobaan tersebut digunakan rumus [15]:
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100% (4.1)
Ket : 𝑣 = jumlah nada pianika yang dikenali benar.
Perhitungan tingkat pengenalan dari :
a. Batas korelasi 0,5
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 120
120 𝑥 100%
= 100%
b. 0,6 melewati batas korelasi
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 110
120 𝑥 100%
= 91,6%
Pada table (4.3) diatas menggunakan batas korelasi 0,5 untuk menentukan batas
maksimum agar data dapat dikenali, Pada pengujian ini dilakukan untuk menentukan batasan
nilai korelasi yang optimal menggunakan Thresholding. Parameter yang digunakan untuk
menentukan batas nilai ini menggunakan variasi Frame blocking 128 dan Segment averaging 2.
Dengan korelasi 0.5 menunjukan nilai maksimal batas korelasi yang di dapat untuk setiap nada.
Pada tabel tersebut yang digunakan sebagai batas atas penengenalan setiap nada.jika melebihi
batas atas tersebut maka sistem tidak akan mengenali nada- nada yang lain selain nada yang di
inginkan,contohnya adalah batas korelasi 0,6 pada table (4,4) dan akan terdeteksi “ERROR”.
Berdasarkan tabel diatas menunjukkan kenaikan dan penurunan kinerja sistem dari hasil
pengenalan suara dikarenakan oleh pengaruh variasi nilai frame blocking, Segment dan nilai
batas korelasi. Penurunan tingkat pengenalan pada batas korelasi 0,6 terjadi pada pengenalan
nada f dan F#, untuk peningkatan pengenalan terjadi pada nada G, pengenalan tersebut tidak
100% dikarenakan 0,6 melebihi batas yang telah ditentukan untuk mengenali nada yang
diinginkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
c) Pengujian menggunakan Thresholding
Pada pengujian ini bertujuan untuk mengetahui kinerja program pengenalan nada pianika
yang telah dibuat dengan penambahan thresholding, sehingga kesalahan yang dikenal sebagai
keluaran teks “ERROR”. Thresholding merupakan nilai batas yang ditentukan untuk mengurangi
pengenalan nada yang salah dengan cara menentukan batas korelasi yang optimal. User langsung
dapat menjalankan program dengan Thresholding, karena Thresholding telah aktif pada sistem
pengenalan nada pianika. Data tingkat pengenalan untuk nilai threshold 0,5. Disetiap suara
tersebut dipresentasikan dengan persentase yang menunjukan tingkat pengenalan suara
berdasarkan variasi nilai frame blocking, Segment averaging dan Threshold. Threshold
merupakan pembatasan nilai geser kekiri. Threshold ini berguna supaya spektrum yang tadinya
terlihat kecil atau tidak terlihat dapat terlihat dengan jelas seperti diperbesar
Tabel 4.9. Hasil Pengujian secara real time menggunakan Thresholding dengan variasi frame
blocking 128, Segment averaging 2 dengan confusion matriks.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 10 0 0 0 0 0 0 0 0 0 0 0 0 10
C# 0 10 0 0 0 0 0 0 0 0 0 0 0 10
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 10 0 0 0 0 0 0 0 0 0 10
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 0 10 0 0 0 0 0 0 0 10
F# 0 0 0 0 0 0 10 0 0 0 0 0 0 10
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 0 0 0 0 0 0 0 0 10 0 0 0 0 10
A 0 0 0 0 0 0 0 0 0 10 0 0 0 10
A# 0 0 0 0 0 0 0 0 0 0 10 0 0 10
B 0 0 0 0 0 0 0 0 0 0 0 10 0 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Menggunakan perhitungan rumus persamaan 4.1.
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 120
120 𝑥 100%
= 100%
Dari hasil pengujian menggunakan thresholding yang telah dilakukan, sistem pengenalan
nada pianika tersebut sudah mampu menggenali nada-nada yang terdapat pada pianika pada
frame blocking 128 dan Segment 2, dimana untuk nada do sampai si tidak dikenali sebagai
ERROR meskipun sudah menggunakan nilai thresholding yang didapatkan dari hasil pengujian
10 kali percobaan untuk mencari nilai thresholding disetiap nadanya.
4.2. Pengujian Dengan Nada Masukan Kencrung
Pada pengujian ini, penulis memilih alat musik kencrung karena nada dasar yang dipakai
pada alat musik kencrung ini adalah E sedangkan untuk pengujian suara yang benar
menggunakan nada dasar C melodi, maka suara yang dihasilkan oleh alat musik kencrung ini
lebih rendah dari suara alat musik pianika, sehingga suara yang dihasilkan oleh alat musik
kencrung akan dikenali error. Kencrung merupakan alat musik petik sejenis gitar berukuran
kecil, sekitar 20 inci. Kencrung biasanya digunakan sebagai instrument tunggal atau untuk
mengiringi berbagai macam alat musik, mulai dari klasik sampai jazz, dan sekarang country,
reggae, dan musik rock. Alat musik kencrung ini ada yang mempunyai 4 utas tali senar dan ada
juga yang hanya 3 utas tali senar. Kencrung yang dipakai oleh penulis untuk penelitan ini adalah
kencrung dengan 3 senar. Kencrung dengan 3 senar disebut juga ukulele stem E, memiliki stem
nada : g2-b1-e2. Pada pengujian ini bertujuan untuk mengetahui tingkat pengenalan sistem
dalam mengetahui nada. Sistem diharapkan tidak dapat mengenali nada alat musik lain selain
nada pianika. Untuk pengujian program pengenalan nada pianika digunakan alat musik kencrung
sebagai masukan nadanya. Ada pula langkah- langkah untuk melakukan percobaaan sebagai
berikut:
1. Menyiapkan alat musik kencrung yang akan digunakan.
2. Nada- nada yang akan digunakan antara lain C, D, E, F, G, A, B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
3. Menggunakan variasi frame blocking 128, Segment averaging 2 Menggunakan masukan
Thresholding untuk batasan setiap nadanya.
4. Melihat hasil keluaran nada, apakah pengujian tersebut dapat mengenali nada masukan,
dikenali dengan keluaran “ERROR”, dikenali dengan nada lain, atau bahkan dikenali
nada dengan nada pianika.
Setelah melakukan langkah-langkah diatas, berikut ini gambar alat musik pianika dan hasil
pengujian dengan nada dari alat musik kencrung :
Gambar 4.4. Gambar Alat Musik Kencrung
Tabel 4.10. Pengujian nada alat musik kencrung dengan Frame blocking 128 dan Segment 2
Input
Output
Error
C D E F G A B
C 0 0 0 0 0 0 0 10 100%
D 0 0 0 0 0 0 0 10 100%
E 0 0 0 0 0 0 0 10 100%
F 0 0 0 0 0 0 0 10 100%
G 0 0 0 0 0 0 0 10 100%
A 0 0 0 0 0 0 0 10 100%
B 0 0 0 0 0 0 0 10 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Dari hasil pengujian dengan nada dari alat musik kencrung dimana nada dasar yang
dipakai adalah nada dasar sesuai dengan perancangan. Nada C kencrung tidak dikenali oleh nada
pianika,hasil keluaran error semua, untuk masukan nada kencrung. Pada percobaan dengan alat
musik kencrung, pemilihan nilai Thresholding yang digunakan sangat berpengaruh dalam hal
tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Dari hasil percobaan dan pengujian sistem pengenalan nada alat musik pianika dapat
disimpulkan bahwa :
1. Implementasi dari sistem pengenalan nada suara alat musik pianika sudah bisa bekerja
sesuai dengan perancangan.
2. Pada pengujian parameter pengaturan pengenalan, penetapan nilai parameter Pengaturan
pengenalan nada dengan nilai pada Frame blocking dan Segment averaging yang
digunakan untuk mengenali nada berpengaruh terhadap tingkat pengenalan sistem.
3. Pada pengujian parameter pengaturan didapatkan nilai Frame blocking senilai 128
Dengan nilai Segment averaging 2, yang menghasilkan tingkat pengenalan
(recognitionrate) terbaik yaitu 100%.
5.1 SARAN
Sistem pengenalan suara pianika ini masih memiliki kekurangan. Ada beberapa saran
yang diharapkan dapat mengurangi kekurangan tersebut, antara lain:
1. Pengembangan dapat dilakukan agar sistem dapat mengenali banyak alat musik dengan
berbagai nada yang dihasilkan.
2. Untuk pengembangannya dapat juga membuat hardware pengenalan suara pianika.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
DAFTAR PUSTAKA
[1] Ortiz, M., 2002 Teknik memainkan - alat-musik melodis pianika Jakarta :Gramedia
Pustaka Utama.
[2] Darmawan, Tomi, 2012, Musical Instruments Sound Recognition Teknik Informatika -
Institut TeknologiSepuluhNopember, Surabaya.
[3] Dionysius Edwin Surya, 2012, Pengenalan Nada AlatMusik Pianika Menggunakan
Metode Korelasi, Skripsi, Teknik Elekro, Fakultas Sains dan Teknologi, Universitas
Sanata Dharma, Yogyakarta.
[4] Budi Sontoso, Tri, 2005, ProtipeModulPengamatanSinyal Domain Waktudan
Frekuensi Secara Real Time Untuk Praktikum Pengolahan Sinyal Digital, EEPISITS,
Surabaya.
[5] Sklar, Bernard, 1988, Digital Communications Fundamental and Application, New
Jersey, PTR Prentice Hall
[6] Pianikamerek Pianica P-37.
[7] EkaKartikasari, Yesika, 2006, Pembuatan Software Pembuka Program aplikasi
KomputerBerbasisPengenalanSinyalSuara, PENS-ITS, Surabaya.
[8] Cha, Sung-Hyuk, 2007, International Journal Of Mathematical Models And Methods In
Applied Sciences, Comprehensive Survey on Distance/Similarity Measures between
Probability Density Functions., Vol 1, no 20, hal 302.
[9] Santoso, T.B., 2005, Protipe Modul Pengamatan Sinyal Domain Waktu dan Frekuensi
Secara Real Time Untuk Praktikum Pengolahan Sinyal Digital, EEPISITS,Surabaya.
[10] Dr. Kekre H.B., VaishaliKulkarni., Sunil Venkatraman., AnshuPriya., dan Sujatha
Narasimhan., 2011, Speaker Identification Using Row Mean of DCT and Walsh
Hadamard Transform, International Journal on Computer Science and Engineering
(IJCSE)., Vol. 3, No. 3, hal 1296-1297.
[11] Firmansyah, Ahmad,2007, Dasar-dasar Pemrograman Matlab, Teknik Informatika-
Institut Teknologi Sepuluh Nopember, Surabaya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
[12] Jain, A. K., Duin, R.P. W., & Mao, J. 2000, Statistical Pattern Recognition: A Review.
Pattern Analysis and Machine Intelligence, IEEE Transactions on 22(1),4-37.
[13] Fingkirana,Eka, 2014, Pengertian, Sejarah, Jenis-jenis, dan Cara Kerja mikrofon.
http://ekafingkirani.blogspot.com/2014/11/pengertian-sejarah-jenis-jenis-dan-
cara.html
[14] V. Irwan Novariyanto, 2014, Pengenalan Nada Alat Musik Secara Real Time dengan
Ekstraksi ciri DCT dan Similaritas Kosinus, Skripsi, Teknik Elektro, Fakultas sains dan
Teknologi, Universitas Sanata Dharma, Yogyakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1
LAMPIRAN
PERCOBAAN AWAL
MENCARI SPEKTRUM FREKUENSI DARI
NADA PIANIKA DENGAN MATLAB
Tujuan
1. Mengetahui frekuensi maksimum pada nada pianika.
2. Mengetahui frekuensi sampling minimum yang digunakan.
Variabel
1. Frekuensi sampling yang digunakan 4800Hz
2. Durasi perekaman yang dilakukan penulis selama 2 detik.
Listing program
fs = 4800;%%fsampling 4800Hz
y = wavrecord (2*fs,fs,'double');%% 2 detik
wavwrite(y,fs,'sample2s4800HzAkres10.wav');
[y,fs]=wavread('sample2s4800HzAkres10.wav');
Y=fft(y,fs);
spek= Y.* conj (Y)
f = fs* (0:(1/2*fs)) /fs;
plot(f,spek(1:(1/2*fs+1)));grid;%output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
Nada C
Amplitudo
Frekuensi (Hz)
Amplitudo Nada C#
Frekuensi (Hz)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
Amplitudo Nada D
Frekuensi (Hz)
Amplitudo Nada D#
Frekuensi (Hz)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
Amplitudo Nada E
Frekuensi (Hz)
Amplitudo Nada F
Frekuensi (Hz)
Amplitudo Nada F#
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
Frekuensi (Hz)
Amplitudo Nada G
Frekuensi (Hz)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
Amplitudo Nada G#
Frekuensi (Hz)
Amplitudo Nada A
Frekuensi (Hz)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
Amplitudo Nada A#
Frekuensi (Hz)
Amplitudo Nada B
Frekuensi (Hz)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L8
Kesimpulan
1. Frekuensi maksimum yang didapat sebesar 1986Hz untuk nada Si (B’).
2 Fs=4800 sudah memenuhi Nyquist dan ditemukan harmonisasi pada frekuensi
dikarenakan pada saat mulai mengambil sampling rekaman ada noise campuran antara
suara dengung yang muncul pada rongga tenggorokan manusia dengan alat musik
pianika.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L9
LAMPIRAN 2
GAMBAR SINYAL
DARI HASIL SAMPLING HINGGA EKSTRAKSI CIRI
Tujuan:
1. Untuk mengetahui alur proses pengenalan nada dari awal hingga akhir
Variabel:
1. Frekuensi yang digunakan 4800Hz
2. Sinyal terekam nada ‘C’
Amplitudo
Data ke
Gambar L.2.1. Sinyal terekam nada ‘C’.
Mulai
Masukan nada pianika
Sampling
A
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L10
Amplitudo
Data ke
Gambar L.2.2 Contoh normalisasi awal (1)
Amplitudo
Data ke
Gambar L.2.3.Proses silence sebelah kiri\
A
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Pemotongan sinyal
transisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L11
Amplitudo
Data ke
Gambar L.2.4. Proses pemotongan transisi sebelah
Amplitudo
Data ke
Gambar L.2.5. Frame blocking
Amplitudo
Data ke
Gambar L.2.6. Normalisasi akhir (2)
0 1000 2000 3000 4000 5000 6000 7000-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
B
Frame blocking
0 100 200 300 400 500 600-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
Normalisasi 2
0 100 200 300 400 500 600-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L12
Amplitudo
Data ke
Gambar L.2.7 Windowing
Amplitudo
Data ke
Gambar L.2.8. DFT
C
Windowing
0 100 200 300 400 500 600-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
DFT
0 100 200 300 400 500 6000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L13
Nilai rerata Segment
Data ke
Gambar L.2.9. Segment averaging
D
0 5 10 15 20 25 30 350
0.02
0.04
0.06
0.08
0.1
0.12
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L14
LAMPIRAN 3 LISTING PROGRAM GUI MATLAB
function varargout = guinew(varargin)
% GUINEW M-file for guinew.fig
% GUINEW, by itself, creates a new GUINEW or raises the existing
% singleton*.
%
% H = GUINEW returns the handle to a new GUINEW or the handle to
% the existing singleton*.
%
% GUINEW('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in GUINEW.M with the given input
arguments.
%
% GUINEW('Property','Value',...) creates a new GUINEW or raises
the
% existing singleton*. Starting from the left, property value
pairs are
% applied to the GUI before guinew_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to guinew_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 guinew
% Last Modified by GUIDE v2.5 16-Nov-2015 12:37:50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L15
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @guinew_OpeningFcn, ...
'gui_OutputFcn', @guinew_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 guinew is made visible.
function guinew_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 guinew (see VARARGIN)
% Choose default command line output for guinew
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L16
% UIWAIT makes guinew wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = guinew_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu1 contents
as cell array
% contents{get(hObject,'Value')} returns selected item from
popupmenu1
indeks=get(handles.popupmenu1,'Value');
switch indeks
case 1
framebl=16;
case 2
framebl=32;
case 3
framebl=64;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L17
case 4
framebl=128;
end
handles.frame=framebl;
guidata(hObject,handles);
% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1
as a double
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L18
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text
% str2double(get(hObject,'String')) returns contents of edit2
as a double
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L19
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on selection change in popupmenu2.
function popupmenu2_Callback(hObject, eventdata, handles)
% hObject handle to popupmenu2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns popupmenu2 contents
as cell array
% contents{get(hObject,'Value')} returns selected item from
popupmenu2
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
segaveragl=2;
case 2
segaveragl=4;
case 3
segaveragl=8;
case 4
segaveragl=16;
case 5
segaveragl=32;
case 6
segaveragl=64;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L20
end
handles.segaverag=segaveragl;
guidata(hObject,handles);
% --- Executes during object creation, after setting all properties.
function popupmenu2_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text
% str2double(get(hObject,'String')) returns contents of edit3
as a double
% --- Executes during object creation, after setting all properties.
function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L21
% handles empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit4_Callback(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit4 as text
% str2double(get(hObject,'String')) returns contents of edit4
as a double
% --- Executes during object creation, after setting all properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L22
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
sample_length=2;
sample_freq=4800;
sample_time=(sample_length*sample_freq);
x=wavrecord(sample_time, sample_freq);
%wavwrite(x, sample_freq, 's.wav');
axes(handles.axes1)
plot(x);
xlabel ('data ke');
ylabel ('amplitudo');
%x=wavread('s.wav');
b0=0.5;
fb=handles.frame; %Variasi nilai FrameBlocking 128,64,32 dan 16
segaverag=handles.segaverag; %Variasi nilai segment averaging
%dbx=handles.dbx;
%Segment averaging
% Normalisasi
x1=x/max(abs(x));
% Potong kiri
b1=find(x1>b0 | x1<-b0);
x1(1:b1(1))=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L23
% Potong kiri 2
bts=floor(0.25*length(x1));
x1(1:bts)=[];
%frame blocking
x2=x1(1:fb);
% Normalisasi 2
x3=x2/max(abs(x2));
%Windowing Hamming
h=hamming(fb);
x4=x3.*h;
% DFT
x5=abs(dftx(x4));
x5=x5(1:length(x5)/2);
x5(1)=0; % komponen DC dinolkan
x5=x5/max(x5) % normalisasi
%Segment averaging
x6=reshape(x5,segaverag,[]); %hasil max:16
x6=mean(x6);
x6=x6(:);
axes(handles.axes2)
bar (x6);
xlabel ('data ke');
ylabel ('amplitudo');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L24
if (fb==16) &&(segaverag==2)
load dbdft16seg2;
elseif (fb==16) &&(segaverag==4)
load dbdft16seg4;
elseif (fb==16) &&(segaverag==8)
load dbdft16seg8;
elseif (fb==32) &&(segaverag==2)
load dbdft32seg2;
elseif (fb==32) &&(segaverag==4)
load dbdft32seg4;
elseif (fb==32) &&(segaverag==8)
load dbdft32seg8;
elseif (fb==32) &&(segaverag==16)
load dbdft32seg16;
elseif (fb==64) &&(segaverag==2)
load dbdft64seg2;
elseif (fb==64) &&(segaverag==4)
load dbdft64seg4;
elseif (fb==64) &&(segaverag==8)
load dbdft64seg8;
elseif (fb==64) &&(segaverag==16)
load dbdft64seg16;
elseif (fb==64) &&(segaverag==32)
load dbdft64seg32;
elseif (fb==128) &&(segaverag==2)
load dbdft128seg2;
elseif (fb==128) &&(segaverag==4)
load dbdft128seg4;
elseif (fb==128) &&(segaverag==8)
load dbdft128seg8;
elseif (fb==128) &&(segaverag==16)
load dbdft128seg16;
elseif (fb==128) &&(segaverag==32)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L25
load dbdft128seg32;
elseif (fb==128) &&(segaverag==64)
load dbdft128seg64;
end
% Perhitungan korelasi
for n=1:12 % Ada 12 data nada pada database
z(n)=korelasi(x6,dbz(:,n));
end
% Pengurutan hasil perhitungan korelasi
[s1,s2]=sort(z,'descend');
bataskorelasi=0.5; % Batas korelasi untuk deteksi error
if s1(1)>bataskorelasi
% Kelas keluaran
kelasout=s2(1);
% Nada keluaran
nada={'A';'A#';'B';'C';'C#';'D';'D#';'E';'F';'F#';'G';'G#'}; %
Ada 12 nada keluaran
nadaout=nada{kelasout};
else
nadaout='error';
end
set(handles.text1,'String',nadaout);
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L26
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes1);
plot(0);
axes(handles.axes2);
plot(0);
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(gui));
function edit5_Callback(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit5 as text
% str2double(get(hObject,'String')) returns contents of edit5
as a double
% --- Executes during object creation, after setting all properties.
function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L27
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit6_Callback(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit6 as text
% str2double(get(hObject,'String')) returns contents of edit6
as a double
% --- Executes during object creation, after setting all properties.
function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit8_Callback(hObject, eventdata, handles)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L28
% hObject handle to edit8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit8 as text
% str2double(get(hObject,'String')) returns contents of edit8
as a double
% --- Executes during object creation, after setting all properties.
function edit8_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
handles.dbx=dbx1;
guidata(hObject,handles);
% Hints: contents = get(hObject,'String') returns popupmenu3 contents
as cell array
% contents{get(hObject,'Value')} returns selected item from
popupmenu3
% --- Executes during object creation, after setting all properties.
function popupmenu3_CreateFcn(hObject, eventdata, handles)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L29
% hObject handle to popupmenu3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns
called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L30
LAMPIRAN 4
LISTING PROGRAM TIDAK REAL-TIME
function pnpianikacopy
% Pengenalan nada pianika
% Menggunakan segment averaging
clc
clear all
% =========================================================
% Variabel penelitian
% =========================================================
frame=128; % Panjang frame pada frame blocking
seg=2; % Panjang segmen pada segment averaging
% =========================================================
% Pembentukan database
% =========================================================
y0=wavread('a01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('a02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('a03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('a04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('a05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('a06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('a07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('a08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('a09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('a10.wav');x10=xciridft(y0,frame,seg);
a10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L31
y0=wavread('a#01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('a#02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('a#03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('a#04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('a#05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('a#06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('a#07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('a#08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('a#09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('a#10.wav');x10=xciridft(y0,frame,seg);
b10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('b01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('b02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('b03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('b04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('b05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('b06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('b07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('b08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('b09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('b10.wav');x10=xciridft(y0,frame,seg);
c10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('c01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('c02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('c03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('c04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('c05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('c06.wav');x6=xciridft(y0,frame,seg);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L32
y0=wavread('c07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('c08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('c09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('c10.wav');x10=xciridft(y0,frame,seg);
d10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('c#1.wav');x1=xciridft(y0,frame,seg);
y0=wavread('c#2.wav');x2=xciridft(y0,frame,seg);
y0=wavread('c#3.wav');x3=xciridft(y0,frame,seg);
y0=wavread('c#4.wav');x4=xciridft(y0,frame,seg);
y0=wavread('c#5.wav');x5=xciridft(y0,frame,seg);
y0=wavread('c#6.wav');x6=xciridft(y0,frame,seg);
y0=wavread('c#7.wav');x7=xciridft(y0,frame,seg);
y0=wavread('c#8.wav');x8=xciridft(y0,frame,seg);
y0=wavread('c#9.wav');x9=xciridft(y0,frame,seg);
y0=wavread('c#10.wav');x10=xciridft(y0,frame,seg);
y0=wavread('c#11.wav');x11=xciridft(y0,frame,seg);
y0=wavread('c#12.wav');x12=xciridft(y0,frame,seg);
y0=wavread('c#13.wav');x13=xciridft(y0,frame,seg);
y0=wavread('c#14.wav');x14=xciridft(y0,frame,seg);
y0=wavread('c#15.wav');x15=xciridft(y0,frame,seg);
e10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('d01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('d02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('d03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('d04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('d05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('d06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('d07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('d08.wav');x8=xciridft(y0,frame,seg);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L33
y0=wavread('d09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('d10.wav');x10=xciridft(y0,frame,seg);
f10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('d#01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('d#02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('d#03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('d#04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('d#05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('d#06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('d#07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('d#08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('d#09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('d#10.wav');x10=xciridft(y0,frame,seg);
g10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('e01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('e02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('e03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('e04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('e05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('e06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('e07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('e08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('e09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('e10.wav');x10=xciridft(y0,frame,seg);
h10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('f01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('f02.wav');x2=xciridft(y0,frame,seg);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L34
y0=wavread('f03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('f04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('f05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('f06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('f07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('f08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('f09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('f10.wav');x10=xciridft(y0,frame,seg);
i10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('f#01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('f#02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('f#03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('f#04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('f#05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('f#06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('f#07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('f#08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('f#09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('f#10.wav');x10=xciridft(y0,frame,seg);
j10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('g01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('g02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('g03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('g04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('g05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('g06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('g07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('g08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('g09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('g10.wav');x10=xciridft(y0,frame,seg);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L35
k10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
y0=wavread('g#01.wav');x1=xciridft(y0,frame,seg);
y0=wavread('g#02.wav');x2=xciridft(y0,frame,seg);
y0=wavread('g#03.wav');x3=xciridft(y0,frame,seg);
y0=wavread('g#04.wav');x4=xciridft(y0,frame,seg);
y0=wavread('g#05.wav');x5=xciridft(y0,frame,seg);
y0=wavread('g#06.wav');x6=xciridft(y0,frame,seg);
y0=wavread('g#07.wav');x7=xciridft(y0,frame,seg);
y0=wavread('g#08.wav');x8=xciridft(y0,frame,seg);
y0=wavread('g#09.wav');x9=xciridft(y0,frame,seg);
y0=wavread('g#10.wav');x10=xciridft(y0,frame,seg);
l10=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10)/10;
% Database
db10=[a10 b10 c10 d10 e10 f10 g10 h10 i10 j10 k10 l10];
% =========================================================
% Pembentukan datauji
% =========================================================
y0=wavread('a16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('a17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('a18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('a19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('a20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('a21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('a22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('a23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('a24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('a25.wav');x10=xciridft(y0,frame,seg);
n1=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L36
y0=wavread('a#16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('a#17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('a#18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('a#19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('a#20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('a#21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('a#22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('a#23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('a#24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('a#25.wav');x10=xciridft(y0,frame,seg);
n2=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('b16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('b17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('b18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('b19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('b20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('b21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('b22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('b23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('b24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('b25.wav');x10=xciridft(y0,frame,seg);
n3=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('c16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('c17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('c18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('c19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('c20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('c21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('c22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('c23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('c24.wav');x9=xciridft(y0,frame,seg);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L37
y0=wavread('c25.wav');x10=xciridft(y0,frame,seg);
n4=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('c#16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('c#17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('c#18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('c#19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('c#20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('c#21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('c#22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('c#23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('c#24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('c#25.wav');x10=xciridft(y0,frame,seg);
n5=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('d16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('d17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('d18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('d19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('d20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('d21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('d22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('d23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('d24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('d25.wav');x10=xciridft(y0,frame,seg);
n6=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('d#16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('d#17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('d#18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('d#19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('d#20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('d#21.wav');x6=xciridft(y0,frame,seg);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L38
y0=wavread('d#22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('d#23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('d#24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('d#25.wav');x10=xciridft(y0,frame,seg);
n7=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('e16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('e17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('e18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('e19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('e20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('e21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('e22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('e23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('e24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('e25.wav');x10=xciridft(y0,frame,seg);
n8=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('f16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('f17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('f18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('f19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('f20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('f21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('f22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('f23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('f24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('f25.wav');x10=xciridft(y0,frame,seg);
n9=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('f#16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('f#17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('f#18.wav');x3=xciridft(y0,frame,seg);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L39
y0=wavread('f#19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('f#20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('f#21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('f#22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('f#23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('f#24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('f#25.wav');x10=xciridft(y0,frame,seg);
n10=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('g16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('g17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('g18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('g19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('g20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('g21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('g22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('g23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('g24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('g25.wav');x10=xciridft(y0,frame,seg);
n11=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
y0=wavread('g#16.wav');x1=xciridft(y0,frame,seg);
y0=wavread('g#17.wav');x2=xciridft(y0,frame,seg);
y0=wavread('g#18.wav');x3=xciridft(y0,frame,seg);
y0=wavread('g#19.wav');x4=xciridft(y0,frame,seg);
y0=wavread('g#20.wav');x5=xciridft(y0,frame,seg);
y0=wavread('g#21.wav');x6=xciridft(y0,frame,seg);
y0=wavread('g#22.wav');x7=xciridft(y0,frame,seg);
y0=wavread('g#23.wav');x8=xciridft(y0,frame,seg);
y0=wavread('g#24.wav');x9=xciridft(y0,frame,seg);
y0=wavread('g#25.wav');x10=xciridft(y0,frame,seg);
n12=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L40
uji=[n1 n2 n3 n4 n5 n6 n7 n8 n9 n10 n11 n12];
%==================================================
% Pengenalan
%==================================================
jumtest=120; % jumlah nada uji
jskuji=10; % jumlah sampel per kelas pada nadauji
db=db10; %database yang dipakai
for m=1:jumtest
idx=ceil(m/jskuji); % kelas nada uji
[nadaout{m},benar(m)]=kenaldct(db,uji(:,m),idx);
end
nadaout
jumlah_benar=sum(benar)
persen_benar=(jumlah_benar/120)*100
%==================================================
% Internal function
%==================================================
function y5=xciridft(y0,frame,seg)
% Ekstraksi ciri
% y0 : sinyal masukan
% frame : panjang frame pada frame blocking
% seg : panjang segmen pada segment averaging
% y5 : hasil ekstraksi ciri
% Frame blocking
hy0=length(y0)/2;
y1=y0(hy0:hy0+frame-1);
% Normalisasi
y2=y1/max(y1);
% Windowing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L41
h=hamming(frame);
y3=y2.*h;
% DFT
x5=abs(dftx(x4));
x5=x5(1:length(x5)/2);
x5(1)=0; % komponen DC dinolkan
x5=x5/max(x5) % normalisasi
% Segment averaging
y5=reshape(y4,seg,[]);
y5=mean(y5);
y5=y5(:);
% -------------------------------------------------------
function [nadaout,benar]=kenaldct(db,uji,kelasin)
% Pengenalan
% db : database nada
% uji : nada uji (nada masukan)
% kelasin : kelas nada uji
% Fungsi korelasi
for n=1:12 % Ada 12 data nada pada database
z(n)=jarak(uji,db(:,n));
end
% Pengurutan hasil perhitungan jarak
[s1,s2]=sort(z,'ascend');
bataskorelasi=2; % Batas jarak untuk deteksi error
if s1(1)<bataskorelasi
% Kelas keluaran
kelasout=s2(1);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L42
% Nada keluaran
nada={'A';'A#';'B';'C';'C#';'D';'D#';'E';'F';'F#';'G';'G#'}; %
Ada 12 nada keluaran
nadaout=nada{kelasout};
% Benar tidaknya hasil pengenalan
if kelasout==kelasin
benar=1;
else
benar=0;
end
else
nadaout='error';
benar=0;
end
% -------------------------------------------------------
function jec=jarak(x,y)
% Jarak Euclidean
% x, y : data masukan
% jec : data keluaran
c1=(x-y).^2;
c2=sum(c1);
jec=sqrt(c2);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L43
LAMPIRAN 5
Hasil Pengenalan Nada Secara Real Time
Tabel L.1. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 16 dan Segment averaging 2
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 5 3 0 0 0 0 0 0 0 0 2 0 0 5
C# 3 6 0 0 0 0 0 0 0 0 0 1 0 6
D 0 9 1 0 0 0 0 0 0 0 0 0 0 1
D# 0 5 2 3 0 0 0 0 0 0 0 0 0 3
E 2 0 0 0 5 3 0 0 0 0 0 0 0 5
F 0 0 6 2 0 2 0 0 0 0 0 0 0 2
F# 4 0 0 0 0 0 2 4 0 0 0 0 0 2
G 0 0 0 0 0 2 6 2 0 0 0 0 0 2
G# 0 0 0 0 0 0 3 0 3 4 0 0 0 3
A 0 0 0 0 0 0 0 3 0 2 5 0 0 2
A# 0 0 0 0 0 0 0 0 4 3 2 1 0 2
B 0 0 0 0 0 0 0 0 4 1 4 1 0 1
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 34
120 𝑥 100%
= 28,3%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L44
Tabel L.2. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 16 dan Segment averaging 4
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 4 3 3 0 0 0 0 0 0 0 0 0 4
C# 3 6 0 0 0 0 0 0 0 0 0 1 0 6
D 0 9 1 0 0 0 0 0 0 0 0 0 0 1
D# 0 5 2 3 0 0 0 0 0 0 0 0 0 3
E 3 0 0 0 5 2 0 0 0 0 0 0 0 5
F 0 0 6 1 0 3 0 0 0 0 0 0 0 3
F# 4 0 0 0 0 0 2 4 0 0 0 0 0 2
G 0 0 0 0 0 2 6 2 0 0 0 0 0 2
G# 0 0 0 0 0 0 3 0 3 4 0 0 0 3
A 0 0 0 0 0 0 0 3 0 2 5 0 0 2
A# 0 0 0 0 0 0 0 0 4 3 2 1 0 2
B 0 0 0 0 0 0 0 0 4 1 4 1 0 1
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 34
120 𝑥 100%
= 28,3%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L45
Tabel L.3. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 32 dan Segment averaging 2
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 8 1 1 0 0 0 0 0 0 0 0 0 8
C# 2 6 0 0 0 0 0 0 0 0 0 2 0 2
D 3 7 0 0 0 0 0 0 0 0 0 0 0 0
D# 0 5 2 3 0 0 0 0 0 0 0 0 0 3
E 3 0 0 0 3 4 0 0 0 0 0 0 0 3
F 0 0 6 1 0 2 0 0 0 0 0 0 0 2
F# 2 0 0 0 0 0 5 3 0 0 0 0 0 5
G 0 0 0 0 0 2 6 2 0 0 0 0 0 2
G# 4 0 0 0 0 0 3 3 0 0 0 0 0 0
A 0 0 0 0 0 0 0 3 0 2 5 0 0 2
A# 0 0 0 0 0 0 0 0 0 3 4 3 0 4
B 0 0 0 0 0 0 0 0 0 0 2 8 0 8
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 39
120 𝑥 100%
= 32.5%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L46
Tabel L.4. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 32 dan Segment averaging 4
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 1 1 1 7 0 0 0 0 0 0 0 0 1
C# 2 6 0 0 0 0 0 0 0 0 0 2 0 2
D 3 7 0 0 0 0 0 0 0 0 0 0 0 0
D# 0 5 3 2 0 0 0 0 0 0 0 0 0 2
E 3 0 0 0 3 4 0 0 0 0 0 0 0 3
F 0 0 6 1 0 2 0 0 0 0 0 0 0 2
F# 2 3 0 0 0 0 1 4 0 0 0 0 0 1
G 0 0 0 0 0 2 6 2 0 0 0 0 0 2
G# 4 0 0 0 0 0 3 3 0 0 0 0 0 0
A 0 0 0 0 0 0 0 3 0 2 5 0 0 2
A# 0 0 0 0 0 0 0 0 0 3 4 3 0 4
B 0 0 0 0 0 0 0 0 0 3 4 3 0 3
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 22
120 𝑥 100%
= 18,3%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L47
Tabel L.5. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 32 dan Segment averaging 8
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 1 1 1 5 2 0 0 0 0 0 0 0 1
C# 2 6 0 0 0 0 0 0 0 0 0 2 0 2
D 3 7 0 0 0 0 0 0 0 0 0 0 0 0
D# 0 5 3 2 0 0 0 0 0 0 0 0 0 2
E 3 0 0 0 2 5 0 0 0 0 0 0 0 2
F 0 0 6 1 0 2 0 0 0 0 0 0 0 2
F# 3 0 0 0 0 3 1 3 0 0 0 0 0 1
G 0 0 0 0 0 3 3 4 0 0 0 0 0 4
G# 4 0 0 0 0 0 3 3 0 0 0 0 0 0
A 0 0 0 0 0 0 0 3 0 2 5 0 0 2
A# 2 0 0 0 0 0 0 0 0 4 0 4 0 0
B 3 2 0 0 0 0 0 0 0 0 2 3 0 3
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 19
120 𝑥 100%
= 15,8%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L48
Tabel L.6. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 64 dan Segment averaging 2.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 10 0 0 0 0 0 0 0 0 0 0 0 0 10
C# 0 10 0 0 0 0 0 0 0 0 0 0 0 10
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 10 0 0 0 0 0 0 0 0 0 10
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 0 6 4 0 0 0 0 0 0 6
F# 0 0 0 0 0 0 10 0 0 0 0 0 0 10
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 4 0 0 0 0 0 0 0 7 3 0 0 0 7
A 0 0 0 0 0 0 0 0 6 1 3 0 0 1
A# 3 3 4 0 0 0 0 0 0 0 0 0 0 0
B 0 0 0 0 0 0 0 0 0 0 0 0 0 10
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 94
120 𝑥 100%
= 78,3%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L49
Tabel L.7. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 64 dan Segment averaging 4.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 7 3 0 0 0 0 0 0 0 0 0 0 0 7
C# 5 1 4 0 0 0 0 0 0 0 0 0 0 1
D 0 4 2 4 0 0 0 0 0 0 0 0 0 2
D# 0 2 0 1 0 7 0 0 0 0 0 0 0 1
E 0 0 4 4 2 0 0 0 0 0 0 0 0 2
F 0 0 0 0 0 6 4 0 0 0 0 0 0 0
F# 0 0 0 0 0 3 2 5 0 0 0 0 0 2
G 0 0 0 0 0 0 3 6 1 0 0 0 0 6
G# 4 0 0 0 0 0 3 0 0 3 4 0 0 0
A 0 0 0 0 0 0 0 0 5 2 3 0 0 2
A# 3 3 3 0 0 0 0 0 0 0 1 0 0 1
B 0 0 0 0 0 0 0 0 0 4 6 0 0 0
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 24
120 𝑥 100%
= 20%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L50
Tabel L.8. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 64 dan Segment averaging 8
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 0 2 1 5 2 0 0 0 0 0 0 0 0
C# 2 6 0 0 0 0 0 0 0 0 0 2 0 2
D 3 7 0 0 0 0 0 0 0 0 0 0 0 0
D# 0 5 3 2 0 0 0 0 0 0 0 0 0 2
E 0 0 0 0 8 2 0 0 0 0 0 0 0 8
F 0 0 6 1 0 2 0 0 0 0 0 0 0 2
F# 3 0 0 0 0 3 1 3 0 0 0 0 0 1
G 0 0 0 0 0 4 4 2 0 0 0 0 0 2
G# 4 0 0 0 0 0 3 3 0 0 0 0 0 0
A 0 0 0 0 0 0 0 3 0 2 5 0 0 2
A# 2 0 0 0 0 0 0 0 0 4 0 4 0 0
B 3 3 0 0 0 0 0 0 0 0 4 0 0 0
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 19
120 𝑥 100%
= 15,8%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L51
Tabel L.9. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan hasil
pada Frame blocking 64 dan Segment averaging 16.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 4 2 4 0 0 0 0 0 0 0 0 0 0 4
C# 2 6 0 0 0 0 0 0 0 0 0 2 0 0
D 3 7 0 0 0 0 0 0 0 0 0 0 0 0
D# 0 5 3 2 0 0 0 0 0 0 0 0 0 0
E 0 0 0 0 8 2 0 0 0 0 0 0 0 1
F 0 0 6 1 0 2 0 0 0 0 0 0 0 2
F# 3 0 0 0 0 3 1 3 0 0 0 0 0 1
G 0 0 0 0 0 4 4 2 0 0 0 0 0 2
G# 4 0 0 0 0 0 3 3 0 0 0 0 0 0
A 0 0 0 0 0 0 0 3 0 2 5 0 0 2
A# 2 0 0 0 0 0 0 0 0 4 0 4 0 0
B 3 3 0 0 0 0 0 0 0 0 4 0 0 0
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 12
120 𝑥 100%
= 10%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L52
Tabel L.10. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 128 dan Segment averaging 2.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 10 0 0 0 0 0 0 0 0 0 0 0 0 10
C# 0 10 0 0 0 0 0 0 0 0 0 0 0 10
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 10 0 0 0 0 0 0 0 0 0 10
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 0 10 0 0 0 0 0 0 0 10
F# 0 0 0 0 0 0 10 0 0 0 0 0 0 10
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 0 0 0 0 0 0 0 0 10 0 0 0 0 10
A 0 0 0 0 0 0 0 0 0 10 0 0 0 10
A# 0 0 0 0 0 0 0 0 0 0 10 0 0 10
B 0 0 0 0 0 0 0 0 0 0 0 10 0 10
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 120
120 𝑥 100%
= 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L53
Tabel L.11. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 128 dan Segment averaging 4.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 10 0 0 0 0 0 0 0 0 0 0 0 0 10
C# 0 10 0 0 0 0 0 0 0 0 0 0 0 10
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 10 0 0 0 0 0 0 0 0 0 10
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 0 10 0 0 0 0 0 0 0 10
F# 0 0 0 0 0 0 10 0 0 0 0 0 0 10
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 0 0 0 0 0 0 0 0 10 0 0 0 0 10
A 0 0 0 0 0 0 0 0 0 10 0 0 0 10
A# 0 0 0 0 0 0 0 0 0 0 10 0 0 10
B 0 0 0 0 0 0 0 0 0 0 0 10 0 10
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 120
120 𝑥 100%
=100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L54
Tabel L.12. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 128 dan Segment averaging 8.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 0 0 0 5 2 3 0 0 0 0 0 0 0 0
C# 7 0 3 0 0 0 0 0 0 0 0 0 0 0
D 0 0 10 0 0 0 0 0 0 0 0 0 0 10
D# 0 0 0 0 8 2 0 0 0 0 0 0 0 1
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 4 6 0 0 0 0 0 0 0 0 0
F# 0 0 0 0 4 0 6 0 0 0 0 0 0 6
G 0 0 0 0 0 0 0 10 0 0 0 0 0 10
G# 0 0 0 0 0 0 0 0 10 0 0 0 0 10
A 0 3 7 0 0 0 0 0 0 0 0 0 0 0
A# 0 0 0 0 0 0 0 0 0 0 10 0 0 10
B 0 0 0 8 2 0 0 0 0 0 0 0 0 0
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 57
120 𝑥 100%
= 47,5%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L55
Tabel L.13. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 128 dan Segment averaging 16.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 0 0 0 0 10 0 0 0 0 0 0 0 0 0
C# 0 0 0 0 10 0 0 0 0 0 0 0 0 0
D 0 0 0 0 10 0 0 0 0 0 0 0 0 0
D# 0 0 0 0 10 0 0 0 0 0 0 0 0 0
E 0 0 0 0 10 0 0 0 0 0 0 0 0 10
F 0 0 0 0 10 0 0 0 0 0 0 0 0 0
F# 0 0 0 0 10 0 0 0 0 0 0 0 0 0
G 0 0 0 0 10 0 0 0 0 0 0 0 0 0
G# 0 0 0 0 10 0 0 0 0 0 0 0 0 0
A 0 3 7 0 10 0 0 0 0 0 0 0 0 0
A# 0 0 0 0 10 0 0 0 0 0 0 0 0 0
B 0 0 0 0 10 0 0 0 0 0 0 0 0 0
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 10
120 𝑥 100%
= 8,3%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L56
Tabel L.14. Hasil tingkat pengenalan nada secara real-time pada tabel di bawah ini merupakan
hasil pada Frame blocking 128 dan Segment averaging 32.
Input Output Jumlah
dikenali
benar C C# D D# E F F# G G# A A# B Error
C 0 0 5 0 0 0 0 0 0 0 0 5 0 0
C# 4 0 6 0 0 0 0 0 0 0 0 0 0 0
D 4 0 0 6 0 0 0 0 0 0 0 0 0 0
D# 5 0 5 0 0 0 0 0 0 0 0 0 0 0
E 7 0 3 0 0 0 0 0 0 0 0 0 0 0
F 7 0 0 3 0 0 0 0 0 0 0 0 0 0
F# 6 0 4 0 0 0 0 0 0 0 0 0 0 0
G 5 0 0 0 0 0 0 0 0 0 0 5 0 0
G# 3 0 5 2 0 0 0 0 0 0 0 0 0 0
A 0 0 0 0 0 0 0 0 2 8 0 0 0 8
A# 6 0 0 0 0 0 0 0 0 0 0 4 0 0
B 5 0 5 0 0 0 0 0 0 0 0 0 0 0
Menggunakan perhitungan rumus persamaan (4.1)
Tingkat pengenalan = 𝑣
𝐵𝑎𝑛𝑦𝑎𝑘𝑛𝑦𝑎 𝑝𝑒𝑟𝑐𝑜𝑏𝑎𝑎𝑛𝑥 100%
= 8
120 𝑥 100%
= 6,6%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI