BAB II DASAR TEORI
2.10. Discrete Cosine Transform (DCT)
Discrete Cosine Transform (DCT) digunakan untuk mengubah sebuah sinyal menjadi komponen frekuensi dasarnya. DCT untuk suatu runtun u(n) yang panjangnya N titik dirumuskan sebagai berikut [9] :
v(k) = α(k)∑ 0≤n≤N-1 (2.4) Dengan
√ , √
Untuk 1≤k≤N-1
Dengan N adalah Panjang diskret.
Contoh perhitungan DCT sebagai berikut :
Misalkan u(n) = [3 4 4 5]; n = 0,1, 2, 3,....N-1 v(0) =√ ∑
=
√ (u(0)) + (u(1)) + (u(2)) + (u(3))= √ (3 + 4 + 4 + 5)
(2.5)
0 100 200 300 400 500 600
-0.2 -0.15 -0.1 -0.05 0 0.05 0.1
Data Tercuplik
Amplitudo
= 8
v(1) =√ ∑
= √ (3(0,92)) + (4(0,38)) + (4(-0,38)) + (5(-0,92))
= √ (-1,84)
= -1,301
v(2) =√ ∑
= √ (3(0,71))+ (4(-0,71)) + (4(-0,71)) + (5(0,71))
= √ (0)
= 0
v(3) =√ ∑
= √ (3(0,38)) + (4(-0,92)) + (4(0,92)) + (5(-0,38))
= √ (-,076)
= -0,537
Jadi hasil dari
u(n) = [ 3 4 4 5] setelah mengalami transformasi kosinus menjadi v(k) = [8 -1,301 0 -0,537] Bilangan yang dihasilkan melalui transformasi DCT tidak mengandung unsur imajiner. Hasil dari proses DCT ini akan dicari nilai indeks maksimumnya, untuk menentukan sinyal nada dari alat musik belira terdapat pada indeks maksimum ke berapa pada DCT domain.Gambar 2.11 memperlihatkan sinyal nada pada DCT domain dengan frame blocking 512 untuk nada C.0 100 200 300 400 500 600 0
0.5 1 1.5 2 2.5
X = 109 Y = 2.44
Indeks DCT
Amplitudo
Gambar 2.11 Contoh Sinyal Nada Pada C DCT Domain dari Gambar 2.10
17
BAB III
PERANCANGAN
3.1 Sitem Pengenalan Nada Alat Musik Belira
Blok sistem pengenalan nada alat musik Belira ditunjukan pada Gambar 3.1
Gambar 3.1 Diagram Blok Sistem Pengenalan Nada
Dalam sistem pengenalan nada alat musik belira ini terdiri dari software pada komputer yang berguna sebagai user interface dalam proses pengenalan. Matlab merupakan pusat dari pengaturan dalam proses pengenalan dan memiiliki beberapa proses yang dilakukan, yaitu proses perekaman nada dari alat musik belira secara real time dan mengenali nada dari alat musik belira yang telah direkam.
a. Belira
Belira merupakan alat musik yang digunakan dalam penelitian sistem pengenalan nada oleh penulis, dengan nada yang digunakan dalam penelitian ini adalah C , D , E , F , G , A , B , C> yang berupa wav.
Proses Perekaman
Proses Pengenalan
Nada
Belira Mikrofon
Notebook
b. Microphone
Mikrofon yang digunakan oleh penulis dalam penelitian ini adalah Genius MIC-01A, karena memiliki bentuk yang fleksibel dan ringan untuk dibawa kemana-mana dengan harga yang terjangkau. Jarak yang digunakan antara alat musik belira dengan microphone adalah ±15 cm.
c. Proses Perekaman
Proses perekaman adalah proses masuknya data nada yang terekam berupa sinyal digital. Saat proses perekaman berlangsung sinyal analog dikonversi menjadi sinyal digital dengan frekuensi sampling. Sinyal digital kemudian disimpan dan digambarkan dalam plot. Data suara yang telah terekam kemudian dapat diproses untuk dikenali dengan proses pengenalan disebut nada terekam dan kemudian dapat diproses untuk dikenali lewat proses pengenalan[10].
d. Proses Pengenalan nada
Proses pengenalan nada ini berfungsi untuk melakukan pengenalan nada terhadap nada alat musik yang dimainkan dan telah terekam kemudian mendeteksi nada alat musik apa yang direkam. Pada proses pengenalan nada ini terdapat beberapa subproses yaitu Normalisasi, Pemotongan Sinyal, Frame Blocking, Hamming Window, DCT, Penentuan Nilai Maksimum. Diagram alur dapat dilihat seperti pada Gambar 3.2
.
Gambar 3.2. Diagram Alur Proses Pengenalan Alat musik Belira Masukan
3.2. Look Up Table
Dalam proses perancangan sistem pengenalan alat musik belira ini digunakan sebuah Look Up Table sebagai penentuan keluaran dalam proses pengenalan nada dari alat musik belira dengan mencari indeks nilai maksimum pada DCT domain. Penulis menggunakan 10 sample per nada dengan nada yang dikenali, yaitu C, D, E , F, G, A, B, dan C>. Kemudian menentukan nilai rata-ratanya. Nilai rata-rata tersebut yang digunakan sebagai nilai tengah atau penentu range pada look up table. Proses pengambilan nada dilakukan melalui tahap perekaman. Setelah proses perekaman maka akan melalui preprocessing yang terdiri dari proses normalisasi, pemotongan sinyal, frame blocking,dan Hamming windowing. Setelah itu, akan melalui proses DCT dan pencarian nilai indeks maksimum pada DCT domain. Prosesnya ditunjukkan pada Gambar 3.3.
Gambar 3.3 Diargram Blok Pencarian Nilai Maksimum untuk Look Up Table
3.3. Nada Uji
Dalam nada uji ini penulis mengambil 10 nada sample untuk setiap nada yang akan digunakan untuk pengujian sistem. Setiap sample nada yang diambil dalam proses perekaman, akan melalui proses sampling terlebih dahulu sebelum masuk ke tahap berikutnya. Gambar 3.4 merupakan proses pengambilan sample nada yang di lakukan dengan proses sampling.
Gambar 3.4 Diargram Blok Proses Pengambilan Nada Uji Sampling
Masukan Suara
belira Keluaran (wav)
(wav)(wav)
Perekaman Preprocessing
Pencarian Nilai DCT Maksimum Masukan
(suara Belira)
Keluaran : Nilai Maksimum
3.4. Perancangan Tampilan Program GUI Matlab
Gambar 3.5 Tampilan Utama Program Pengenalan Nada
Tampilan program ini dibuat supaya user dapat dengan mudah menjalankan program yang dibuat dan memehami hasil dari pengenalan alat musik belira. Berikut adalah keterangan tampilan utama program pada Tabel 3.1.
Tabel 3.1. Keterangan Tampilan Utama Program GUI Matlab
Nama Bagian Keterangan
Tombol Rekam Digunakan untuk menjalankan aplikasi.
Tombol Selesai Digunakan untuk mengakhiri aplikasi.
Tombol Reset Digunakan untuk mengubah sistem kedalam kondisi awal Nilai Frame Untuk memilih nilai frame blocking dan DCT yang digunakan
pada proses pengenalan nada,yaitu 16, 32, 64, 128, 256, 512, dan 1024 titik.
Nilai Frame
Hasil Tampilan Nada
Rekam Selesai
Indeks DCT Maksimum Ke-
Plot Spektrum Rekam
Reset
PENGENALAN NADA BELIRA DENGAN ANALISIS
AMPLITUDO PADA RANAH DCT
Tabel 3.1. (lanjutan) Keterangan Tampilan Utama Program GUI Matlab
Nama Bagian Keterangan
Plot Spektrum Rekam Tampilan grafik suara hasil rekam Indeks DCT Maksimum
Ke-
Indeks nilai maksimum pada DCT Domain.
Pengenalan Nada Untuk menampilkan nada yang didapat setelah proses pengenalan
3.5. Perancangan Sistem Software
Pada Pengenalan nada alat musik belira ini memiliki beberapa proses yang harus dilakukan. Dimulai dari proses perekaman hingga hasil akhir yang menghasilkan tampilan nada yang diharapkan. Gambar 3.6 menunjukkan diagram alur dari ke seluruhan sistem pengenalan nada alat musik belira.
Masukan Suara Belira
END START
Rekam
Normalisasi
Pemotongan Sinyal
Frame Blocking
Hamming Window
DCT
Pencarian Nilai Maksimum
Penentuan Teks Nada
Keluaran : Teks Nada
Gambar 3.6 Diagram Alur Program Pengenalan Nada Belira
3.5.1. Rekam
Pada proses perekaman ini akan melalui proses pertama yaitu sampling yang bertujuan untuk merekam nada belira dengan frekuensi sampling yang telah ditentukan yaitu 10000 Hz (persamaan 2.1). Semua sample nada yang diambil akan melalui proses sampling lebih dahulu sebelum masuk ke tahap selanjutnya. Proses perekaman ini memiliki panjang durasi selama 1,5 detik [2],[3]. Hasil keluaran dari proses perekaman ini adalah dalam format wav.
Berikut ini merupakan cara untuk sampling nada :
1. Menentukan panjang durasi perekaman yaitu 1,5 detik [2], [3].
2. Menentukan frekuensi sampling yaitu 10000 Hz (persamaan 2.1).
3. Menentukan jumlah sample.
4. Merekam suara masukan dengan perintah waverecord.
5. Menyimpan hasil rekaman dengan perintah wavwrite.
6. Menampilkan sinyal hasil rekaman dengan perintah plot.
Gambar 3.7 Diagram Alur Proses Perekaman Sampling
END START
Mulai?
A
A
YA
Tidak Masukan : “Pilih
Nilai Frame Blocking
Tekan Tombol
“MULAI” di GUI
Keluaran : “Hasil Rekam pada
GUI”
3.5.2. Normalisasi
Proses normalisasi ini dilakukan setelah keluaran proses rekam berupa wav. Pada proses normalisasi, sinyal suara atau sinyal nada harus mempunyai nilai maksimum.
Setelah pencarian nilai maksimum maka tahap selanjutnya adalah membagi data dengan nilai absolut maksimal nada yang terekam (persamaan 2.2). Tujuan adanya normalisasi ini adalah untuk menyetarakan amplitudo suara yang terekam menjadi maksimum, agar efek kuat atau lemahnya suara yang terekam tidak mempengaruhi proses pengenalan suara.
Gambar 3.8 menunjukkan proses dari normalisasi .
Gambar 3.8 Diagram Alur Normalisasi Masukan : Nada Terekam
Membagi Data dengan Nilai Absolut Maksimal
Nada Terekam
Keluaran : Hasil Normalisasi
START
END
Mencari Nilai Maksimal Dari Data Nada
Terekam
3.5.3. Pemotongan Sinyal
Proses pemotongan sinyal adalah proses pemotongan sinyal awal yang tidak digunakan yang terletak pada sisi kiri atau bagian awal dari sinyal, yaitu daerah bagian silence dan daerah bagian transisi. Tujuan dari pemotongan daerah bagian silence adalah untuk menghilangkan bagian yang tidak termasuk dari bagian sinyal nada, dan tujuan pemotongan pada daerah bagian transisi adalah untuk mendapatkan sinyal yang merupakan sinyal suara dari alat musik belira. Proses pemotongan bagian transisi ini dilakukan dengan menghilangkan ⁄ [2], [3] bagian dari sinyal yang terdapat di bagian awasl (bagian transisi) setelah pemotongan bagian silence. Berikut ini merupakan cara pemotongan sinyal bagian silence dan pemotongan bagian transisi :
1. Menentukan nilai yang digunakan sebagai batas potong yaitu 0,3 [2], [3].
2. Mencari bagian sinyal yang > 0,3 dan < (-0,3). Sinyal yang dicari tersebut di inisialisasi sebagai b0
3. Sinyal yang tidak termasuk b0 akan dihilangkan dan sinyal tersbut adalah sinyal silence.
4. Pemotongan sinyal transisi dengan mengalikan jumlah data sinyal dengan 0,25 . 5. Menghilangkan data sinyal mula dari indeks 1 sampai dengan indek bts.
Gambar 3.9 Diagram Alur Pemotongan Sinyal Pemotongan Bagian Silence
Mencari sinyal >0,3 dan < (-0,3) Masukan : Hasil Normalisasi
Pemotongan Bagian Transisi Mengalikan Jumlah Data
Dengan 0,25
Keluaran : Hasil Pemotongan
END START
A
A
3.5.4. Frame Blocking
Frame Blocking adalah proses selanjutnya setelah melalui proses dari pemotongan sinyal dimana dalam proses frame blocking ini nilai dari frame dipilih oleh user. Nilai dari frame blocking yang digunakan adalah 16, 32, 64, 128, 256, 512 dan 1024. Nilai – nilai tersebut ditentukan sendiri secara objektif dan merupakan nilai yang digunakan oleh penelitian - penelitian sebelumnya [2], [3]. Dalam proses ini, data yang diambil mulai dari sinyal yang paling kiri dan akan diambil sepanjang nilai dari frame yang telah dipilih sehingga memudahkan dalam proses perhitungan dan analisa sinyal. Data yang diambil tersebut adalah keluaran dari proses frame blocking.Gambar 3.10 memperlihatkan proses dari frame blocking.
Gambar 3.10 Diagram Alur Frame Blocking fMengambil Data dari
Nilai Frame
Keluaran : Hasil Frame Blocking
END START
Masukan : “Pilih Nilai Frame Blocking pada GUI”
3.5.5. Hamming Window
Proses selanjutnya setelah proses dari frame blocking adalah windowing.
Windowing ini memiliki fungsi untuk menghilangkan efek diskontinuitas yang diakibat oleh proses sebelumnya, yaitu Frame Blocking ketika sinyal ditransformasikan ke domain DCT. Dalam penelitian ini menggunakan hamming window dimana penggunaan windowing ini membuat hasil akan lebih halus dalam menghilangan efek dari diskontinuitas. Dalam proses hasil dari frame blocking akan dikalikan dengan hamming Window sehingga akan didapatkan hasil untuk proses windowing dari persamaan (2.3) dan menggunakan hamming window yang ada di matlab. Berikut adalah diagram dari proses hamming window yang ditunjukkan pada Gambar 3.9.
Gambar 3.11 Diagram Alur Hamming Window Masukan :
Hasil Frame Blocking
hPerkalian elemen antara masukan data dengan Hamming Window
Keluaran : Hasil Hamming
Window
END START
3.5.6. Descrete Cosine Transform (DCT)
Proses selanjutnya adalah Descrete Cosine Transform (DCT) dimana proses dari DCT ini bertujuan untuk mengubah sebuah sinyal menjadi komponen frekuensi dasarnya.
Dalam proses ini DCT akan menyusun sinyal ke frekuensi special yang disebut dengan koefisien DCT, selanjutnya akan di amati untuk panjang DCT terhadap sinyal suara yang hasil dari proses ini nantinya akan dicari nilai indeks maksimum pada DCT domain. Proses dari DCT ini dapat dilihat dalam diagram DCT yang ditunjukkan oleh Gambar 3.10. Proses ini menggunakan proses DCT yang ada di matlab dan persamaan (2.4).
Gambar 3.12 Diagram Alur Proses DCT dMasukan : Hasil
Hamming Window
jMenghitung Nilai Absolut DCT
Keluaran : Sinyal DCT
Domain
Penentuan DCT Domain
END START
“Hasil DCT pada GUI”
3.5.7. Pencarian Nilai Maksimum
Proses pencarian nilai maksimum bertujuan untuk mencari nilai-nilai maksimum setelah mendapatkan sinyal DCT domain. Proses ini bertujuan untuk menganalisis dari hasil proses DCT sebelumnya. Nilai-nilai dari maksimum tersebut yang akan dijadikan sebagai penentuan keluaran dari sistem pengenalan dengan menggunakan look up table.
Selanjutnya akan diperoleh nada yang dimainkan termasuk nada belira atau bukan.
Berikut ini merupakan cara untuk mencari nilai-nilai maksimum pada DCT domain : 1. Mencari panjang data sinyal.
2. Mencari nilai-nilai absolute DCT
3. Mencari nilai-nilai tertinggi pada DCT domain sebagai indeks nilai maksimumnya.
4. Kemudian ditampilkan dengan perintah bar.
Gambar 3.13 Diagram Alur Pencarian Nilai Maksimum Masukan :
Hasil DCT
Keluaran : Nilai Maksimum
END START
Mencari Nilai Tertinggi Pada DCT Domain
3.5.8. Penentuan Teks Nada
Gambar 3.14 Diagram alur Penentuan Teks Nada
Masukan: Nilai Maksimum CL≤i≤CH CDEF BGA
DL≤i≤DHEL≤i≤EHFL≤i≤FH GL≤i≤GHAL≤i≤AHBL≤i≤BH
START
A
B
YaYa YaYa
Ya Ya
YA
Tidak Tidak
Tidak Tidak
Tidak Tidak
Tidak
Gambar 3.14 (lanjutan) Diagram Alur Penentuan Teks Nada
Setelah mengetahui nilai maksimumnya, maka hasil keluaran pengenalan berupa teks dari nada belira yang dimainkan. Penentuan keluaran menggunakan look up table.
Gambar 3.3 memperlihatkan proses perancangan pencarian nilai maksimum pada DCT domain. Tabel berikut memperlihatkan proses perancangan penentuan range nilai maksimum setiap frame blocking :
Tabel 3.2 Look Up Table untuk Penentuan Nada Frame 16
No Nada Nilai Maksimum
1 C CL16≤nilaimaks≤CH16
2 D DL16≤nilaimaks≤DH16
3 E EL16≤nilaimaks≤EH16
4 F FL16≤nilaimaks≤FH16
5 G GL16≤nilaimaks≤GH16
6 A AL16≤nilaimaks≤AH16
7 B BL16≤nilaimaks≤BH16
8 C C’L16≤nilaimaks≤C’H16
END
C’L≤i≤C’H
C>
A B
Ya
Tidak “ERROR”
Keluaran : “Teks Nada pada GUI”
Tabel 3.3 Look Up Table untuk Penentuan Nada Frame 32
No Nada Nilai Maksimum
1 C CL32≤nilaimaks≤CH32
2 D DL32≤nilaimaks≤DH32
3 E EL32≤nilaimaks≤EH32
4 F FL32≤nilaimaks≤FH32
5 G GL32≤nilaimaks≤GH32
6 A AL32≤nilaimaks≤AH32
7 B BL32≤nilaimaks≤BH32
8 C C’L32≤nilaimaks≤C’H32
Tabel 3.4 Look Up Table untuk Penentuan Nada Frame 64
No Nada Nilai Maksimum
1 C CL64≤nilaimaks≤CH64
2 D DL64≤nilaimaks≤DH64
3 E EL64≤nilaimaks≤EH64
4 F FL64≤nilaimaks≤FH64
5 G GL64≤nilaimaks≤GH64
6 A AL64≤nilaimaks≤AH64
7 B BL64≤nilaimaks≤BH64
8 C C’L64≤nilaimaks≤C’H64
Tabel 3.5 Look Up Table untuk Penentuan Nada Frame 128
No Nada Nilai Maksimum
1 C CL128≤nilaimaks≤CH128
2 D DL128≤nilaimaks≤DH128
3 E EL128≤nilaimaks≤EH128
4 F FL128≤nilaimaks≤FH128
5 G GL128≤nilaimaks≤GH128
6 A AL128≤nilaimaks≤AH128
7 B BL128≤nilaimaks≤BH128
8 C> C’L128≤nilaimaks≤C’H128
Tabel 3.6 Look Up Table untuk Penentuan Nada Frame 256
No Nada Nilai Maksimum
1 C CL256≤nilaimaks≤CH256
2 D DL256≤nilaimaks≤DH256
3 E EL256≤nilaimaks≤EH256
4 F FL256≤nilaimaks≤FH256
5 G GL256≤nilaimaks≤GH256
6 A AL256≤nilaimaks≤AH256
7 B BL256≤nilaimaks≤BH256
8 C> C’L256≤nilaimaks≤C’H256
Tabel 3.7 Look Up Table untuk Penentuan Nada Frame 512
No Nada Nilai Maksimum
1 C CL51≤nilaimaks≤CH512
2 D DL512≤nilaimaks≤DH512
3 E EL512≤nilaimaks≤EH512
4 F FL512≤nilaimaks≤FH512
5 G GL512≤nilaimaks≤GH512
6 A AL512≤nilaimaks≤AH512
7 B BL512≤nilaimaks≤BH512
8 C> C’L512≤nilaimaks≤C’H512
Tabel 3.8 Look Up Table untuk Penentuan Nada Frame 1024
No Nada Nilai Maksimum
1 C CL1024≤nilaimaks≤CH1024
2 D DL1024≤nilaimaks≤DH1024
3 E EL1024≤nilaimaks≤EH1024
4 F FL1024≤nilaimaks≤FH1024
5 G GL1024≤nilaimaks≤GH1024
6 A AL1024≤nilaimaks≤AH1024
7 B BL1024≤nilaimaks≤BH1024
8 C> C’L1024≤nilaimaks≤C’H1024
Untuk menentukan nilai maksimun dari look up table maka harus menentukan nilai range dari setiap nada. Misalkan dilakukan percobaan untuk nada C dengan 3 kali percobaan pada frame 512, percobaan pertama memperoleh nilai maksimum 109 pada DCT domain, selanjutnya percobaan kedua memperoleh nilai maksimum 108 pada DCT domain, dan percobaan yang ketiga memperoleh nilai maksimum 110 pada DCT domain.
Maka, range nilai maksimum untuk nada C pada frame 512 adalah108 sebagai CL dan nilai maksimum 110 sebagai CH.. Apabila nilai yang dihasilkan tidak berada pada range tersebut , maka keluaran pada GUI berupa “ERROR“ yang akan ditampilkan dalam bentuk teks.
Proses penentuan range nila maksmumi look up table dapat dilihat pada (Lampiran 1).
3.5.9. Keluaran (Teks)
Proses selanjutnya adalah menampilkan keluaran dari proses pengenalan nada belira dalam bentuk teks nada belira sesuai dengan nada yang dimainkan. Menampilkan teks keluaran nada belira ini menggunakan perintah callback yang terdapat pada GUI Matlab, dengan inisialisasi nadaout untuk hasil dari pengenalan nada belira C, D , E , F , G , A , B , C>. Proses penentuan keluarannya menggunakan look up table. Setelah hasil yang diperoleh ternyata adalah bukan nada belira maka keluarannya berupa“ ERROR”.
Kemudian jika hasil yang diperoleh merupakan nada belira maka akan ditampilkan dalam bentuk teks pada GUI Matlab.
START
Masukan : Nilai Maksimum
Hasilout = nadaout
Tidak
Ya
Hasilout=Error
A
B
Gambar 3.15 Diagram Alur Proses Menampilkan Teks Keluaran
3.6. Analisa Perfoma
Analisa perfoma bertujuan untuk mengetahui sistem yang telah dirancang bekerja secara baik atau tidak akibat dari pengubahan panjang DCT dan nilai frame blocking.
Perancangan analisa perfoma ini menggunakan 10 kali percobaan untuk setiap nada C, D , E , F , G , A , B , C> dalam pengujian sistem pengenalan. Kemudian untuk mengetahui tingkat pengenalan dari sistem menggunakan rumus seperti berikut [2], [3] :
Tingkat pengenalan = ∑ (3.1)
dengan ∑ adalah jumlah nada belira yang dikenali dan benar.
Nadaout = C, D, E, F, G, A, B, dan C’
END
Gambar 3.15 (lanjutan) Diagram Alur Proses Menampilkan Teks Keluaran A
B
Keluaran :
“Teks “
35
BAB IV PEMBAHASAN
Pada bab ini, program pengenalan nada yang telah dibuat akan diuji terlebih dahulu untuk mengetahui cara kerjanya apakah sudah sesuai dengan perancangan. Data yang diperoleh dari pengujian ini akan memperlihatkan cara kerja dari program yang telah dibuat oleh penulis, kemudian akan dianalisis cara kerjanya dari data yang telah diperoleh . Kemudian hasil dari analisis tersebut dapat ditarik kesimpulan untuk sistem pengenalan nada.
4.1. Pengujian Program Pengenalan Nada Alat Musik Belira
Program yang telah dibuat, akan diuji terlebih dahulu untuk mengetahui cara kerja dari sistem pengenalan nada apakah sudah sesuai dengan perancangan. Data yang diperoleh dari pengujian ini akan memperlihatkan cara kerja dari program yang telah dibuat oleh penulis, kemudian akan dianalisis cara kerjanya dari data tersebut. Proses pembuatan program menggunakan software MATLAB 7.10.0.499 (R2010a). Pengujian program ini menggunakan komputer denga spesifikasi sebagai berikut :
CPU : Intel®Core(TM) i3-2348M (2,30Ghz).
RAM : 2,00 GB.
Berikut ini langkah-langka untuk menjalankan program pengenalan nada belira :
1. Buka software Matlab, kemudian sesuaikan Current Directory ke folder tempat penyimpanan program pengenalan nada yang telah dibuat.
2. Ketik perintah “PRO” pada command window lalu tekan Enter. Gambar 4.1 memperlihatkan tampilan utama dari GUI pengenalan nada alat musik.
Gambar 4.1 Tampilan Utama Program Pengenalan Nada.
3. User memilih nilai frame blocking yang akan digunakan dalam proses pengenalan nada. Setelah memilih nilai frame blocking, Tekan tombol “MULAI” untuk memulai program pengenalan dan diikuti dengan memainkan salah satu nada dari alat musik berlira. Gambar 4.2 memperlihatkan hasil pengenalan nada.
Gambar 4.2 Tampilan Hasil Pengenalan Nada Alat Musik Belira
4. User dapat melihat plot hasil rekaman nada pada kotak Axes1 dan indeks nilai maksimum pada kotak Edit Text 2, serta teks hasil pengenalan nada pada kotak Edit Text 1.
5. User dapat mengulang kembali proses pengenalan nada dengan menekan tombol
“MULAI” dan memilih nilai frame blocking yang berbeda. Untuk membersihkan jendela plot perekaman , indeks nilai maksimum, dan teks nada dengan menekan tombol “RESET”.
6. User dapat mengakhiri program pengenalan dengan menekan tombol “SELESAI”
untuk keluar dari tampilan utama program pengenalan nada.
4.2. Penjelasan Sintaks Program Pengenalan nada
Untuk menjalankan program pengenalan nada, user terlebih dahulu memilih nilai frame blocking. Setelah memilih nilai frame blocking, user dapat menjalankan program pengenalan nada dengan menekan tombol “MULAI”. Pada saat menekan tombol
“MULAI” maka program secara otomatis merekam suara dari alat musik belira. Proses perekaman ini akan menghasilkan keluaran berupa plot rekaman dan indeks nilai maksimum. Kemudian program akan menampilkan keluaran berupa teks sesuai nada belira yang dikenali. Untuk mengulang program pengenalan nada user dapat menekan tombol
”MULAI” dan untuk membersihkan jendela plot perekaman , indeks nilai maksimum, dan teks nada, user dapat menekan tombol “RESET”. Tombol “KELUAR”, digunakan untuk keluar dari tampilan utama program pengenalan nada. Pada tampilan utama GUI pengenalan nada alat musik belira terdapat, 1 pop up menu, 3 push button, 1 axes, dan 2 Edit text.
a. Pop Up Menu
Pada program pengenalan nada ini, pop up menu digunakan untuk variasi nilai frame blocking, yaitu 16, 32, 64, 128, 256, 521, dan 1024. Gambar 4.3 memperlihatkan listing program untuk nilai frame blocking .
indeks=get(handles.popupmenu2, 'Value');
Gambar 4.3 Sintaks Program Untuk Memilih Nilai Frame Blocking
Gambar 4.3 (lanjutan) Sintaks Program Untuk Memilih Nilai Frame Blocking b. Push Button, Axes dan Edit Text
Dalam program pengenalan nada ini menggunakan 3 buah push button, masing- masing untuk memulai, mereset, dan mengakhiri program pengenalan nada, yaitu tombol
“MULAI”, “RESET”, dan “SELESAI”. Saat user menekan push button 1 atau tpmbol
“MULAI” maka program akan berjalan otomatis, yaitu mulai dari proses perekaman suara, kemudian menampilkan plot rekam pada kotak axes1, menampilkan indek nilai maksimum pada Edit Text 2, dan menampilkan teks hasil pengenalan nada pada Edit text 1. Saat user menekan push button 2 atau tombol “RESET” maka program secara otomatis akan mereset atau menghapus semua data dari hasil sebelumnya, dan membuat tampilan GUI MATLAB menjadi seperti semula sebelum program dijalankan. Kemudian jika user menekan push button 3 atau tombol “SELESAI” maka program pengenalan nada akan berhenti dan menutup program. Berikut listing program untuk proses perekaman nada dan untuk menampilkan plot sinyal nada terekam dari proses flowcart pada Gambar 3.7 :
Gambar 4.4 Sintaks Program untuk Proses Merekam case 4
Pada program perekaman suara alat musik belira, panjang sampel yang digunakan adalah 1,5 detik [2],[3] dengan frekuensi sampling sebesar 10kHz [2],[3]. Waktu sampelnya didapatkan dari panjang sampel dikalikan dengan frekuensi sampel. Kemudian untuk menyimpan nada yang direkam, menggunakan perintah wavrecord dan wavwrite . Hasil plot perekaman tersebut ditampilkan pada kotak axes1 menggunakan perintah Plot.
Berikut merupakan listing program untuk menampilkan plot sinyal DCT dari proses flowcart yang terdapat pada Gambar 3.8 sampai dengan Gambar 3.12 :
Gambar 4.5 Sintaks Program untuk Proses Menampilkan Indeks Nilai Maksimum
% Batas Potong b0=0.3;
% Normalisasi y1=x/max(x);
% Pemotongan Sinyal
% 1. Potong 1
b1=find(y1>b0|y1<-b0);
y1(1:b1(1))=[];
% 2. Potong 2
bts=floor(0.25*length(y1));
y1(1:bts)=[];
% Frame blocking frame=handles.frame y2=y1(1:frame);
% Windowing
h=hamming(frame);
y3=y2.*h;
% Spektrum frekuensi yx=abs(dct(y3));
% Pencarian nilai maksimum imax=find(yx==max(yx));
set(handles.edit2,'string',imax);
Dalam program untuk menampilkan plot sinyal dct, proses pertama yang dilakukan adalah proses normalisasi untuk sinyal nada terekam yang ditampilkan pada kotak axes 1.
Normalisasi dilakukan dengan membagi data masukan (data sinyal nada terekam) dengan nilai maksimum data tersebut. Dalam program pengenalan nada belira proses normalisasi diinisialisasikan sebagai y1 dan x sebagai data masukan. Proses selanjutnya adalah pemotongan sinyal yang dilakukan sebanyak dua kali untuk sinyal dari hasil normalisasi.
Pemotongan yang pertama dilakukan pada bagian silence atau bagian sinyal yang tidak termasuk sinyal nada belira. Pemotongan yang kedua dilakukan pada bagian transisi. Pada
Pemotongan yang pertama dilakukan pada bagian silence atau bagian sinyal yang tidak termasuk sinyal nada belira. Pemotongan yang kedua dilakukan pada bagian transisi. Pada