• Tidak ada hasil yang ditemukan

BAB IV HASIL DAN PEMBAHASAN

4.2. Hasil Pengujian Program Pengenalan Nada Terhadap Terhadap Tingkat

4.2.2 Pengujian Parameter Pengenalan Nada

4.2.2.1 Pengujian Secara Tidak Real-Time

Pengujian ini bertujuan untuk mencari nilai atau persentase tingkat pengenalan tiap nada alat musik cetik, tanpa menggunakan program pengenalan nada cetik. Pengujian secara tidak real-time ini menggunakan program tersendiri (lihat lampiran L18).

Untuk pengujian menggunakan nada uji sebanyak 70 kali, setiap nada sebanyak 10 data yang di peroleh dari perekaman sebelumnya. Nada uji digunakan sebagai nada masukan. Pengujian secara tidak real-time diperoleh data tingkat pengenalan nada dari pengujian yang dilakukan. Hasil pengujian secara tidak real-tame dapat dilihat pada lampiran L22

Pada lampiran L22 tingkat pengenalan nada yang paling baik dapat terlihat pada panjang frameblocking 64, dan windowing koefisien DCT 80%. Terlihat pada lampiran bahwa nilai n yang semakin besar, maka naiknya tingkat pengenalan akan semakin baik.

Penyebab naiknya tingkat pengenalan dapat dilihat pada gambar 4.6

(a)

(b)

(c)

(d)

Gambar 4.6 Pengaruh panjang frameblocking, n¸terhadap hasil pengenalan, p=30%, (a)n=32, (b) n=64, (c) n=128, (d) n=256

(biru= DoTinggi, hijau=Si)

Pada gambar 4.6 dapat dilihat bahwa, nilai n yang semakin besar, maka semakin banyak jumlah koefisien DCT yang digunakan untuk membedakan nada satu dengan nada yang lain. Oleh karena itu makin banyak jumlah koefisien, makin mudah untuk membedakan, sehingga makin naik tingkat pengenalan nada antara nada satu dengan nada yang lainnya.

(a)

(b)

(c)

(d)

(e)

Gambar 4.7 Pengaruh windowing koefisien terhadap hasil pengenalan, n= 32, (a)p= 20%, (b)p= 40%, (c)p= 60%, (d)p= 80%, (e)p= 100%

(biru=DoTinggi, hijau=Si)

Pada gambar 4.7 terlihat bahwa semakin besar nilai windowing koefisien (p) maka koefisien DCT makin banyak yang digunakna untuk membedakan nada satu dengan nada yang lainnya. Dengan kata lain akan makin mudah di membedakan nada satu dengan nada yang lain, maka akan menyebabkan makin naik tingkat pengenalan nada.

Pada lampiran L22 dapat di lihat bahwa untuk mendapatkan tingkat pengenalan 100%, maka dibutuhkan frameblocking 64 titik, dan windowing koefisien sebesar 80%. Di bandingkan percobaan yang dilakukan oleh Yogi Isworo [3], yang memerlukan 512 ekstraksi ciri, maka pada penelitian ini memperlihatkan pengaruh jumlah koefisien ekstraksi ciri yang signifikan yaitu menggunakan 51 ekstraksi ciri.

4.2.2.2. Pengujian secara Real- Time

Pada pengujian secara real-tame dibagi menjadi 2, pengujian tanpa menggunakan Thresholding, dan menggunakna Tresholding.

a) Pengujian tanpa Thresholding

Pengujian tanpa menggunakan Thresholding ini bertujuan untuk mengetahui kinerja program pengenalan nada cetik yang telah dibuat. Dengan kesalahan yang terjadi adalah pengenalan nada dengan keluaran pengenalan secara salah.

Pada program pengenalan nada cetik ini user memilih variasi frameblocking, dan variasi Windowing koefisien, dan memilih Ya atau Tidak pada bagian pilihan Threshodling. Setelah user selesai memilih variasi- variasi yang ada maka, user dapat menjalankan program pengenalan nada cetik.

Pengujian dilakukan menggunakna variasi frameblocking 64, dan windowing koefisien 80% (Lampiran L23). Variasi tersebut diperoleh dari percobaan- percobaan sebelumnya dengan jumlah titik yang minimal dan pengenlanan maksimal atau 100%.

Pengujian ini dilakukan sebanyak 15 kali. Dengan pengujian sebanyak 15 kali, diharapkan memperoleh hasil yang baik, dan sesuai dengan yang di inginkan. Table 4.2 menunjukan hasik pengujian:

