Tombol Rekam Implementasi GUI Matlab dan Program Pengenalan Ucapan
Proses segment averaging dilakukan dengan menggunakan fungsi pada matlab yaitu “reshape x4,varsegment,[ ] ”. Nilai “x4” merupakan data hasil ektraksi ciri segment
averaging , sedangkan nilai “varse” merupakan lebar segment averaging data. Data hasil
segment averaging tersebut akan ditampilkan dengan bentuk grafik dengan menggunakan
fungsi “bar”. Fungsi “bar” merupakan grafik dengan gambar berbentuk batang sesuai panjang data . Fungsi “axeshandles.axes2” digunakan untuk memilih axis pada kolom
plot ekstraksi sebagai tempat menampilkan grafiik. Program mengacu pada flowchart perancangan gambar 3.13.
Program pengenalan pola dilakukan dengan cara perhitungan nilai similaritas data masukan terhadap basis data. Pendekatan terbaik adalah data yang mempunyai nilai
similaritas terbesar. Proses selanjutnya setelah penggambaran sinyal ucapan adalah proses pemanggilan
database yang telah disesuaiakn dengan variasi segment averaging. Program database menggunakan logika
“if else” agar database mempunyai kesamaan dengan nilai variasi yang telah dipilih sebelumnya oleh user. Program pembuatan database mengacu pada
lampiran L17. Program pemanggilan database dapat ditulis sebagai berikut.
if varsegment==8
load db0108dft1
; elseif
varsegment==16 load
db01016dft1 ;
elseif varsesegment==32
load db01032dft1
; elseif
varsesegment==64 load
db01064dft1 ;
end
Program diatas untuk memanggil database yang akan dibandingkan dengan ucapan yang telah terekam dengan menggunakan perintah similaritas. Data base yang dipanggil
sesuai dengan masukan variasi segment averaging yang telah dipilih oleh user pada pop
_up menu sebelumnya. Kondisi pemanggilan fungsi harus sesuai dengan variasi dan pemanggilan database.
Proses selanjutnya adalah menbandingkan database dengan data masukan dari user secara real time. Perbandingan database dan masukan sinyal tersebut menggunakan
perhitungan similaritas cosinus. Program perhitungan similaritas sebagai berikut :
for n=1:12
similaritasn=simcosx,z:,n end
Pada perhitungan similaritas cosinus fungsi menggunakan pemanggilan fungsi ekternal
dimana program perhitungan similaritas berada diluar program utama. Pemanggilan fungsi dengan memanggil fungsi
“simcos”. Perhitungan mengacu pada rumus dari persamaan 2.6. Program pembuatan fungsi ekternal mengacu pada gambar 3.14
sebagai berikut.
function z=simcosx,y
sx=sizex sy=sizey
z=sumx.ysqrtsumx.2sqrtsumy.2;
Setelah didapatkan perhitungan similaritas cosinus selanjutnya masuk dalam program penentuan keluaran. Program penentuan keluaran berfungsi untuk menentukan
apakah ucapan terdeteksi sebagai ucapan atau dikenali secara “error”. Program penentuan
keluaran mengacu pada gambar 3.15. Program penentuan keluaran sebagai berikut :
knn k=varknn
m=3; [s1,s2]=sortsimilaritas,
descend ;
kj=s11:k kn=s21:k
hk=ceilknm kout=modehk
idxkout=findhk==kout jpilih=kjidxkout
fjpilih=fliplrjpilih TH=fjpilih1
if kout == 1TH0.6550
korout = { BALOK
}; kirim =
a ;
elseif kout == 1 TH= 0.6550
korout = { ERROR
}; end
if kout == 2 TH 0.6644
korout = { BOLA
}; kirim =
b ;
elseif kout == 2 TH= 0.6644
korout = { ERROR
}; end
if kout == 3 TH 0.6120
korout = { KUBUS
}; kirim =
c ;
elseif kout == 3 TH= 0.6120
korout = { ERROR
}; end
if kout == 4 TH 0.5767
korout = { TABUNG
};