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
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 pianic a only recognize basic tones, resulting in the subsequent development can still be developed fo r the introduction of a more complex tone.
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
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
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.
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.
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.
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
xii
DAFTAR ISI
Halaman
HALAMAN JUDUL
. ... iHALAMAN PERSETUJUAN
.. ... iiiHALAMAN PENGESAHAN
. ... ivPERNYATAAN KEASLIAN KARYA
. ... vHALAMAN PERSEMBAHAN DAN MOTTO HIDUP
... viLEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
. ... viiINTISARI
. ... viiiABSTRACT
. ... ixKATA PENGANTAR
. ... xDAFTAR ISI
. ... xiiDAFTAR GAMBAR
. ... xviDAFTAR TABEL
………xviii
BAB I PENDAHULUAN
1.1. Latar Belakang. ... 11.2. Tujuan dan Manfaat ... 2
1.3. Batasan Masalah ... 2
1.4. Metodologi Penelitian ……….. 3
BAB II DASAR TEORI
2.1. Pianika ... 42.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
xiii
2.9 Perhitungan korelasi ... 8
BAB III PERANCANGAN
3.1. Sistem Pengenalan Nada Pianika ... 103.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... 284.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
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 ... 505.2. Saran ... 50
DAFTAR PUSTAKA
... 51LAMPIRAN
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
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
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
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
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
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.
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.
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
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.
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-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
=
�−=01�
− (2�/�) (2.4)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)
Dengan keterangan sebagai berikut :
= rata-rata variable data masukan
= rata-rata variable data referensi
= data masukan
= data referensi
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 realtime. 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.
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.
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
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
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, frameblocking, normalisasi,
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
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
[image:34.612.105.509.86.503.2]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
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
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.
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)
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.
[image:38.612.101.510.200.559.2]
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
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
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.
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
3.4.7 DFT
Nilai dari DFT yang diperoleh kemudian dicari nilai absolutnya. Pada proses ini diperoleh
[image:42.612.91.516.258.638.2]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.
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.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
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.
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
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.
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
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
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,
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
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=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);
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;
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
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
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
[image:57.612.82.510.476.715.2]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% -
[image:58.612.100.507.110.427.2]
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
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
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
[image:60.612.69.537.111.468.2]b) Pengujian untuk Menentukan Batasan Nilai Korelasi
Dibawah ini akan diperlihatkan tabel hasil pengenalan nada dengan batas pengenalana
[image:61.612.67.553.169.561.2]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