i
PENGENALAN NADA ALAT MUSIK PIANIKA
MENGGUNAKAN METODE KORELASI
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh:
Nama : Dionysius Edwin Surya
NIM : 075114024
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
PIANIKA MUSICAL INSTRUMENT’S TONE RECOGNITION
USING CORRELATION METHOD
FINAL PROJECT
Presented as Partial Fulfillment of the Requirements
To Obtain the Sarjana Teknik Degree
In Electrical Engineering Study Program
By:
Name : Dionysius Edwin Surya
Student Number : 075114024
ELECTRICAL ENGINEERING STUDY PROGRAM
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
vi
HALAMAN PERSEMBAHAN DAN MOTTO
MOTTO:
“
Pantang Pulang Sebelum Padam
”
Kupersembahkan karya tulis ini kepada :
Kupersembahkan karya tulis ini kepada :
Kupersembahkan karya tulis ini kepada :
Kupersembahkan karya tulis ini kepada :
Tuhan Yesus Kristus terkasih
Tuhan Yesus Kristus terkasih
Tuhan Yesus Kristus terkasih
Tuhan Yesus Kristus terkasih,,,,
Bapak
Bapak
Bapak
Bapak dan Ibu Tercinta
dan Ibu Tercinta
dan Ibu Tercinta,,,,
dan Ibu Tercinta
Keluarga besarku tercinta
Keluarga besarku tercinta
Keluarga besarku tercinta
Keluarga besarku tercinta,,,,
Teman
Teman
Teman
Teman----teman seperjuanganku
teman seperjuanganku
teman seperjuanganku
teman seperjuanganku
Terima kasih untuk
Terima kasih untuk
Terima kasih untuk
vii
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. Hal ini sangat penting bagi seorang pemusik untuk mengetahui apakah alat musik yang digunakan sudah menghasilkan nada-nada yang tepat. Alat musik yang digunakan pun juga bervariasi, salah satunya alat musik tiup. Pianika adalah alat musik tiup yang sering digunakan dalam pendidikan musik di sekolahan,digunakan untuk dasar belajar nada-nada asli (natural) dan nada kromatis.
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 FFT, mengenali nada terekam, dan menampilkan hasil nada yang dikenali.
Sistem pengenalan nada alat musik pianika dengan metode fungsi jarak korelasi sudah berhasil dibuat dan dapat bekerja dengan baik. Penampil hasil nada, spektrum frekuensi hasil FFT, dan korelasi 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.
viii
ABSTRACT
Most of people can only hear a tone from the instrument without knowing what tone is being played, because of the lack of hearing acuity and knowledge of music is very limited. It’s very important for a musician to find out whether the instruments used have produced the proper tones. Musical instruments used vary, one wind instrument. Pianika is a wind instrument that is often used in music education in schools, used to learn the basic of original (natural) tones and chromatic.
Musical tone recognition systems at pianika this thesis using a microphone and a computer to operate. Microphones in this study serves to record the musical tone sound waves pianika. While the computer functions to process data recording, featuring a wave of record results, showing the frequency spectrum of the FFT process, recognize the tones recorded, and displays the results of a recognizable tone.
Recognition systems pianika musical tones with a distance correlation function method has been successfully established and can work well. Viewer the tone, the frequency spectrum of the FFT, and the correlation of each tone is capable of displaying data according to the design. Musical tone recognition programs pianika 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 syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena atas anugerah-Nya penulis akhirnya dapat menyelesaikan tugas akhir ini dengan baik dan lancar.
Dalam proses penulisan tugas akhir ini penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan perhatian dan bantuan dengan caranya masing-masing sehingga tugas akhir ini dapat terselesaikan. Oleh karena itu penulis ingin mengucapkan terima kasih antara lain kepada :
1. Tuhan Yesus Kristus atas anugerah-Nya kepada penulis.
2. Rm. Wiryono Priyotamtama SJ, Rektor Universitas Sanata Dharma
3. Paulina Heruningsih Prima Rosa, M.Sc., selaku Dekan Fakultas Sains dan Teknologi.
4. Wiwien Widyastuti, S.T., M.T., selaku dosen pembimbing akademik yang telah mendampingi dan membimbing penulis selama studi.
5. Dr. Linggo Sumarno selaku pembimbing, atas ide-ide yang berguna, bimbingan, dukungan, saran dan kesabaran bagi penulis dari awal sampai tugas akhir ini selesai.
6. Damar Widjaja,S.T., M.T dan Wiwien Widyastuti, S.T., M.T., selaku penguji yang telah bersedia memberikan kritik dan saran.
7. Seluruh dosen Teknik Elektro atas ilmu yang telah diberikan selama penulis menimba ilmu di Universitas Sanata Dharma.
xii
DAFTAR ISI
Halaman
HALAMAN JUDUL……..……….i
HALAMAN PERSETUJUAN………..iii
HALAMAN PENGESAHAN…….………...iv
HALAMAN PERNYATAAN KEASLIAN KARYA………..v
HALAMAN PERSEMBAHAN DAN MOTTO.……….vi
INTISARI………..vii
ABSTRACT………...viii
LEMBAR PERSETUJUAN PUBLIKASI………...ix
KATA PENGANTAR………x
DAFTAR ISI……….xii
DAFTAR GAMBAR………....xiv
DAFTAR TABEL………....xvi
DAFTAR LAMPIRAN………...xvii
BAB I. PENDAHULUAN 1.1. Latar Belakang Masalah………1
1.2. Batasan Masalah………2
1.3. Tujuan dan Manfaat penelitian………..2
1.4. Metodologi Penelitian………2
1.4.1. Variabel Penelitian……….2
1.4.2. Prosedur Penelitian………3
BAB II. DASAR TEORI 2.1. Definisi Pianika…...………...4
2.2. Definisi Sampling……….………...………..4
2.3. Definisi Frame Blocking………...………...5
2.4. Windowing………6
2.4.1 Kaiser Windowing ……….…………..………….. 6
2.5. Fast Fourier Transform………..7
xiii
2.8. Mikrofon………9
2.9. Definisi dan Fungsi Matlab……….10
BAB III. RANCANGAN PENELITIAN 3.1. Sistem Pengenalan Nada Alat Musik Pianika………….…………12
3.2. Perancangan nada referensi…..………..………….…………13
3.3. Nada Uji………..14
3.4. Tampilan Program pada GUI Matlab………..15
3.5. Perancangan Alur Program………..16
3.6. Perancangan Subsistem Program……….22
3.6.1 Subsistem Sampling……….22
3.6.1 Subsistem Pengenalan Nada………22
BAB IV. HASIL PENGAMATAN DAN PEMBAHASAN 4.1. Pengujian Program Pengenalan Nada Alat Musik Pianika Menggunakan Metode Korelasi………...…...24
4.2. Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat Pengenalan Nada Alat Musik Pianika………....29
BAB V. KESIMPULAN DAN SARAN 5.1. Kesimpulan………..35
5.2. Saran………35
DAFTAR PUSTAKA...36
xiv
DAFTAR GAMBAR
Halaman
Gambar 2.1. Alat Musik Pianika………...4
Gambar 2.2. Frame Blocking………5
Gambar 2.3. Kaiser Window dengan nilai πα atau β yang berbeda-beda…..……...6
Gambar 2.4. Contoh Kartu Suara……….9
Gambar 2.5. Tampilan Utama Matlab………..………...11
Gambar 3.1. Blok Sistem pengenalan nada pianika………....12
Gambar 3.2. Blok Diagram Proses Pengambilan Nada Referensi………...14
Gambar 3.3. Blok Diagram Proses Pengambilan Nada Uji ………15
Gambar 3.4. Tampilan utama program pengenalan nada………....15
Gambar 3.5. Alur program sistem keseluruhan………...17
Gambar 3.6. Alur program Rekam…………...………...18
Gambar 3.7. Alur program frame blocking……….………….18
Gambar 3.8. Alur pogram normalisasi 1………..19
Gambar 3.9. Alur Program windowing………19
Gambar 3.10. Alur program FFT…………...………20
Gambar 3.11. Alur program normalisasi 2…….………...20
Gambar 3.12. Alur program fungsi jarak……….……….21
Gambar 3.13. Alur program penentuan hasil pengenalan...21
Gambar 4.1. Icon Program Pengenalan……….…………..24
Gambar 4.2. Tampilan awal matlab……….25
xv
Gambar 4.5. Tampilan setelah program eksekusi……….28
Gambar 4.6. Pengaruh Nilai alpha Terhadap Tingkat Pengenalan…...…………..30
Gambar 4.7. Spektrum hasil FFT 128 point Nada uji D dengan Nilai
alpha (a) 0, (b) 50, (c) 100, (d) 500……….…..…30
Gambar 4.8. Pengaruh Nilai FFT Terhadap Tingkat Pengenalan………....32
Gambar 4.9. Spektrum Hasil FFT 32 point (a), 64 point (b),
xvi
DAFTAR TABEL
Halaman
Tabel 3.1. Keterangan Tampilan Utama Program……….16
Tabel 3.2. Variasi Nada Referensi………….………23
Tabel 4.1. Tampilan Hasil Pengenalan Nada Yang Dikenali………....28
Tabel L.1. Spesifikasi Mini Multimedia Microphone ……….………...L2
Genius MIC-01A
xvii
DAFTAR LAMPIRAN
Halaman
Lampiran I. Blok model perancangan………...L1
Lampiran II. Blok diagram perekaman nada uji...L2
Lampiran III. Percobaan awal mencari spektrum frekuensi...L3
dari nada pianika dengan Matlab
Lampiran IV. Percobaan awal mencari durasi perekaman...L11
Untuk sistem pengenalan nada pianika dengan Matlab
Lampiran V. Percobaan pengaruh frame blocking pada...L13 sistem pengenalan nada pianika dengan Matlab
Lampiran VI. Listing program utama……...………...L22
Lampiran VII. Listing program prosespros...………...L36
Lampiran VIII. Listing program allpros…...………...L37
1
BAB I
PENDAHULUAN
1.1
Latar Belakang
Musik merupakan ekspresi yang timbul dari dalam jiwa manusia yang diwujudkan dalam bentuk karya seni. Musik terbentuk dari kumpulan nada-nada yang tersusun secara harmonis sehingga menghasilkan “sesuatu yang indah” menurut indera pendengaran yang dimiliki manusia. Baik musik tradisional maupun musik pop, rock dan jazz yang masing-masing memberikan keindahan dalam bermusik. Musik juga bisa menjadi efektif di bidang akademis dengan membantu pembentukan pola belajar, mengatasi kebosanan dan menangkal kebisingan eksternal yang mengganggu [1].
Alat musik yang digunakan pun juga bervariasi, salah satunya alat musik tiup. Pianika merupakan bagian dari banyak alat musik apabila dengan tiupan akan menghasilkan sebuah bunyi. Tinggi rendahnya nada ditentukan oleh frekuensi dasar gelombang bunyi [2]. Semakin besar frekuensi dasar gelombang bunyi, maka semakin tinggi nada yang dihasilkan, demikian pula sebaliknya. Indera pendengaran manusia tidak dapat mengetahui secara pasti jenis nada apa yang didengar olehnya, terkecuali bagi para pemusik profesional. Hal ini amatlah penting bagi seorang pemusik untuk mengetahui apakah alat musiknya sudah menghasilkan nada-nada yang tepat.
Program komputer dapat melakukan penalaan nada alat musik dengan membandingkan frekuensi dasar gelombang bunyi alat musik menggunakan metode
korelasi dan mencocokkan frekuensi dasar tersebut dengan frekuensi dasar nada referensi
yang baku. Dengan demikian jenis nada alat musik dapat diketahui secara pasti untuk melakukan penalaan nada alat musik khususnya pada alat musik pianika.
1.2
Tujuan dan Manfaat
Tujuan dari penulisan tugas akhir ini adalah menghasilkan sistem pengenalan nada 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 otomatisasi pengenalan nada suara pada alat musik pianika terdiri dari
hardware dan software (komputer). Hardware berfungsi untuk memasukkan nada suara
yang dimainkan pada alat musik pianika, sedangkan software pada komputer berfungsi untuk mengatur semua proses pengenalan nada suara yang dimainkan pada alat musik pianika.
Pada perancangan sistem ini, penulis fokus pada pembuatan software komputer untuk memproses pengenalan nada suara, sedangkan untuk hardware berupa microphone yang sudah tersedia di pasaran. Penulis menetapkan beberapa batasan masalah yang dianggap perlu pada perancangan ini, yaitu sebagai berikut:
a. Pianika yang digunakan merek Pryamid
b. Nada Pianika yang digunakan “ C, C#, D, D#, E, F, F#, G, G#, A, A#, dan B”. c. Hasil pengenalan tidak real time.
d. Menggunakan perangkat lunak komputasi (Matlab) dalam pembuatan program.
e. Menggunakan metode FFT dalam penyelesaian program. f. Menggunakan Kaiser Window dalam proses program. g. Evaluasi fungsi jarak dengan Correlation Distance.
1.4
Metodologi Penelitian
1.4.1 Variabel Penelitian
a. Proses Perekaman Suara
b. Pengenalan nada suara pianika
Variabel bebas pada penelitian ini ialah nada pianika yang akan dikenali. Nada yang akan dikenali ialah “C , C# , D , D# , E , F , F# , G , G# , A , A#, dan B”. Variabel terikat yang digunakan pada pengenalan nada suara pianika yaitu variasi FFT, dan alpha pada windowing.
1.4.2 Prosedur Penelitian
Langkah-langkah dalam pengerjaan tugas akhir:
a. Pengumpulan bahan – bahan referensi berupa buku – buku dan jurnal – jurnal. b. Perancangan subsistem software.
Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang akan dibuat dengan mempertimbangkan berbagai faktor – faktor permasalahan.
c. Pembuatan subsistem software.
Sistem akan bekerja apabila user memberikan interupsi melalui PC dengan media push button yang sudah disediakan dalam software. Sistem akan mengolah interupsi yang diterima dan memulai proses recording sampai user memberikan interupsi kembali untuk menghentikan proses recording. Setelah itu, user memberikan interupsi untuk memulai proses pengenalan nada. Komputer akan mengolah nada dan menyajikannya sebagai sebuah informasi. d. Analisa dan penyimpulan hasil percobaan.
Analisa data dilakukan dengan mengecek keakuratan data terhadap hasil proses pengenalan nada, dengan cara membandingkan antara data di komputer dengan lapangan dan perancangan. Penyimpulan hasil percobaan dapat dilakukan dengan menghitung jarak yang terjadi.
4
BAB II
DASAR TEORI
2.1
Pianika
Adalah alat musik tiup kecil sejenis harmonica, tetapi bilah-bilah keyboard yang luasnya sekitar tiga oktaf [4]. Pianika dimainkan dengan tiupan langsung, atau memakai pipa lentur yang dihubungkan ke mulut. Umumnya pianika dimainkan sebagai alat pendidikan sekolah. Pianika tergolong alat musik tiup. Alat musik pianika biasanya digunakan untuk memainkan melodi pokok, kontra melodi, dan bila memungkinkan dapat juga untuk mengiringi lagu. Pianika mempunyai dua bilahan warna tuts yaitu warna putih dan hitam. Bilahan-bilahan yang berwarna putih untuk nada-nada asli (natural) dan yang berwarna hitam untuk memainkan nada-nada kromatis. Dalam memainkan alat musik pianika, tangan kiri memegang pianika dan tangan kanan menekan untuk memainkan melodi lagu, sedangkan mulut meniupnya.
C D E F G A B
C# D# F# G# A#
Gambar 2.1 Alat musik pianika [5]
2.2
Sampling
Sampling rate menandakan berapa banyak pencuplikan gelombang analog dalam 1 detik.
Sampling rate dinyatakan dalam satuan Hertz (Hz). Pada proses sampling, sebaiknya
sampling rate memenuhi kriteria Nyquist. Kriteria Nyquist menyatakan bahwa sampling
rate harus lebih besar dari 2 kali frekuensi tertinggi sinyal suara analog [6]. Secara
matematis dapat dituliskan:
≥ 2 ………..…… (2.1)
dengan adalah frekuensi sampling (sampling rate), sedangkan adalah frekuensi tertinggi sinyal suara analog.
2.3
Frame Blocking
Frame blocking merupakan pembagian sinyal suara menjadi beberapa frame dan
satu frame terdiri dari beberapa data sample [7]. Pengambilan sample tersebut tergantung dari tiap detik suara yang akan disample dan berapa besar frekuensi sampling. Gambar 2.2 menunjukkan contoh frame blocking, keseluruhan frame dibagi menjadi 5 M frame. Setiap M memiliki jumlah data sama yaitu 2 data, dengan N adalah Nyquist.
Gambar 2.2. Frame Blocking [7]
2.4
Windowing
Penyebab kesalahan data pada proses fourier transform yaitu sinyal suara yang dipotong-potong menjadi beberapa frame. Windowing diperlukan untuk mengurangi efek diskontinuitas dari potongan-potongan sinyal [8].
2.4.1
Kaiser Window
Kaiser window adalah salah satu jenis window. Dalam Kaiser window [9], parameter β menentukan ketinggian dari sidelobe seperti yang terlihat pada Gambar 2.3. Untuk pemberian nilai β, ketinggian sidelobe tergantung dengan panjang window.
Gambar 2.3. Kaiser window dengan nilai atau β yang berbeda – beda [8] Kaiser window didefinisikan dengan [10]:
[ ] ≜ 1 − − , 0 ≤ ≤ 0, !"#!
$ (2.2)
dengan adalah orde 0 dari fungsi Bessel:
(() ≜ ) * ( 2+
,! .
/ +0
(2.3)
Biasanya Kaiser window diparameterkan dengan:
= /2 (2.4)
∆6 = 6 − 67 (2.5) = −20 log 5 (2.6)
= >0.1102 ( − 8.7), > 500.5842 ( − 21) .B+ 0.07886 ( − 21), 21 ≤ ≤ 50
0.0, < 21$ (2.7) dan
= 2.285∆6 (2.8)− 8
dengan M adalah jumlah data, α adalah parameter dalam penentuan β, dan β adalah parameter penentuan ketinggian sidelobe.
.
2.5
Fast Fourier Transform (FFT)
FFT merupakan cara cepat menghitung DFT. Discrete Fourier Transform (DFT) adalah transformasi yang mengubah domain waktu ke domain frekuensi. Jika N adalah jumlah
sample data dan x(n) menunjukkan nilai titik tersebut pada frekuensi ke-k. Rumus DFT
dapat didefinisikan sebagai [11]:
E(,) = ∑L0G (( )!GHIJK+L , = 0, … . . , N − 1 (2.9) dengan x0, ...., xN-1 berupa angka komplek, N adalah jumlah sample data, X(k) adalah sinyal hasil DFT (frequency domain), dan x(n) adalah sinyal masukan (time domain).
Faktor eksponensial dalam persamaan (2.9) dilambangkan dengan OL+, sehingga FFT dapat dituliskan sebagai:
E(,) = ∑ G (( )OL+
L0 , = 0, … . . , N − 1 (2.10)
dengan
2.6
Fungsi Jarak Korelasi
Fungsi jarak korelasi (Correlation Distance Function) menghitung besarnya perubahan dari dua variabel. Fungsi jarak ini membagi dua variabel 1 dengan variabel lainnya yang saling berhubungan.
Fungsi jarak korelasi dirumuskan sebagai berikut [12]:
R((, S) = ∑ (TYUZ[ UGTW )(XV UGXW )V
\∑ (TYUZ[ UGTW )VI∑ (XYUZ[ UGXW )V I
……. (2.12)
dengan (], S] adalah jarak kedua variabel, (W^, SW^ adalah jarak rata-rata kedua variabel,
D(x,y) adalah jarak antara x dan y, dan m adalah jumlah data.
2.7
Kartu Suara
Kartu Suara (Sound Card) merupakan sebuah periperal pada komputer sebagai I/O suara yang menyediakan kemampuan untuk menghasilkan suara yang dapat didengar oleh pengguna baik melalui speaker atau headphone [13] . Pada dasarnya setiap kartu suara memiliki:
a. Digital Signal Processor (DSP) yang akan menangani semua jenis komputasi.
b. Digital to Analog Converter (DAC) sebagai keluaran suara ke speaker.
c. Analog to Digital Converter (ADC) sebagai masukan suara.
d. Read Only Memory (ROM) atau Flash sebagai penyimpanan data.
e. Musical Instrument Digital Interface (MIDI) untuk menyambungkan
beberapa peralatan musik eksternal.
f. Jack untuk menyambungkan kartu suara dengan speaker pada jalur line out
atau microphone pada jalur line in.
Beberapa kartu suara sudah terpasang secara pabrikan (on board) pada
motherboard komputer, tetapi bisa juga ditambahkan untuk keperluan pada slot PCI
Gambar 2.4. Contoh Kartu Suara [14]
Dalam proses perekaman suara dengan menggunakan kartu suara, ada beberapa pengaturan awal, yaitu:
a. Sampling Rate, telah dijelaskan pada poin 2.1
b. Channel yang digunakan, yaitu mono atau stereo.
Satu channel menandakan mode mono, 2 Channel menandakan mode stereo.
2.8
Mikrofon
Mikrofon (Microphone) berguna untuk merubah suara menjadi getaran listrik sinyal analog untuk selanjutnya diperkuat dan diolah sesuai dengan kebutuhan, pengolahan berikutnya dengan power amplifier dari suara yang berintensitas rendah menjadi lebih keras terakhir diumpan ke speaker [15].
Mikrofon harus dipilih dengan lebih hati-hati. Hal ini dilakukan untuk mencegah berkurangnya kemampuan mikrofon dari performa yang optimal. Dalam memilih mikrofon hal yang harus diperhatikan adalah :
a. Prinsip cara kerja mikrofon dari jenis mikrofon itu sendiri
b. Daerah respon frekuensi suara yang mampu dicuplik oleh mikrofon c. Output sinyal listrik yang dihasilkan mikrofon
d. Bentuk fisik mikrofon
2.9
Matlab
Matlab merupakan bahasa pemrograman yang hadir dengan fungsi dan karakteristik yang berbeda dengan bahasa pemrograman lain yang sudah ada lebih dahulu seperti Delphi, Basic maupun C++ [16]. Matlab merupakan bahasa pemrograman level tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematik, analisis data, pengembangan algoritma, simulasi dan pemodelan, dan grafik-grafik perhitungan. Matlab dikembangkan oleh Mathworks, yang pada awalnya dibuat untuk mengakses data matrik pada proyek LINPACK dan EISPACK. Dalam lingkungan pendidikan ilmiah, software ini menjadi alat pemrograman standar bidang matematika, rekayasa dan keilmuan terkait. Pada lingkungan kerja Matlab, ada beberapa bagian dari Window yang dipakai, yaitu :
1. Current Directory
Current Directory menampilkan isi dari direktori kerja saat menggunakan
Matlab. Direktori ini dapat diganti sesuai dengan tempat direktori kerja yang diinginkan.
2. Command History
Window ini berfungsi untuk menyimpan perintah-perintah apa saja yang
sebelumnya dilakukan oleh pengguna terhadap Matlab.
3. Command Window
Command Window adalah window utama dari Matlab. Di sini adalah tempat
untuk menjalankan fungsi, mendeklarasikan variabel, menjalankan proses-proses, serta melihat isi variabel.
4. Workspace
Workspace berfungsi untuk menampilkan seluruh variabel-variabel yang
Gambar 2.5 menunjukkan tampilan antar muka dari Matlab
12
BAB III
PERANCANGAN
3.1
Sistem Pengenalan Nada Alat Musik Pianika
Blok sistem pengenalan nada alat musik Pianika ditunjukkan pada Gambar 3.1.
Gambar 3.1. Blok sistem pengenalan nada pianika
Sistem pengenalan nada alat musik pianika terdiri dari software pada komputer 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) dan jalur line in pada kartu suara (SoundCard).
Pada proses pengenalan nada pianika, data berupa input Wav dinormalisasi. Kemudian, data diolah melalui proses windowing untuk analisa sinyal menggunakan FFT (Fast Fourier Transform). Untuk tahap terakhir, penyelesaian dengan fungsi jarak korelasi digunakan dalam sistem pengenalan nada pianika.
3.1.1
Suara Pianika (Wav)
Hasil dari sampling nada pianika yang direkam akan diproses ke tahap selanjutnya seperti yang ditunjukkan pada Gambar 3.1.
3.1.2
Frame Blocking
Proses ini memilih data dari data nada terekam, sehingga data yang dipilih dapat mewakili semua data pada nada terekam.
Suara Pianika (Wav) Frame Blocking Normalisasi Windowing Kaiser
FFT Fungsi Jarak
3.1.3 Normalisasi
Data yang telah melalui proses frame blocking selanjutnya dinormalisasi. Pada tahap ini semua jenis nada pianika yang sudah terekam akan dinormalisasikan, tujuan dari normalisasi ini agar amplitudo pada saat nada dimainkan bisa maksimal.
3.1.4
Windowing Kaiser
Data yang telah dinormalisasikan mengalami proses windowing. Dari jenis
windowing yang ada, dalam penelitian ini menggunakan Kaiser Window.
3.1.5
Fast Fourier Transform
Proses ini mengkonversi data nada suara dalam domain waktu menjadi domain frekuensi. Domain frekuensi digunakan untuk melihat ciri dari suatu nada.
3.1.6
Fungsi Jarak
Tahap akhir dari sistem yang penulis akan kerjakan. Dalam proses ini, penulis menggunakan fungsi jarak korelasi untuk pengenalan nada alat musik pianika.
3.1.7
Penentuan Nada
Proses penentuan adalah subproses terakhir dari proses pengenalan nada. Pada proses ini, hasil pengenalan nada ditentukan berdasarkan jarak minimum yang diperoleh setelah proses fungsi jarak.
3.1.8
Output Pengenalan Nada
Hasil akhir software yang akan mengenali nada alat musik pianika. Tampilan dalam bentuk visual GUI Matlab yang telah dirancang oleh penulis.
3.2
Perancangan Nada Referensi
untuk menanggulangi perbedaan dalam pengambilan sample (paling tidak diambil 10
sample nada). Nada yang akan dikenali ada 12 nada, jadi total keseluruhan nada ada 120
sample nada. Proses pengambilan dapat dilihat pada Gambar 3.2. Pengambilan nada yang
akan dijadikan nada referensi harus melalui proses sampling, frame blocking, normalisasi,
windowing, dan FFT.
Gambar 3.2. Blok Diagram Proses Pengambilan Nada Referensi
Proses pengambilan nada disesuaikan dengan variabel bebas pada pembuatan sistem pengenalan nada alat musik pianika. Setelah 10 nada sample pada setiap nada diperoleh, perhitungan persamaan (3.1) dilakukan untuk mendapatkan nada referensi. Hasil FFT yang telah dinormalisasi digunakan sebagai nada sample, 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.
= + + … +
10 (3.1)
Nada referensi yang didapat kemudian disimpan dalam fungsi header yang ada dalam sistem pengenalan nada alat musik pianika. Sehingga sewaktu-waktu nada referensi dapat dipanggil dalam proses fungsi jarak yang ada dalam sistem pengenalan alat musik pianika.
3.3
Nada Uji
Untuk memperoleh nada uji pada setiap nada pada pengenalan nada alat 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.3. Pengambilan nada yang akan digunakan sebagai nada uji harus melalui proses sampling.
Gambar 3.3. Blo
3.4
Tampilan Prog
Tampilan utama p diperlihatkan pada Gambar
Gamb
Tampilan program program ini serta mengert keterangan dari tampilan uta
Masukan (suara pianika)
Blok diagram proses pengambilan nada uji
rogram pada GUI Matlab
a program pada GUI Matlab yang digunakan d ar 3.4.
mbar 3.4. Tampilan utama program pengenalan
ram dibuat agar user dapat dengan mudah erti hasil dari pengenalan nada alat musik utama program dijelaskan pada Tabel 3.1.
Sampling Keluaran (wav)
dalam penelitian ini
an nada
Tabel 3.1. Keterangan Tampilan Utama Program
Nama Bagian Deskripsi
Tombol Selesai Digunakan untuk mengakhiri aplikasi Plot Hasil Rekam Tampilan grafik suara hasil rekaman
Tombol Input Nada Digunakan untuk mengambil suara nada alat musik pianika yang sedang dimainkan
Hasil Pengenalan Nada Untuk menampilkan nada yang didapat setelah proses pengenalan
Korelasi Untuk menampilkan perbandingan korelasi yang didapat dari proses perbandingan 12 nada referensi
Variasi FFT Untuk memilih titik FFT yang digunakan pada proses pengenalan nada, pilihan berupa 256, 128, 64, dan 32 titik.
Alpha pada windowing Untuk memilih nilai alpha yang akan
digunakan pada proses pengenalan nada, pilihan nilai alpha seperti 500, 100,50, dan 0. Plot Data Hasil FFT Tampilan data berupa grafik data hasil FFT baik dari rekaman maupun dari 12 nada referensi
3.5
Perancangan Alur Program
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 “Input nada”. Setelah mengambil data acuan dengan menekan tombol “Input nada”, selanjutnya program akan melakukan proses pengambilan suara acuan. Jika suara acuan telah tersimpan, maka user dapat menekan tombol “pengenalan nada”. Proses pengujian akan berhenti ketika spektrum pada kolom penentuan nada sudah tampak hasilnya.
nada acuan. Nada acuan ini dijadikan acuan dalam pengujian pengenalan nada. Proses yang kedua ialah proses pengambilan nada uji. Nada uji ialah nada yang direkam setelah nada acuan. Setelah nada uji terekam, beberapa nada uji akan dibandingkan dengan nada acuan. Kualitas suara nada uji dilihat dari besar rata-rata korelasi tiap sampling antara nada acuan dengan nada uji.
Gambar 3.5. Alur program sistem keseluruhan
Gambar 3.6. Alur program Rekam
Sistem akan memilih data yang akan diproses melalui proses frame blocking. Proses frame blocking memilih data dari keseluruhan data sampling, dan kemudian menyimpannya dalam data “NadFB”. Banyak data yang dipilih dalam proses frame
blocking sudah ditentukan dalam sistem. Proses frame blocking dapat dilihat pada Gambar
3.7.
Alur program normalisasi 1 diperlihatkan pada Gambar 3.8. Hasil proses normalisasi 1 akan disimpan dalam data “Norml”. Data yang telah dinormalisasikan mengalami proses windowing pada Gambar 3.9. Proses windowing menggunakan Kaiser
Window. Hasil proses ini disimpan dalam data “NadWin”. Data “NadWin” dinormalisasi
melalui proses normalisasi 1. Hasil windowing kemudian ditransformasikan menjadi 64 data menggunakan Fast Fourier Transform. Proses FFT dapat dilihat pada Gambar 3.10. Hasil dari proses FFT disimpan dalam data “NadFFT”.Proses ini mengkonversi data nada suara dalam domain waktu menjadi domain frekuensi.
Gambar 3.8. Alur program normalisasi 1
Gambar 3.10. Alur program FFT
Hasil konversi kemudian dinormalisasikan kembali. Dapat dilihat pada Gambar 3.11. Kemudian komputer menjalankan proses plotting hasil konversi tersebut. Data dari 12 nada referensi dan data dari nada teekam digambarkan dalam bentuk sinyal. Hasil konversi ternormalisasi kemudian dibandingkan dengan 12 nada referensi dengan menggunakan fungsi jarak korelasi. Perbandingan menghasilkan jarak, dan data tersebut dicari nilai terkecilnya. Setelah nilai jarak terkecil diperoleh maka nada terekam dapat dikenali. Komputer menampilkan nada hasil pengenalan (C, C#, D, D#, E, F, F#, G, G#, A, A#, B) dan nilai jarak yang diperoleh ke dalam text box. Jika proses tersebut telah dilakukan, maka pengenalan nada alat musik pianika sudah selesai.
Gambar 3.12. Alur program fungsi jarak
3.6
Perancangan Subsistem Program
Terdapat dua sistem 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. Pengujian ini menggunakan Matlab, karena dalam program tersebut sudah memiliki fungsi-fungsi yang menunjang subsistem dari sistem program pengenalan nada.
3.6.1 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 4800Hz (lihat Lampiran). b. Durasi perekaman yang digunakan adalah 2 detik (lihat Lampiran).
3.6.2 Subsistem Pengenalan Nada
Subsistem ini terdapat 2 proses menggunakan variabel tetap dan variabel bebas. Variabel bebas yang digunakan diantaranya proses frame blocking dan titik FFT, sedangkan proses fungsi jarak dan nilai alpha pada windowing merupakan variabel tetapnya. Variabel yang akan dievaluasi untuk membangun sistem pengenalan nada yang optimal adalah kedua variabel bebas tersebut.
a. Frame Blocking mengambil sampel data dari data suara terekam (data yang
diperoleh dalam proses sampling) sebanyak 512 data sample, karena semakin banyak data akan membuat komputasi dalam sistem meningkat dan memperlambat proses pengenalan nada (lihat lampiran).
b. Variasi FFT yang digunakan untuk mengkonversi data hasil windowing adalah 32, 64, 128, 256. Dalam subsistem pengenalan nada, data hasil FFT yang digunakan adalah data riil atau amplitudonya.
c. windowing yang digunakan adalah kaiser window dengan nilai alpha sebesar 0,
50, 100, 500.
Tabel 3.2. Variasi Nada Referensi
Nada Referensi Variasi FFT Alpha pada windowing
C 256 500
100 50
0
128 500
100 50
0
64 500
100 50
0
32 500
100 50
HAS
Pengujian program bekerja dengan baik dan s yang dapat memperlihatkan baik. Analisa terhadap pros yang disajikan dalam tugas
4.1
Pengujian Pr
menggunakan metode
Pengujian program dibuat dapat bekerja sesuai program menggunakan kom
Processor RAM
Program pengenalan dapat d
1. Click dua kali icon
ASIL DAN PEMBAHASAN
ram perlu dilakukan untuk mengetahui sua n sesuai dengan perancangan. Hasil pengujian
kan bahwa program yang telah dirancang dap roses kerja dapat digunakan untuk menarik ke as akhir ini.
Program pengenalan nada alat m
de korelasi.
ram bertujuan untuk memastikan apakah pr ai dengan yang telah dirancang pada bab sebe omputer dengan spesifikasi:
: Intel® Core™2 CPU 4400 @2.00GHz : 4.00 GB
at dijalankan dengan langkah-langkah di bawah
con matlab dengan gambar icon seperti Gambar
Gambar 4.1. Icon Program Pengenalan
yang terlihat pada Gambar 4.1 akan muncul program.
k guide dalam command window dan pada l mbar 4.2 sebelum masuk ke dalam tampilan uta mulai pengenalan dengan mengisi pengaturan
ri alpha pada windowing dan jumlah poin proses pengenalan seperti pada Gambar 4.3.
5. Jika alpha pada wi pengenalan dapat Gambar 4.3). 6. Selanjutnya hasil
Nada”. Korelasi keduabelas text bo dapat melihat spek “Plot Hasil FFT” s 7. Tombol “Selesai”
Gambar
Gambar 4.2. Tampilan awal matlab
windowing dan jumlah point FFT telah dipilih
at dimulai dengan menekan tombol “Pengen
sil pengenalan akan muncul dalam kotak “ yang dihasilkan dari proses pengenalan ak
t box yang berada di bawah pushbutton penge
pektrum hasil rekaman dan grafik hasil proses ” seperti yang terlihat pada Gambar 4.4.
i” digunakan jika user ingin keluar dari program
bar 4.3. Tampilan pengaturan pengenalan nada
ih oleh user, program genalan Nada” (lihat
“Hasil Pengenalan akan muncul dalam ngenalan nada . user ses FFT dalam kotak
Gambar 4.4. Tamp Pada implementas perubahan. Perubahan letak Perubahan tampilan nada y agar user dapat mengetahu hingga nada dikenali. Listin lampiran.
4.1.1. Tombol Pengen
Tombol Pengenala pengenalan nada. Untuk metode dengan Puss Butto lampiran halaman L32). Sed yang akan diteliti (lihat lam
mpilan Utama Program Pengenalan Nada Alat M tasi program, tampilan korelasi dan nada yang d
tak dimaksudkan agar program terlihat lebih a yang dikenali menjadi tampilan hasil pengen
hui proses yang sedang dijalankan oleh progra
sting program utama secara keseluruhan terlam
genalan Nada
alan Nada hanya dapat ditekan setelah user m k mengetahui pengaturan pemanggilan nada
tton berfungsi untuk memanggil nada yang a
Sedangkan plotting data hasil rekaman dari mas mpiran halaman L3).
at Musik Pianika g dikenali mengalami ih simple dan elegan. genalan dimaksudkan gram dari perekaman lampir pada halaman
Setelah proses rekaman, program kemudian memproses data hasil perekaman untuk pemilihan data tengah dari deretan data hasil perekaman. Proses ini disebut frame
blocking (lihat lampiran halaman L36).
Selanjutnya data hasil frame blocking akan diproses melalui proses windowing, berguna untuk menghilangkan noise suara yang ikut terekam dalam proses rekam. Dalam program pengenalan ini, alpha yang digunakan untuk mengatur windowing bervariasi, dan
user dapat menggunakan 3 varian alpha yang terdapat pada popup menu. Pengecekan hasil
pilihan dari user sudah dilakukan sebelum proses perekaman berlangsung. Windowing yang digunakan yaitu Kaiser Window yang menggunakan beta untuk komputasinya. Perolehan nilai beta tergantung dari alpha yang dipilih oleh user (lihat lampiran halaman L36). Setelah nilai beta diperoleh, maka proses Kaiser Window dapat dilakukan (lihat lampiran halaman L36). Setelah proses windowing selesai dilakukan, maka program akan menjalankan proses normalisasi (lihat lampiran halaman L36). Selanjutnya program menjalankan inisialisasi variabel yang akan digunakan dalam proses FFT untuk menampilkan ploting hasil FFT nada suara uji (lihat lampiran halaman L32). Setelah selesai melakukan plotting FFT, selanjutnya program menjalankan proses menghitung korelasi. Penghitungan dilakukan dengan memakai metode korelasi (lihat lampiran halaman L32).
Dalam proses penentuan nada, hasil korelasi maksimum dibandingkan dengan perolehan korelasi dari masing-masing nada referensi. Jika korelasi maksimum sama nilainya dengan salah satu korelasi pada nada referensi, maka nada dikenali adalah salah satu nada sesuai dengan nada referensi. Penentuan nada ini menggunakan listing program (lihat lampiran halaman L33).
Berdasarkan pengujian, tombol “Pengenalan Nada” telah dapat bekerja. Saat tombol “Pengenalan Nada” ditekan, program telah merekam, menampilan plot rekaman, menampilkan plot hasil FFT, menampilkan hasil korelasi masing-masing nada, dan mengenali nada.
Tabel 4.1. Ta No Hasil Pengenala
Nada dioperasikan dengan input mengeksekusi input nada pengenalan nada.
Gamb
Tampilan Hasil Pengenalan Nada Yang Dikena
alan Keterangan
Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n Nada yang dikenali dari korelasi adalah n
mperlihatkan tampilan dari program GUI m ut nada Ckres , variasi FFT 64, variasi alpha
a yang telah dipilih oleh user dan akan m
Kesimpulan yang dapat diambil dari hasil pengujian adalah tombol yang terdapat pada tampilan program utama pengenalan nada suara alat musik pianika telah dapat bekerja dan alur program secara keseluruhan telah sesuai dengan perancangan
4.2
Hasil Pengujian Program Pengenalan Nada Terhadap Tingkat
Pengenalan Nada Alat Musik Pianika.
Pengujian program pengenalan nada alat musik pianika, dilakukan melalui 1(satu) tahapan pengujian. Tahapan pengujian program yaitu pengujian parameter pengaturan pengenalan yang terdiri dari alpha pada windowing dan FFT point yang digunakan dalam proses pengenalan. Tujuan pengujian parameter pengaturan pengenalan dilakukan untuk mencari nilai dari setiap parameter yang menghasilkan tingkat pengenalan (recognition rate) yang terbaik.
4.2.1
Pengujian Parameter Pengaturan Pengenalan Nada
Percobaan untuk melihat seberapa besar tingkat pengenalan yang terjadi setiap penentuan pada parameter pengenalan dilakukan untuk menetukan parameter alpha pada
windowing dan FFT yang digunakan. Langkah-langkah percobaan yang akan digunakan
sebagai berikut:
1. Proses merekam 10 kali suara yang dihasilkan oleh setiap nada alat musik pianika dari nada C, C#, D, D#, E, F, F#, G, G#, A, A#, dan B.
2. Hasil suara rekaman disimpan untuk menguji setiap kombinasi parameter pengaturan pengenalan nada.
3. Mengenali setiap rekaman menggunakan kombinasi nilai parameter yang berbeda-beda dengan nilai:
a. Alpha pada windowing = 0, 50, 100, 500. b. FFT point = 32, 64, 128, 256
4. Menentukan kombinasi nilai parameter pengenalan yang menghasilkan tingkat pengenalan terbaik
Gambar 4.7 memperlihatkan seiring naiknya nilai alpha semakin turun pengenalan pada sistem. Nilai alpha mempengaruhi lebar spektrum hasil komputasi/ perhitungan pada proses FFT. Semakin tinggi nilai alpha, semakin lebar spektrum hasil perhitungan proses FFT. Proses pengenalan lebih memperlihatkan separasi menggunakan
alpha kecil supaya sistem lebih bisa dikenali.
Gambar 4.6. Pengaruh Nilai alpha Terhadap Tingkat Pengenalan
(a)
Gambar 4.7. Spektrum hasil FFT 128 point Nada Uji D dengan Nilai Alpha (a) 0
0 20 40 60 80 100 120
0 50 100 500
FFT 32
FFT 64
FFT 128
FFT 256
Nilai Alpha
R
e
co
g
n
it
io
n
R
a
te
(b)
(c)
(d)
Gambar 4.7. (Lanjutan) Spektrum hasil FFT 128 Point Nada Uji D dengan Nilai
Gambar 4.8 memperlihatkan bahwa semakin tinggi nilai FFT, semakin tinggi tingkat pengenalan sistem. Nilai FFT mempengaruhi hasil perhitungan korelasi dalam proses fungsi, seperti pada Gambar 4.9. 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 FFT yang tinggi. Terlihat pada Gambar 4.9 (a) nada uji mengalami
overlapping, setelah penggunaan FFT point yang lebih tinggi nada uji terlihat semakin
memisah, seperti yang terlihat pada Gambar 4.9 (d).
Dari hasil percobaan dapat disimpulkan bahwa tingkat pengenalan yang terbaik didapat dari kombinasi nilai alpha dari 0 sampai 1000 dengan FFT sebesar 128 point (lihat tabel recognition rate). Hal ini disebabkan jarak frekuensi antara nada satu dengan yang lain sangat berdekatan.
Gambar 4.8. Pengaruh Nilai FFT terhadap Tingkat Pengenalan 0
20 40 60 80 100 120
32 64 128 256
Alpha 0
Alpha 50
Alpha 100
Alpha 500 Pengaruh Nilai FFT Terhadap Recognition Rate
Nilai FFT
R
e
co
g
n
it
io
n
R
a
(a)
(b)
(c)
(d)
Gambar 4.9. (Lanjutan) Spektrum hasil FFT 256 point (d) dengan Nilai Alpha 50
Proses pengambilan recognition rate (%) pada sistem pengenalan nada alat musik pianika (lihat lampiran L41) yaitu 10 nada sample pada setiap nada yang diperoleh (lihat lampiran L37), perhitungan persamaan (4.1) dilakukan untuk mendapatkan tingkat pengenalan dari tiap-tiap sample nada.
Recognition Rate (%)
=
x 100% (4.1)
Recognition rate (%) yang diperoleh dari masing-masing nada yang didapat,
selanjutnya digunakan untuk mencari tingkat pengenalan nada alat musik pianika, sejauh mana tingkat pengenalan sistem dapat mengenali. Perhitungan persamaan (4.2) dilakukan untuk mendapatkan tingkat pengenalan nada.
Recognition Rate = %
(4.2)
35
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 alpha pada windowing dan nilai FFT point yang digunakan untuk mengenali nada berpengaruh terhadap tingkat pengenalan sistem.
• Semakin besar nilai alpha pada windowing yang digunakan, semakin turun tingkat pengenalan sistem.
• Semakin besar nilai FFT point yang digunakan, semakin naik tingkat pengenalan sistem.
3. Pada pengujian parameter pengaturan didapatkan nilai alpha pada windowing senilai 0, 50, dengan nilai FFT 128 point yang menghasilkan tingkat pengenalan (recognition rate) terbaik yaitu 100%.
5.2 Saran
Sistem pengenalan nada alat musik pianika ini masih memiliki kekurangan,yaitu sistem masih belum real time. Untuk penelitian lebih lanjut, supaya sistem pengenalan nada ini dibuat real time.
36
DAFTAR PUSTAKA
[1] M.Ortiz, 2002, Menumbuhkan Anak-anak Yang Bahagia, Cerdas, dan Percaya Diri Dengan Musik, Jakarta : Gramedia Pustaka Utama.
[2] Kurnia, Andi, Penala Nada Alat Musik Menggunakan Alih Ragam Fourier, Jurusan Teknik Elektro UNDIP, Semarang.
[3] http://www.tunerchromatic.net/chromatic-tuner-reviews diakses pada tanggal 12 September 2011.
[4]
http://senturi09.wordpress.com/2011/07/05/teknik-memainkan-alat-musik-melodis-pianika diakses pada tanggal 05 Juli 2011. [5] Pianika merek Pryamid.
[6] Sklar, Bernard, 1988, Digital Communications Fundamental and Application, New Jersey, PTR Prentice Hall.
[7] Eka Kartikasari, Yesika, 2006, Pembuatan Software Pembuka Program aplikasi Komputer Berbasis Pengenalan Sinyal Suara, PENS-ITS, Surabaya.
[8] Budi Sontoso, Tri, 2005, Protipe Modul Pengamatan Sinyal Domain Waktu dan Frekuensi Secara Real Time Untuk Praktikum Pengolahan Sinyal Digital,EEPISITS, Surabaya.
[9] The Mathworks, 2005, Signal Processing Toolbox For Use with MATLAB.
[10] http://ssli.ee.washington.edu/courses/ee518/notes/lec17.pdf diakses pada tanggal 08 Oktober 2011.
[11] http://www.informatika.org/~rinaldi/Kriptografi/2010-2011/Makalah1/Makalah1-IF3058-Sem1-2010-2011-052.pdf diakses pada tanggal 01 November 2011.
[12] http://people.revoledu.com/kardi/tutorial/Similarity/CorrelationDistance .html diakses pada tanggal 26 September 2011.
[13] http://www.realkarachi.com/downloads/books/how-stuff-works/how-sound-cards-work%28www.realkarachi.com%29.pdf diakses pada tanggal 05 Juli 2011.
[14] http://www.computerhope.com/jargon/s/souncard.htm diakses pada tanggal 05 Juli 2011.
37
[16] Firmansyah, Ahmad,2007, Dasar-dasar Pemrograman Matlab, Teknik Informatika- Institut Teknologi Sepuluh Nopember, Surabaya.
[17] http://alnect.net/products.php?/13/65/332/1247/Special_Tools/Sound_Editing/Mini Microphone/ Mini_Multimedia_Microphone_Genius_MIC-01A diakses tanggal 10 Oktober 2011
L1
Microphone SoundCard
Komputer
Pengenalan Nada
LAMPIRAN
1.
SKEMA PEREKAMAN
Gambar L.1. Blok model perancangan
2.
PENGAMBILAN NADA PIANIKA
3.1.1
Suara Pianika
Pada proses ini dilakukan pengambilan sample nada yang digunakan baik sebagai acuan atau data yang akan dikenali. Gambar pengambilan nada (terlampir). Sebelum pengambilan nada, penulis mengatur parameter-parameter yang digunakan, seperti frekuensi sampling, waktu, microphone dan pianika. Adapun jarak pengambilan nada ± 30cm dari pianika sampai microphone. Pengambilan sample nada dilakukan 10 kali setiap nada. Jadi total keseluruhan ada 120 sample nada.
3.1.2
Sampling
Pada proses ini bertujuan untuk pencuplikan gelombang suara yang akan menghasilkan gelombang diskret. Dalam proses sampling ada yang disebut dengan laju pencuplikan (sampling rate). Sampling rate menandakan berapa banyak pencuplikan gelombang analog dalam 1 detik. Satuan dari sampling rate ialah Hertz (Hz). Jadi semua sample nada yang diambil dalam proses perekaman semua disampling terlebih dahulu sebelum masuk ke tahap selanjutnya.
Gambar L.2. Blok diagram perekaman nada uji
3.
Mikrofon
yang digunakan adalah mini multimedia microphone Genius MIC-01A dapat dilihat pada gambar dibawah [17]. Mini mikrofon sangat mudah digunakan dan dibawa karena bentuknya yang sangat ringan. Mini mikrofon hanya dapat mendengar suara dari jarak dekat (±1meter dari sumber suara). Spesifikasi dari mini multimedia microphone Genius MIC-01A dapat dilihat pada tabel spesifikasi.
Mini Multimedia Microphone Genius MIC-01A [17]
Tabel L.1. Spesifikasi Mini Multimedia Microphone Genius MIC-01A
Frequency Response 100Hz ~ 10KHz
Sensitivity -62dB
Output Impedance 2.2KΩ @1KHz
Cable length 3.0 Meters
Audio Output Connector 3.5mm Stereo Audio Plug
Weight 107 gram
Masukan
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 2400, 4800Hz dan 9600Hz 2. Durasi perekaman yang dilakukan penulis selama 2 second.
Listing program
%fs=2400;%%fsampling 2400Hz
fs = 4800;%%fsampling 4800Hz %fs= 9600;%%fsampling 9600Hz
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;
Hasil Ploting (Fs=2400)
Nada C
Nada C#
Nada D Nada D#
Nada E Nada F
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
Nada F# Nada G
Nada G# Nada A
Nada A# Nada B
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
0
0 200 400 600 800 1000 1200
Hasil Ploting (Fs=4800)
Nada C Nada C#
Nada D Nada D#
Nada E Nada F
0 500 1000 1500 2000 2500
0
0 500 1000 1500 2000 2500
0
Y: 1.109e+004 X: 1656 Y: 6673
0 500 1000 1500 2000 2500
0
0 500 1000 1500 2000 2500
0
0 500 1000 1500 2000 2500
0
Y: 1.183e+004 X: 1676 Y: 6446 X: 2011 Y: 6739
0 500 1000 1500 2000 2500
Nada F# Nada G
Nada G# Nada A
Nada A# Nada B
0 500 1000 1500 2000 2500
0
0 500 1000 1500 2000 2500
0
0 500 1000 1500 2000 2500
0
0 500 1000 1500 2000 2500
0
0 500 1000 1500 2000 2500
Hasil Ploting (Fs=9600)
Nada C
Nada C#
Nada D
Nada D#
Nada E
Nada F
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
Y: 2.045e+004 X: 2917 Y: 8573
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 Y: 3.414e+004X: 1566
Y: 1.509e+004
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
Nada F#
Nada G
Nada G#
Nada A
Nada A#
Nada B
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0
Kesimpulan
1. Frekuensi sampling yang dipakai dalam percobaan awal sistem pengenalan nada pianika adalah 4800 Hz, karena untuk pemakaian frekuensi ini didapatkan hasil frekuensi amplitudo tertinggi yang dihasilkan sudah maksimal untuk mengenali setiap nada yang akan diteliti,
Nada Frekuensi sampling
2400 Hz 4800 Hz 9600 Hz
C X V X
C# X V X
D X V X
D# X V X
E X V X
F X V X
F# X V X
G X V X
G# X V X
A X V X
A# X V X
B X X V
Ket :
X : Frekuensi amplitudo terendah V : Frekuensi amplitudo tertinggi
2. Dari masing-masing nada ditemukan adanya Harmonisa baik pada Fs=2400, Fs=4800 maupun Fs=9600 Hz dikarenakan pada saat mulai mengambil sampling rekaman ada noise campuran antara suara dengung yang muncul pada rongga tenggorokan manusia
PERCOBAAN AWAL
MENCARI DURASI PEREKAMAN
UNTUK SISTEM PENGENALAN NADA ALAT MUSIK PIANIKA
DENGAN MATLAB
Tujuan:
1. Mendapatkan durasi perekaman yang tepat untuk perekaman
2. Mengetahui pengaruh durasi perekaman pada data sinyal yang terekam
Variabel:
1. Frekuensi sampling yang digunakan 4800Hz
2. Durasi perekaman yang digunakan sebesar 1 detik, 2 detik.
Listing Program
clc
fs =4800;%%fsampling 4800Hz %fs =4800;%%fsampling 4800Hz
y = wavrecord (fs,fs,'double');%% 1 detik %y = wavrecord (fs,fs,'double');%% 1 detik wavwrite(y,fs,'sample2s4800HzC1.wav'); %wavwrite(y,fs,'sample2s4800HzC1.wav'); %[y,fs]=wavread(' sample2s4800HzC1.wav'); y = wavrecord (2*fs,fs,'double');%% 2 detik %y = wavrecord (2*fs,fs,'double');%% 2 detik wavwrite(y,fs,' sample2s4800HzC1.wav'); %wavwrite(y,fs,' sample2s4800HzC1.wav'); %[y,fs]=wavread(' sample2s4800HzC1.wav'); plot(x);grid;%output
HASIL PLOTING
• Fs=4800 Hz
Kesimpulan
1. Pada hasil percobaan awal mencari durasi rekaman, durasi waktu 1 dan 2 detik terlihat sama saja. Untuk durasi 1 detik waktu yang dibutuhkan untuk merekam relative cepat sehingga data dihasilkan terlalu singkat, maka dalam penelitian dipakai durasi waktu 2 detik.
2. Dilihat dari hasil ploting percobaan, terlihat sistem membutuhkan durasi waktu untuk mendapatkan data sinyal rekaman.
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 -0.25
PERCOBAAN
PENGARUH FRAME BLOCKING PADA SISTEM PENGENALAN
NADA ALAT MUSIK PIANIKA
DENGAN MATLAB
Tujuan:
1. Mengetahui pengaruh frame blocking yang digunakan dalam sistem pengenalan. 2. Mengetahui frame blocking yang tepat dalam optimalisasi sistem pengenalan.
Variabel:
1. Frame blocking yang digunakan 256, 512, 1024 dengan pengambilan frame di tengah dari kumpulan data terekam.
2. FFT yang digunakan sebesar
• untuk frame blocking 256 digunakan FFT 64
• untuk frame blocking 512 digunakan FFT 64
• untuk frame blocking 1024 digunakan FFT 64 3. Durasi perekaman yang digunakan sebesar 2 detik. 4. Frekuensi sampling yang digunakan sebesar 4800Hz.
5. Windowing menggunakan kaiser window dengan nilai alpha sebesar 100.
Cara Kerja Frame Blocking:
plotting deretan data terekam setelah di-frame blocking
Listing program
[datsound,fs]=wavread('sample2s4800HzAkres6.wav');%input data
extract=64; %variabel ekstraksi ciri FFT 64
%frame blocking
%frame=256; %variabel frame blocking yang digunakan 256 %frame=512; %variabel frame blocking yang digunakan 512 %frame=1024;%variabel frame blocking yang digunakan 1024
mulai=((fs*2)+frame)/2 %proses frame blocking dimulai dari tengah keseluruhan data sample
for i=1:frame
frame_dat(i)=datsound(i+mulai);
end
%normalisasi
maxiframe=max(abs(frame_dat)); frame_n=frame_dat/maxiframe;
%windowing menggunakan kaiser window
N=frame;
alpha=100; %alpha yang digunakan 100
beta=0.1102*(alpha-8.7); K1= kaiser(N,beta);
for p=1:frame
prefastsound(p)=frame_n(p)*K1(p);
end
plot(prefastsound);grid;
f = fs*(0:(1/2*extract))/extract; plot(f,Pyyn(1:(1/2*extract+1)));grid;
title('===sample 4800Hz Akres6; frame blocking 512; FFT 64===') xlabel('frequency (Hz)')
Frame Blocking 1024; FFT 64
0 500 1000 1500 2000 2500
0
===sample 4800Hz C5; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Ckres5; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz D6; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Dkres8; frame blocking 1024; FFT 64===
frequency (Hz)
X: 300 Y: 0.3352
0 500 1000 1500 2000 2500
0
===sample 4800Hz E3; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz F4; frame blocking 1024; FFT 64===
0 500 1000 1500 2000 2500
===sample 4800Hz Fkres4; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz G4; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Gkres4; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz A4; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Akres4; frame blocking 1024; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz B4; frame blocking 1024; FFT 64===
Frame Blocking 512; FFT 64
0 500 1000 1500 2000 2500
0
===sample 4800Hz C3; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Ckres3; frame blocking 512; FFT 64===
frequency (Hz)
X: 825 Y: 0.6257
0 500 1000 1500 2000 2500
0
===sample 4800Hz D7; frame blocking 512; FFT 64===
frequency (Hz)
X: 900 Y: 0.2169
0 500 1000 1500 2000 2500
0
===sample 4800Hz Dkres9; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz E2; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz F3; frame blocking 512; FFT 64===
0 500 1000 1500 2000 2500
===sample 4800Hz Fkres3; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz G3; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Gkres3; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz A3; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Akres3; frame blocking 512; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz B3; frame blocking 512; FFT 64===
Frame Blocking 256; FFT 64
0 500 1000 1500 2000 2500
0
===sample 4800Hz C2; frame blocking 256; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz Ckres2; frame blocking 256; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz D2; frame blocking 256; FFT 64===
frequency (Hz)
X: 1500 Y: 0.09494
0 500 1000 1500 2000 2500
0
===sample 4800Hz Dkres2; frame blocking 256; FFT 64===
frequency (Hz)
0 500 1000 1500 2000 2500
0
===sample 4800Hz E2; frame blocking 256; FFT 64===
frequency (Hz)
X: 2025 Y: 0.2251
0 500 1000 1500 2000 2500
0
===sample 4800Hz F2; frame blocking 256; FFT 64===