Table 4.2 Hasil pengenalan secara Real- Time tanpa Thresholding, frameblocking = 64, dan Windowing koefisien 80%

Keterangan : X= dikenali salah Y= dikenali benar

Pada table 4.2. dapat dilihat dari 15 kali percobaan tidak terdapat nada yang dikenali secara salah. Dengan demikian pengujian secara real-tame tanpa menggunakan Thersholding sama dengan percobaan saat pengujian secara tidak real-tame.

b) Pengujian menggunakna Thresholding

Pada pengujian ini bertujuan untuk mengetahui kinerja program pengenalan nada cetik yang telah dibuat dengan penambahan Thresholding, sehingga kesalahan yang dikenal sebagai keluaran teks “Tidak Dikenali”. Thresholding merupakan nilai batas yang ditentukan untuk mengurangi pengucapan angka yang salah. Dalam program Thresholding di inisialisasi dengan “Th”. Nilai Th di dapat dari pengujian sebelumnya yaitu pengujian menentukan nilai Thresholding (subbab 4.2.1). Nilai jarak maksimum digunankan dalam fungsi logika dalam penentuan keluaran.

User dapat mengaktifkan Thresholding dengan memilih, Ya atau Tidak pada pop up menu Thresholding yang telah disediakan pada sistem pengenalan nada cetik.

Pengujian ini di lakukan sebanyak 15 kali dengan panang frameblocking 64, dan Windowing koefisien 80% (lampiran L23)

Tabel 4.3 Hasil pengujian secara real-time dengan menggunakan Thresholding, frameblocking = 64, Windowing koefisien = 80%

Nada Percobaan Ke-

Dari hasil pengujian yang telah dilakukan, sistem pengenalan nada cetik tersebut sudah mampu untuk menggenali nada- nada yang terdapat pada nada cetik dengan baik.

Dalam pengujian secara real-tame ini kondisi lingkungan dan tekanan saat memukul sangat mempengaruhi hasil pengujian nada.

4.2.3. Pengujian Dengan Nada Masukan Gamelan Peking

Pada pengujian ini bertujuan untuk mengetahui tingkat pengenalan sistem dalam mengetahui nada. Sistem diharapkan tidak dapat mengenali nada alat musik lain selain nada cetik. Untuk pengujian program pengenalan nada cetik digunakan gamelan peking sebagai masukan nadanya. Ada pula langkah- langkah untuk melakukan percobaaan sebagai berikut:

1. Menyiapkan gamelan peking yang akan digunakan

2. Nada- nada yang akan digunakan antara lain Ji, Ro, Lu, Pat, Mo, Nem, Tu

3. Menggunakan variasi frameblocking 64, dan variasi windowing koefisien 80%, karena variasi tersebut mempunyai tingkat pengenalan yang baik. Menggunakan masukan Thresholding dan Tanpa Thresholding untuk batasan setiap nadanya.

4. Melihat hasil keluaran nada, apakah pengujian tersebut dapat mengenali nada masukan, dikenali dengan keluaran “tidak dikenali”, dikenali dengan nada lain, atau bahkan dikenali nada dengan nada cetik.

Setelah melakukan langkah- langkah diatas, hasil yang diperoleh sebagai berikut:

Table 4.3 Hasil pengujian dengan gamelan Peking tanpa menggunakan Thresholding

Nada Percobaan Ke-

Keterangan : X= dikenali salah, Y= dikenali benar

Table 4.3 Hasil pengujian dengan gamelan Peking menggunakan Thresholding Nada

Percobaan Ke-

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Do TD TD TD TD TD TD TD TD TD TD TD TD TD TD TD

Re TD TD TD TD TD TD TD TD TD TD TD TD TD TD TD

Mi TD TD TD TD TD TD TD TD TD TD TD TD TD TD TD

Sol TD TD TD TD TD TD TD TD TD TD TD TD TD TD TD

La TD TD TD TD TD TD TD TD TD TD TD TD TD TD TD

Si TD TD TD TD TD TD TD TD TD TD TD TD TD TD TD

DoTinggi TD TD TD TD TD TD TD TD TD TD TD TD TD TD TD Keterangan : X = dikenali salah,

Y = dikenali benar TD= Tidak Dikenali

Gambar 4.8 Gamelan Pekhing

