BAB IV HASIL DAN PEMBAHASAN
4.3 Pengujian Dengan Suara Masukan Alat Musik Kencrung
Pada pengujian ini, penulis memilih alat musik kencrung karena nada dasar yang dipakai pada alat musik kencrung ini adalah E sedangkan untuk pengujian suara yang benar menggunakan nada dasar C melodi, maka suara yang dihasilkan oleh alat musk kencrung ini lebih rendah dari suara alat musik belira, rekorder dan pianika, sehingga suara yang dihasilkan oleh alat musik kencrung akan dikenali error.
Kencrung merupakan alat musik petik sejenis gitar berukuran kecil, sekitar 20 inci. Kencrung biasanya digunakan sebagai instrument tunggal atau untuk mengiringi berbagai macam alat musik, mulai dari klasik sampai jazz, dan sekarang country, reggae, dan musik rock. Alat musik kencrung ini ada yang mempunyai 4 utas tali senar dan ada juga yang hanya 3 utas tali senar. Kencrung yang dipakai oleh penulis untuk penelitan ini adalah kencrung dengan 3 senar. Kencrung dengan 3 senar disebut juga ukulele stem E, memiliki stem nada : g2-b1-e2.
Pada pengujian ini bertujuan untuk mengetahui tingkat pengenalan sistem dalam mengetahui suara. Sistem diharapkan tidak dapat mengenali suara alat musik lain selain alat musik pianika, rekorder dan belira. Untuk pengujian program pengenalan suara instrumen musik digunakan alat musik kencrung sebagai masukan suaranya. Ada pula langkah- langkah untuk melakukan percobaaan sebagai berikut:
1. Menyiapkan alat musik kencrung yang akan digunakan.
2. Nada- nada yang akan digunakan antara lain Do, re, mi, fa, sol, la, si dan DoTinggi. 3. Menggunakan variasi frame blocking 256, jumlah sampel per kelas 2 dan k=1 karena variasi tersebut mempunyai tingkat pengenalan yang baik. Menggunakan masukan Thresholding untuk batasan setiap nada dan suaranya.
4. Melihat hasil keluaran suara, apakah pengujian tersebut dapat mengenali suara masukan, dikenali dengan keluaran “ERROR”, dikenali dengan suara lain, atau bahkan dikenali suara dengan suara pianika, rekorder atau belira.
Setelah melakukan langkah-langkah diatas, berikut ini gambar alat musik kencrung dan hasil pengujian dengan suara dari alat musik kencrung :
58 cm
21 cm
Gambar 4.4. Gambar Alat Musik kencrung
Setelah melakukan langkah-langkah diatas, hasil yang diperoleh sebagai berikut: Tabel 4.16. Hasil pengujian dengan suara dari alat musik kencrung dengan confusion
matriks
Input Output Tingkat Pengenalan Pianika Rekorder Belira Error
Do 0 0 0 5 100% Re 0 0 0 5 100% Mi 0 0 2 3 60% Fa 0 0 0 5 100% Sol 0 0 0 5 100% La 0 0 1 4 80% Si 0 0 2 3 60% DoTinggi 0 0 1 4 80% Rata-rata tingkat pengenalan 85%
Dari hasil pengujian dengan suara dari alat musik kencrung dimana nada yang dipakai adalah nada do, re, mi, fa sol, la, si dan do tinggi sesuai dengan perancangan. Pada pengujian dengan suara dari alat musik kencrung ini tingkat pengenalannya sebesar 85 persen. Nada mi, la,si dan do tinggi dikenal dengan suara lain yakni dikenal sebagai suara belira ini dikarenakan karena tangga nada masih dalam jarak range yang sama. Pada percobaan dengan alat musik kencrung, pemilihan nilai Thresholding yang digunakan juga sangat berpengaruh dalam hal tersebut.
61
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Berdasarkan percobaan dan pengujian sistem pengenalan suara instrumen musik maka dapat disimpulkan sebagai berikut :
1. Pada pengujian untuk setiap 1, 2, 3 dan 4 database(jsk) untuk setiap nadanya secara tidak real-time bahwa dengan menggunakan database yakni dengan 2 database sudah mampu untuk mengenali suara instrumen musik pianika, rekorder dan belira. 2. Pengujian pengenalan suara instrumen musik secara real-time menggunakan variasi
frame blocking 256, jumlah sampel per kelas 2 dan nilai k=1 pada k-NN tanpa
menggunakan Threshoding memiliki tingkat pengenalan suara mencapai 100% dan dengan menggunakan Threshoding memiliki tingkat pengenalan suara mencapai 93%.
3. Pengenalan suara error dengan masukan alat musik kencrung menghasilkan tingkat pengenalan 85%.
5.2 SARAN
Sistem pengenalan suara instrumen musik ini masih memiliki kekurangan. Ada beberapa saran yang diharapkan dapat mengurangi kekurangan tersebut, antara lain:
1. Pengembangan dapat dilakukan agar sistem dapat mengenali banyak alat musik dengan berbagai nada yang dapat dihasilkan.
2. Menentukan nilai parameter yang paling baik untuk pengenalan sehingga user bisa langsung memulai pengenalan tanpa mengatur parameter yang akan digunakan. 3. Untuk pengembangannya, dapat juga dengan membuat hardware pengenalan suara
62
DAFTAR PUSTAKA
[1] Wirawan, D.Adiyasa, 2011, Pengenalan Alat Musik Dengan Quickpropagation, Tugas Akhir, Fakultas Teknik Informatika, Universitas Telkom.
[2] Susanto, I.,dkk, 2011, Pengenalan Suara Alat Musik Dengan Metode Jaringan Saraf
Tiruan (JST) Learning Vektor Quantization (LVQ) Melalui Ekstraksi Koefisien Cepstral, Makalah Seminar Tugas Akhir, Jurusan Teknik Elekro, Fakultas Teknik
Universitas Diponegoro.
[3] Melantika, A. P., 2010, Pengenalan Pola Batik Yogyakarta menggunakan Metode
Hidden Markov Midels dengan Studi Kasus d Museum Batik Yogyakarta, Tugas
Akhir, Jurusan Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Sanata Dharma, Yogyakarta.
[4] Munawar, P., 2010, Teknik Memainkan Alat Musik Melodis Pianika,
https://senturi09.wordpress.com/2010/07/05/teknik-memainkan-alat-musik-
elodis-pianika/ diakses tanggal 24 Maret 2015
[5] Larasati, A.,2012, Klasifikasi Alat Musik,
http://angelinalarasatii.blogspot.com/2012/10/klasifikasi-alat-musik.html diakses
tanggal 24 Maret 2015
[6] Kho, D., 2014, Pengertian Microphone (Mikrofon) dan Cara Kerjanya,
http://teknikelektronika.com/pengertian-microphone-mikropon-cara-kerja-mikrofon/
diakses tanggal 25 Maret 2015
[7] Sklar, B., 1988, Digital Communications Fundamental and Application, New Jersey, PTR Prentice Hall.
[8] Hakim, L., 2012, Analisa Suara Serak Berbasis Transformasi Wavelet dan Algoritma
Jaringan Syaraf Tiruan, Tugas Akhir Jurusan Teknik Elektro, Institut Teknologi
Sepuluh Nopember, Surabaya.
[9] Hadi, P., ____,Pengolahan Suara Berdasarkan Usia Dengan Menggunakan Metode
K-Means, Tugas Akhir, Jurusan Teknik Telekomunikasi, Politeknik Elektronika
Negeri Surabaya, Institut Teknologi Sepuluh November.
[10] Riyanto,S., dkk, 2009, Algoritma Fast Fourier Transform (FFT) Decimation In Time
(DIT) dengan Resolusi 1/10 Hertz, Laboratorium Riset Komputasi Jurusan
[11] Jain, A. K., Duin, R. P. W., & Mao, J. 2000, Statistical Pattern Recognition: A Review. Pattern Analysis and Machine Intelligence, IEEE Transactions on,22(1), 4-37.
[12] Wurdianarto, R. Sendhy, 2014, Perbandingan Euclidean Distance Dengan Canberra
Distance Pada Face Recognition, Fakultas Ilmu Komputer, Universitas Dian
Nuswantoro Semarang.
[13] Sergios, T. dan Koutroumbas,K., 2009, Pattern Recognition,4th ed, Elsevier Inc, Massachusetts 01803, USA.
[14] Novariyanto, V. Irwan, 2014, Pengenalan Nada Alat Musik Belira Secara Real Time
dengan Ekstraksi Ciri DCT dan Similaritas Kosinus, Tugas Akhir, Fakultas Sains
LAMPIRAN 1
MIKROFON
1. Mikrofon
Mikrofon berfungsi menangkap sinyal analog yang akan disalurkan ke sound card pada
notebook melalui line in pada sound card. Mikrofon yang digunakan penulis sebagai
perangkat penelitian yaitu Microphone Genius MIC-01A yang ditunjukkan pada Gambar 3.2. Penulis menggunakan Microphone Genius MIC-01A ini karena harganya terjangkau, sangat mudah ditemukan dipasaran serta ringan sehingga dapat dibawa kemana – mana [L.1].
Gambar 3.2 Microphone Genius MIC-01A Tabel 3.1 Spesifikasi Microphone Genius MIC-01A
Frequency Response 100Hz ~ 10KHz
Sensitivity -62dB
Output Impedance 2.2 KΩ @1KHz
Cable length 3.0 Meters
Audio Output Connector 3.5mm Stereo Audio Plug
LAMPIRAN 2
GAMBARAN SPEKTRUM FREKUENSI UNTUK SISTEM
PENGENALAN SUARA INSTRUMEN MUSIK PIANIKA, RECORDER,
DAN BELIRA
Tujuan:
1. Memperlihatkan gambaran spektrum frekuensi untuk sistem pengenalan suara instrumen musik pianika, recorder, dan belira.
Parameter:
1. Frekuensi sampling yang digunakan 10000Hz.
2. Durasi sampling perekaman yang digunakan sebesar 1,5 detik. 3. Frame blocking 256 titik.
%listing program b0=0.3;%batas potong b5=0.25; fb=256; [e1,fs]=wavread('bsol3.wav'); %Sampling x0=wavread('bsol3.wav'); figure(1) plot(x0) % Normalisasi x1=e1/max(abs(e1)); figure(2) plot(x1) % Potong kiri b1=find(x1>b0 | x1<-b0);
x1(1:b1(1))=[]; figure(3) plot(x1) % Potong kiri 2 bts=floor(0.25*length(x1)); x1(1:bts)=[]; figure(4) plot(x1) %frame blocking x2=x1(1:fb); figure(5) plot(x2) %Windowing Hamming h=hamming(fb); x4=x3.*h; figure(7) plot(x4) % DFT x5=dftx(x4); pspek=frame/2; y2=abs(x5);
spek=y2(1:(1/2*frame+1)); % ambil separuh bagian kiri spek(1)=0; % frek nol dinolkan
A. Pianika
Nada Do Nada Re
Nada Mi Nada Fa
Nada Si Nada Do Tinggi
B. Recorder
Nada Do Nada Re
Nada Sol Nada La
Nada Si Nada Do Tinggi
C. Belira
Nada Mi Nada Fa
Nada Sol Nada La
LAMPIRAN 3
GAMBARAN OFFSET KE KIRI UNTUK SISTEM PENGENALAN
SUARA INSTRUMEN MUSIK PIANIKA, RECORDER, DAN BELIRA
Tujuan:
1. Memperlihatkan gambaran offset ke kiri untuk sistem pengenalan suara instrumen musik pianika, recorder, dan belira.
Parameter :
4. Frekuensi sampling yang digunakan 10000Hz.
5. Durasi sampling perekaman yang digunakan sebesar 1,5 detik. 6. Frame blocking 256 titik.
%listing program b0=0.3;%batas potong b5=0.25; fb=256; [e1,fs]=wavread('bdot3.wav'); %Sampling x0=wavread('bdot3.wav'); figure(1) plot(x0) xlabel('Data Tercuplik','FontSize',18); ylabel('Amplitudo','FontSize',18); % Normalisasi x1=e1/max(abs(e1)); figure(2) plot(x1) xlabel('Data Tercuplik','FontSize',18);
ylabel('Amplitudo','FontSize',18); % Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; figure(3) plot(x1) xlabel('Data Tercuplik','FontSize',18); ylabel('Amplitudo','FontSize',18); % Potong kiri 2 bts=floor(0.25*length(x1)); x1(1:bts)=[]; figure(4) plot(x1) xlabel('Data Tercuplik','FontSize',18); ylabel('Amplitudo','FontSize',18); %frame blocking x2=x1(1:fb); figure(5) plot(x2) xlabel('Data Tercuplik','FontSize',18); ylabel('Amplitudo','FontSize',18); %Windowing Hamming h=hamming(fb); x4=x3.*h; figure(7) plot(x4) xlabel('Data Tercuplik','FontSize',18); ylabel('Amplitudo','FontSize',18); % DFT x5=dftx(x4); pspek=frame/2; y2=abs(x5);
spek(1)=0; % frek nol dinolkan makslok=spek/max(spek); % normalisasi figure(8) plot(makslok); xlabel('Frekuensi','FontSize',18); ylabel('Amplitudo','FontSize',18); % Offset ke kiri % (a)Sorting turun [sortmlok,idxmlok]=sort(makslok,'descend'); % (b)Potong sebelah kiri maksimum global makslok(1:idxmlok(1)-1)=[];
figure(9) plot(makslok)
xlabel('Frekuensi Offset','FontSize',18); ylabel('Amplitudo','FontSize',18);
%Limiting dan Zero padding %(c)limiting for k=1:length(makslok) if makslok(k)>0.1 makslok(k)=0.1; end end figure(10) plot(makslok) xlabel('Frekuensi Offset','FontSize',18); ylabel('Amplitudo','FontSize',18); % (d)Zero padding makslok(pspek)=0; maksout=makslok(:); figure(11) plot(maksout) xlabel('Frekuensi Offset','FontSize',18); ylabel('Amplitudo','FontSize',18);
B. Offset Ke Kiri
1. Potong Sebelah Kiri Maksimum Global A. Pianika
Nada Do Nada Re
Nada Mi Nada Fa
Nada Si Nada Do Tinggi
B. Recorder
Nada Do Nada Re
Nada Sol Nada La
Nada Si Nada Do Tinggi
D. Belira
Nada Mi Nada Fa
Nada Sol Nada La
2. Limitting
A. Pianika
Nada Do Nada Re
Nada Mi Nada Fa
Nada Si Nada Do Tinggi
B. Recorder
Nada Do Nada Re
Nada Sol Nada La
Nada Si Nada Do Tinggi
C. Belira
Nada Mi Nada Fa
Nada Sol Nada La
3. Zero Padding A. Pianika
Nada Do Nada Re
Nada Mi Nada Fa
Nada Si Nada Do Tinggi
B. Recorder
Nada Do Nada Re
Nada Sol Nada La
Nada Si Nada Do Tinggi
C. Belira
Nada Mi Nada Fa
Nada Sol Nada La
LAMPIRAN 4
LISTING PROGRAM GUI MATLAB
Program Utama
function varargout = GUI1(varargin) % GUI1 M-file for GUI1.fig
% GUI1, by itself, creates a new GUI1 or raises the existing % singleton*.
%
% H = GUI1 returns the handle to a new GUI1 or the handle to % the existing singleton*.
%
% GUI1('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in GUI1.M with the given input arguments.
%
% GUI1('Property','Value',...) creates a new GUI1 or raises the % existing singleton*. Starting from the left, property value pairs are
% applied to the GUI1 before GUI1_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application
% stop. All inputs are passed to GUI1_OpeningFcn via varargin. %
% *See GUI1 Options on GUIDE's Tools menu. Choose "GUI1 allows only one
% instance to run (singleton)". %
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help GUI1
% Last Modified by GUIDE v2.5 20-Oct-2015 09:08:56
% Begin initialization code - DO NOT EDIT gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @GUI1_OpeningFcn, ... 'gui_OutputFcn', @GUI1_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{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 GUI1 is made visible.
function GUI1_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 GUI1 (see VARARGIN)
handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes GUI1 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = GUI1_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;
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
% --- 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) sample_length=1.5;
sample_freq=10000;
sample_time=(sample_length*sample_freq); x=wavrecord(sample_time, sample_freq); wavwrite(x, sample_freq, 's.wav'); axes(handles.axes1) plot(x); x=wavread('s.wav'); %listing program b0=0.3; % batas potong frame=handles.frame; jsk=handles.jsk; vark=handles.varn;
% Normalisasi x1=x/max(abs(x)); % Potong kiri b1=find(x1>b0 | x1<-b0); x1(1:b1(1))=[]; % Potong kiri 2 bts=floor(0.25*length(x1)); x1(1:bts)=[]; %frame blocking x2=x1(1:frame); %Windowing Hamming h=hamming(frame); x4=x2.*h; % DFT x5=dftx(x4); pspek=frame/2; y2=abs(x5);
spek=y2(1:(1/2*frame+1)); % ambil separuh bagian kiri spek(1)=0; % frek nol dinolkan
makslok=spek/max(spek); % normalisasi % Offset ke kiri % (a)Sorting turun [sortmlok,idxmlok]=sort(makslok,'descend'); idxmax=idxmlok(1);
% (b)Potong sebelah kiri maksimum global makslok(1:idxmlok(1)-1)=[]; % (c)limiting for k=1:length(makslok) if makslok(k)>0.05 makslok(k)=0.05; end end % (d)Zero padding makslok(pspek)=0; maksout=makslok(:); %smaksout=size(maksout) axes(handles.axes2) bar(spek); % --- %function [pout,benar]=kenal(db,uji,kelasin,k) % Pengenalan fr=frame
if (frame==32) &&(jsk==1) load db1dft32;
elseif (frame==32) &&(jsk==2) load db2dft32; elseif (frame==32) &&(jsk==3) load db3dft32; elseif (frame==32) &&(jsk==4) load db4dft32; elseif (frame==64) &&(jsk==1) load db1dft64; elseif (frame==64) &&(jsk==2) load db2dft64; elseif (frame==64) &&(jsk==3) load db3dft64; elseif (frame==64) &&(jsk==4) load db4dft64; elseif (frame==128) &&(jsk==1) load db1dft128; elseif (frame==128) &&(jsk==2) load db2dft128; elseif (frame==128) &&(jsk==3) load db3dft128; elseif (frame==128) &&(jsk==4) load db4dft128;
elseif (frame==256) &&(jsk==1) load db1dft256; elseif (frame==256) &&(jsk==2) load db2dft256; elseif (frame==256) &&(jsk==3) load db3dft256; elseif (frame==256) &&(jsk==4) load db4dft256; elseif (frame==512) &&(jsk==1) load db1dft512; elseif (frame==512) &&(jsk==2) load db2dft512; elseif (frame==512) &&(jsk==3) load db3dft512; elseif (frame==512) &&(jsk==4) load db4dft512; end db=dz; uji=maksout; % Perhitungan jarak [x,jumdb]=size(db) z=zeros(1,jumdb); for n=1:jumdb z(n)=jarak(uji,db(:,n)); end % knn jsk1=jumdb/3;
[s1,s2]=sort(z,'ascend'); % urut naik (fungsi jarak) urutjarak=s1(1:vark) % hasil sorting
urutindeks=s2(1:vark) % pilih k nearest neighbour
kpilih=ceil(urutindeks/jsk1) % penentuan kelas-kelas yang terpilih kelasout=modus(kpilih) % pilih kelas yang paling sering muncul
% Penentuan keluaran
if kelasout==1 && (urutjarak(vark)<0.006 || urutjarak(vark)<0.06) pout='belira';
elseif kelasout==2 && (urutjarak(vark)>0.01 || urutjarak(vark)<0.3) pout='rekorder';
elseif kelasout==3 && (urutjarak(vark)>0.02 || urutjarak(vark)<0.4) pout='pianika'; else pout='error'; end hasilout=pout set(handles.text1,'string',hasilout)
function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (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 edit5 as text % str2double(get(hObject,'String')) returns contents of edit5 as a double
% --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit5 (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 edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (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 edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double
% --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit6 (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 edit7_Callback(hObject, eventdata, handles) % hObject handle to edit7 (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 edit7 as text % str2double(get(hObject,'String')) returns contents of edit7
as a double
% --- Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit7 (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 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) indeks=get(handles.popupmenu1,'value'); switch indeks case 1 frame=32; case 2 frame=64; case 3 frame=128; case 4 frame=256;
case 5 frame=512; end handles.frame=frame; guidata(hObject,handles);
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
% contents{get(hObject,'Value')} returns selected item from popupmenu1
% --- 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)
indeks=get(handles.popupmenu2,'Value'); switch indeks case 1 jsk=1; case 2 jsk=2; case 3 jsk=3; case 4 jsk=4; end handles.jsk=jsk; guidata(hObject,handles);
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu2 contents as cell array
% contents{get(hObject,'Value')} returns selected item from popupmenu2
% --- 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 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) indeks=get(handles.popupmenu3,'Value'); switch indeks case 1 knn=1; case 2 knn=3; case 3 knn=5; case 4 knn=7; end handles.varn=knn; guidata(hObject,handles);
% Hints: contents = cellstr(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)
% 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
function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (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 edit2 as text % str2double(get(hObject,'String')) returns contents of edit2 as a double
% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (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 edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (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 edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double
% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit3 (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 edit4_Callback(hObject, eventdata, handles) % hObject handle to edit4 (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 edit4 as text % str2double(get(hObject,'String')) returns contents of edit4 as a double
% --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (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.