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 };