Pada pengujian propgram penegenalan nada cetik dengan masukan nada gamelan pekhing, menghasilkan hasil “Tidak Dikenali” dikarenakan nilai jarak yang didapat tidak memenuhi syarat thresholding yang syarat tersebut yaitu jarak antar nada. karakter suara dari gamelan pekhing sudah berbeda.

46

BAB V

KESIMPULAN DAN SARAN

5.1 KESIMPULAN

Berdasarkan percobaan dan pengujian sistem pengenalan nada cetik maka dapat diambil beberapa kesimpulan, yang dapat di paparkan sebagai berikut:

1. Berdasarkan percobaan yang dilakukan dengan menggunakan masukan nada alat musik cetik, maka sistem dapat bekerja dengan baik secara benar sesuai dengan perancangan. Sistem dapat mengenali nada cetik yaitu nada Do, Re, Mi, Sol, La, Si, Do tinggi. Dengan kondisi variasi Frame Blocking 64, dan windowing koefisien 80% (hasil yang paling baik).

2. Setelah melakuakn percobaan dan pengujian, maka nilai frame blocking dapat mempengaruhi tingkat pengenalan nada, atau secara umum semakin besar nilai Frame blocking, maka tingkat pengenalan semakin tinggi..

3. Sama halnya dengan nilai frame blocking, jumlah nilai windowing koefisien mempengaruhi tingkat pengenalan nada, dengan kata lain semakin besar nilai windowing koefisien maka tingkat pengenalan semakin tinggi.

4. Parameter optimal untuk tingkat pengenalan mencapai 100% nilai frameblocking 64, dan windowing koefisien 80% yang dipilih, dengan jumlah 51 ekstraksi ciri yang dipilih.

5.2 SARAN

Saran untuk pengembangan sistem pengenalan nada sebagai berikut:

Pengembangan sisitem yang mampu untuk mengenalai segala jenis alat musik tradisional, atau alat musik modern tidak hanya satu alat musik.

47

DAFTAR PUSTAKA

[1] Sejarah Musik Tradisional, http://www.scribd.com/doc/48471203/SEJARAH-MUSIK-TRADISIONAL diakses pada tanggal 5 September 2014

[2] Amanliyyah, A.F., 2012, Gamolan Cetik, Musik Tradisional Lampung musik bambu.

Makalah, Fakultas Keguruan, dan Ilmu Pendidikan, Universitas Lampung, Lampung.

[3] Walasakti, Y.I., 2013, Pengenalan Nada Gamelan Kenong Secara Real Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Chebyshev, Tugas Akhir, Fakultas Teknik, Universitas Sanata Dharma, Yogyakarta.

[4] Kamus Besar Bahasa Indonesia, Kata kunci Nada. http://kbbi.web.id/nada diakses pada tanggal 10 september 2014

[5] Wijaya. M.H., 2012, Pengenalan nada Suling Rekorder Menggunakan Fungsi Jarak Chebyshev, Tugas Akhir, Fakultas Teknik, Universitas Sanata Dharma, Yogyakarta.

[6] Kusuma. I Made B.W., 2013, Pengenalan Nada Gamelan Reog Secara Real Time Menggunakan Ekstraksi Ciri DCT dan Fungsi Jarak Minkowski, Tugas Akhir, Fakultas Teknik Elektro, Universitaas Sanata Dharma, Yogyakarta.

[7] Sklar dan Bernard., 1988, Digital Communications Fundamental and Application, New Jersey, PTR Prentice Hall

[8] Lazuardi. A.R., 2012, Pengenlan Nada Pada Alat Musik Bonang Menggunaan Fungsi Jarak Eucledian, Tugas Akhir, Fakultas Teknik, Universitas Sanata Dharma, Yogyakarta.

[9] Transmisi Sinyal Digital.

http://mafisamin.blog.ugm.ac.id/files/2014/05/Komdat_Bab5.pdf di akses pada tanggal 10 september 2014.

[10] Kartikasari, Y.E., 2006, Pembuatan Software Pembuka Program aplikasi Komputer Berbasis Pengenalan Sinyal Suara, Tugas Akhir, Politeknik elektronika Negeri Surabaya Surabaya.

[11] Kushidayati, M.F., Pembuatan Data Base Transkrip Akord Instrumen Tunggal Menggunakan Metode Enhanced Pitch Class Profile (EPCP), Jurnal, Telekomunikasi, Politeknik Elektronika Negeri Surabaya. Surabaya.

[12] Sutiknyo, P.H., Pengolahan Suara Berdasarkan Usia Dengan Menggunakan Metode K-Means, Jurnal, Teknik Telekomunikasi, Politeknik Elektronika Negeri Surabaya. Surabaya.

