• Tidak ada hasil yang ditemukan

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

Dokumen terkait