[13] Sumarno, L., 2013, Pengenalan Nada Pianika Menggunakan Jendela Jendela Gaussian DCT dan Jarak Kosinus., vol. 17, no 1, hal 8-10.

[14] Elek Tronoka Dasar, Microphone. http://elektronika-dasar.web.id/teori-elektronika/microphone/ diakses pada tanggal 13 september 2014

[15] Desktop PC Mini Microphone Intopic JAZZ 012,

http://alnect.net/products.php?/13/104/332/2684/Special-Tools/Speaker-Headset-Mic/Microphone/Desktop-PC-Mini-Microphone-Intopic-JAZZ-012 diakses pada tanggal 10 september 2014

[16] Pengertian dan Fungsi Sound Card,http://www.arief-teknisi.com/2014/04/pengertian-dan-fungsi-sound-card.html, di akses pada tanggal 12 september 2014

[17] PIC Sound Card, https://www.tokopedia.com/yuzashop/pci-sound-card, diakses pada tanggal 12 september 2014

[18] Sumarno. L., Pengenalan Nada Pianika Menggunakan Jendela Segitiga, DCT, dan Fungsi Jarak Eucledian, Prosiding, Teknik Elektro, Universitas Sanata Dharma, Yogyakarta.

PERCOBAAN MENCARI SPEKTRUM FREKUENSI UNTUK SISTEM PENGENALAN NADA ALAT MUSIK CETIK MENGGUNAKAN MATLAB 7.0.4

Tujuan:

1. Mencari frekuensi tertinggi maksimum dari nada- nada cetik 2. Mencari frekuensi sampling

Variabel:

1. Menggunakna frekuensi sampling 40000Hz 2. Durasi perekaman sebesar 2 detik

Program

fs = 40000;%%fsampling 40000Hz

y = wavrecord (2*fs,fs,'double');%% 2 detik wavwrite(y,fs,'sample2s40000Hzg.wav');

[y,fs]=wavread('sample2s40000Hzg.wav');

Y=fft(y,fs);

Spek= Y.* conj(Y);

f = fs*(0:(1/2*fs))/fs;

plot(f,Spek(1:(1/2*fs+1)));grid;%output

Hasil ploting FS= 40000hz

Kesimpulan

Pada do tinggi frekuensi fundamental sebesar 790Hz, dengan demikian berdasarkan kriteria Nyquist bila digunakan frekuensi pencuplikan, maka 2000Hz sudah memenuhi persyaratan.

PERCOBAAN MENCARI DURASI PEREKAMAN UNTUK SISTEM PENGENALAN NADA ALAT MUSIK CETIK MENGGUNAKAN MATLAB 7.0.4

Tujuan:

1. Mencari durasi perekaman yang tepat

2. Mengetahui pengaruh durasi perekaman pada sinyal perekaman.

Variabel

1. Frekuensi sampling yang digunakan sebesar 2000Hz 2. Durasi percobaan 0,5 detik, 1 detik, 1,5 detik, 2 detik Program

%======================================%

% DurasiPerekaman %

%======================================%

clc fs=2000;

%%fsampling 2000Hz

%y=wavrecord(0.5*fs,fs,'double');%%0.5detik

%y=wavrecord(fs,fs,'double');%%1detik

%y=wavrecord(1.5*fs,fs,'double');%%1.5detik

%y=wavrecord(2*fs,fs,'double');%%2detik y=wavrecord(2*fs,fs,'double');%%2detik wavwrite(y,fs,'sample2s2000Hz.wav');

plot(y);grid;%output title('fs2000; t=2detik') xlabel('sample ke-')\

ylabel('amplitudo')

HasilPloting

Kesimpulan

Untuk durasi pencuplikan dari 4 (empat) percobaan dengan maksimal waktu 2 detik maka untuk durasi perekaman menggunkan 1,5 detik sudah memenuhi untuk durasi prekaman,

LISTING PROGRAM

Program Utama

function varargout = guipengenalan(varargin)

% GUIPENGENALAN M-file for guipengenalan.fig

% GUIPENGENALAN, by itself, creates a new GUIPENGENALAN or raises the existing

% singleton*.

%

% H = GUIPENGENALAN returns the handle to a new GUIPENGENALAN or the handle to

% the existing singleton*.

%

% GUIPENGENALAN('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in GUIPENGENALAN.M with the given input arguments.

%

% GUIPENGENALAN('Property','Value',...) creates a new GUIPENGENALAN or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before guipengenalan_OpeningFunction gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to guipengenalan_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help guipengenalan

% Last Modified by GUIDE v2.5 15-May-2015 22:45:14

% Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before guipengenalan is made visible.

function guipengenalan_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to guipengenalan (see VARARGIN)

% Choose default command line output for guipengenalan handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes guipengenalan wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = guipengenalan_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from popupmenu1 indeks=get(handles.popupmenu1,'Value');

% --- Executes during object creation, after setting all properties.

function popupmenu1_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes on selection change in popupmenu2.

function popupmenu2_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu2 contents as cell array

% contents{get(hObject,'Value')} returns selected item from popupmenu2 indeks=get(handles.popupmenu2,'Value');

% --- Executes during object creation, after setting all properties.

function popupmenu2_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

%=============== durasi rekam menggunakan 1.5 detik =========================%

sample_length=1.5;

for p=1:frame;

load xciri1650

elseif (frame==64) & (pk==100)

load xciri25620

thx=get(handles.popupmenu3,'value');

if (nadaout==1)&(r>1.8731) & (thx==1);

hasil=('Tidak Dikenali')

elseif (nadaout==2)&(r>1.9879) & (thx==1);

hasil=('Tidak Dikenali')

elseif (nadaout==3)&(r>1.8721) & (thx==1);

hasil=('Tidak Dikenali')

elseif (nadaout==4)&(r>1.8591) & (thx==1);

hasil=('Tidak Dikenali')

elseif (nadaout==5)&(r>2.6458) & (thx==1);

hasil=('Tidak Dikenali')

elseif (nadaout==6)&(r>1.8569) & (thx==1);

hasil=('Tidak Dikenali')

elseif (nadaout==7)&(r>1.0802) & (thx==1);

hasil=('Tidak Dikenali')

elseif th==0

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) axes(handles.axes1);

% --- Executes on button press in pushbutton4.

function pushbutton4_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) delete(figure(guipengenalan));

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function pilih_Callback(hObject, eventdata, handles)

% hObject handle to pilih (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of pilih as text

% str2double(get(hObject,'String')) returns contents of pilih as a double

% --- Executes during object creation, after setting all properties.

function pilih_CreateFcn(hObject, eventdata, handles)

% hObject handle to pilih (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes during object creation, after setting all properties.

function axes1_CreateFcn(hObject, eventdata, handles)

% hObject handle to axes1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: place code in OpeningFcn to populate axes1

% --- Executes on button press in radiobutton1.

% --- Executes on button press in checkbox1.

function text10_CreateFcn(hObject, eventdata, handles)

% hObject handle to text10 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% --- Executes on selection change in popupmenu3.

function popupmenu3_Callback(hObject, eventdata, handles)

% hObject handle to popupmenu3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu3 contents as cell array

% contents{get(hObject,'Value')} returns selected item from popupmenu3

% --- Executes during object creation, after setting all properties.

function popupmenu3_CreateFcn(hObject, eventdata, handles)

% hObject handle to popupmenu3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.

% Dengan looping pada perhitungan cos N=length(x);

Program Fungsi Jarak Hellinger

function h=jarakhellinger(p,q);

h=sqrt(2*sum(((sqrt(p))-(sqrt(q))).^2));

Program Pembuatan DATA BASE

function dbxciri

frame=256 %panjang frame blocking pk=100 %persen koefisien DCT

Program Mencari Persentase

end

%cari nilai minimum

jarakhellingermin=find(min(jarak)==jarak);

%deskripsi string

nadax={'do_';'re_';'mi_';'sol';'la_';'si_';'dot'};

%penentuan keluaran nilai min hasil=nadax{jarakhellingermin};

d=strcmp(hasil,nada);

if d==1 k=1;

else k=0;

end

Mencari xciri

function ya=xcirix(x,frame,pk)

%ya : output signal

%x : input signal

%frame : panjang frame

%pk : nilai persen koefisien DCT

%x=wavread('do_1.wav');

% Normalisasi % x1=x/max(x);

% pemotongan sinyal kiri % b0=0.2;

b1=find(x1>b0 | x1<-b0);

x1(1:b1(1))=[];

% frame blocking %

%frame=handles.vardct

for p=1:frame;

f(p)=x1(p+frame);

end

% hamming window % w=hammingx(frame);

for p=1:frame;

wi(p)=f(p)*w(p); %wi(p)==> windowing hamming (p) end

% DCT % y=abs(dctx(wi));

% persen koefisien

%pk=handles.koef n=frame;

c=(pk/100)*n;

a=floor(c);

ya=y(1:a);

ya=ya(:);

Tabel

Pencarian Nilai Thresholding

Tabel di bawah ini digunakan untuk menentukan jarak maksimum dari setiap nada.

Pengujian dilakukan dengan menggunakan panjang frameblocking 64, dan windowing koefisien 80%. Pengujian dilakukan sebanyak 20 kali setiap nadanya

Percobaan

Nilai maksimum yang telah di dapat, maka akan digunakna sebagai nilai Thresholding untuk membatasi jarak saat pengenalan di lakukan. Jarak ini bisa berubah menurut variasi yang digunakan. Pada penentuan nilai ini digunakan frameblocking 64, dan windowing koefisien 80%, dikarenakan variasi tersebut dapat mendeteksi nada mencapai 100% dan nilai titik DCT yang kecil yaitu 51.

TABEL

TINGKAT PENGENALAN

Tabel di bawah ini menunjukan tabel pengujian nada secara tidak Real Time, data pada tabel tersebut di peroleh dengan menjalankan program yang telah di buat. Hasil pengujian pengenalan nada pada berbagai variasi panjang frameblocking, dan variasi Windowing koefisien. Hasil yang di tampilkan : Tingkat pengenalan (%)/ jumlah koefisien DCT

Panjang framebloking

, n titik

Windowing koefisien DCT, p (%)

10 20 30 40 50 60 70 80 90 100

16 48,57/1 51,43/3 64,29/4 70/6 62,86/8 77,14/9 77,14/11 74,29/12 72,86/14 72,86/16 32 70/3 77,14/6 72,86/9 75,71/12 84,29/16 95,71/19 95,71/22 95,71/25 95,71/28 95,71/32 64 65,71/6 74,29/12 75,71/19 78,57/25 85,71/32 91,43/38 95,71/44 100/51 100/57 100/64 128 62,86/12 65,71/25 62,86/38 71,43/51 78,57/64 84,29/76 95,71/89 100/102 100/115 100/128 256 65,71/25 67,14/51 64,29/76 75,71/102 81,43/128 84,29/153 98,57/179 100/204 100/230 100/256

Tabel

Pengujian Program Menggunakan Semua Variasi

Pada pengujuian ini berfungsi untuk mencari nilai yang paling baik yang mencapai 100% dalam pengenalan dengan menggunakan variasi yang paling minimum. Percobaan ini dilakukan 15 kali pemukulan setiap nadanya. Berikut merupakan hasil dari pengujian semua variasi.

Keterangan : Y = dikenali benar X = dikenali salah TD = Tidak Dikenali

Percobaan Tanpa menggunakan Thresholding

 Variasi frame blocking = 16, windowing koefisien = 10%

Nada Percobaan Ke-

 Variasi frame blocking = 16, windowing koefisien = 20%

Nada Percobaan Ke-

 Variasi frame blocking = 16, windowing koefisien = 30%

 Variasi frame blocking = 16, windowing koefisien = 40%

Nada Percobaan Ke-

 Variasi frame blocking = 16, windowing koefisien = 50%

Nada Percobaan Ke-

 Variasi frame blocking = 16, windowing koefisien = 60%

Nada Percobaan Ke-

 Variasi frame blocking = 16, windowing koefisien = 70%

 Variasi frame blocking = 16, windowing koefisien = 80%

Nada Percobaan Ke-

 Variasi frame blocking = 16, windowing koefisien = 90%

Nada Percobaan Ke-

 Variasi frame blocking = 16, windowing koefisien = 100%

Nada Percobaan Ke-

 Variasi frame blocking = 32, windowing koefisien = 10%

 Variasi frame blocking = 32, windowing koefisien = 20%

Nada Percobaan Ke-

 Variasi frame blocking = 32, windowing koefisien = 30%

Nada Percobaan Ke-

 Variasi frame blocking = 32, windowing koefisien = 40%

Nada Percobaan Ke-

 Variasi frame blocking = 32, windowing koefisien = 50%

 Variasi frame blocking = 32, windowing koefisien = 60%

Nada Percobaan Ke-

 Variasi frame blocking = 32, windowing koefisien = 70%

Nada Percobaan Ke-

 Variasi frame blocking = 32, windowing koefisien = 80%

 Variasi frame blocking = 32, windowing koefisien = 80%

Dokumen terkait