1Cari indeks dari maksimal global [srt,idx]=sorty5,descend;
Ekstraksi database diperoleh dari proses dengan menggunakan program sebagai berikut :
function databasebaru Variabel penelitian
frame=4096; panjang frame blocking 1024 seg=sqrtframe; panjang segmen untuk rdct 32
k=1; nilai k pada knn 3 db_per_nada=8;
Inisialisasi loop data_per_nada=8; jumlah sampelnada
x=zeros2seg,data_per_nada; pakai centering b1=x;b2=x;b3=x;b4=x;b5=x;b6=x;b7=x;b8=x;b9=x;
r1=x;r2=x;r3=x;r4=x;r5=x;r6=x;r7=x;r8=x;r9=x; p1=x;p2=x;p3=x;p4=x;p5=x;p6=x;p7=x;p8=x;p9=x;
Perhitungan dengan loop for m=1:data_per_nada
Belira b1:,m=prosesxc[bdo1 num2strm-1 .wav],frame,seg;
b2:,m=prosesxc[bre1 num2strm-1 .wav],frame,seg; b3:,m=prosesxc[bmi1 num2strm-1 .wav],frame,seg;
b4:,m=prosesxc[bfa1 num2strm-1 .wav],frame,seg; b5:,m=prosesxc[bsol1 num2strm-1 .wav],frame,seg;
b6:,m=prosesxc[bla1 num2strm-1 .wav],frame,seg; b7:,m=prosesxc[bsi1 num2strm-1 .wav],frame,seg;
b8:,m=prosesxc[bdot1 num2strm-1 .wav],frame,seg; b9:,m=prosesxc[bret1 num2strm-1 .wav],frame,seg;
Recorder r1:,m=prosesxc[rdo1 num2strm-1 .wav],frame,seg;
r2:,m=prosesxc[rre1 num2strm-1 .wav],frame,seg; r3:,m=prosesxc[rmi1 num2strm-1 .wav],frame,seg;
r4:,m=prosesxc[rfa1 num2strm-1 .wav],frame,seg; r5:,m=prosesxc[rsol1 num2strm-1 .wav],frame,seg;
r6:,m=prosesxc[rla1 num2strm-1 .wav],frame,seg; r7:,m=prosesxc[rsi1 num2strm-1 .wav],frame,seg;
r8:,m=prosesxc[rdot1 num2strm-1 .wav],frame,seg; r9:,m=prosesxc[rret1 num2strm-1 .wav],frame,seg;
Pianika p1:,m=prosesxc[pdo1 num2strm-1 .wav],frame,seg;
p2:,m=prosesxc[pre1 num2strm-1 .wav],frame,seg; p3:,m=prosesxc[pmi1 num2strm-1 .wav],frame,seg;
p4:,m=prosesxc[pfa1 num2strm-1 .wav],frame,seg; p5:,m=prosesxc[psol1 num2strm-1 .wav],frame,seg;
p6:,m=prosesxc[pla1 num2strm-1 .wav],frame,seg; p7:,m=prosesxc[psi1 num2strm-1 .wav],frame,seg;
p8:,m=prosesxc[pdot1 num2strm-1 .wav],frame,seg; p9:,m=prosesxc[pret1 num2strm-1 .wav],frame,seg;
end Database
if db_per_nada==1 x1=meanb1:,1:8;y1=meanr1:,1:8;z1=meanp1:,1:8;
x2=meanb2:,1:8;y2=meanr2:,1:8;z2=meanp2:,1:8; x3=meanb3:,1:8;y3=meanr3:,1:8;z3=meanp3:,1:8;
x4=meanb4:,1:8;y4=meanr4:,1:8;z4=meanp4:,1:8; x5=meanb5:,1:8;y5=meanr5:,1:8;z5=meanp5:,1:8;
x6=meanb6:,1:8;y6=meanr6:,1:8;z6=meanp6:,1:8; x7=meanb7:,1:8;y7=meanr7:,1:8;z7=meanp7:,1:8;
x8=meanb8:,1:8;y8=meanr8:,1:8;z8=meanp8:,1:8; x9=meanb9:,1:8;y9=meanr9:,1:8;z9=meanp9:,1:8;
dbbelira=[x1 x2 x3 x4 x5 x6 x7 x8 x9]; dbrekorder=[y1 y2 y3 y4 y5 y6 y7 y8 y9];
dbpianika=[z1 z2 z3 z4 z5 z6 z7 z8 z9 ]; elseif db_per_nada==2
x1=meanb1:,1:4;x2=meanb1:,5:8; x3=meanb2:,1:4;x4=meanb2:,5:8;
x5=meanb3:,1:4;x6=meanb3:,5:8; x7=meanb4:,1:4;x8=meanb4:,5:8;
x9=meanb5:,1:4;x10=meanb5:,5:8; x11=meanb6:,1:4;x12=meanb6:,5:8;
x13=meanb7:,1:4;x14=meanb7:,5:8; x15=meanb8:,1:4;x16=meanb8:,5:8;
x17=meanb9:,1:4;x18=meanb9:,5:8; dbbelira=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10...
x11 x12 x13 x14 x15 x16 x17 x18]; y1=meanr1:,1:4;y2=meanr1:,5:8;
y3=meanr2:,1:4;y4=meanr2:,5:8; y5=meanr3:,1:4;y6=meanr3:,5:8;
y7=meanr4:,1:4;y8=meanr4:,5:8; y9=meanr5:,1:4;y10=meanr5:,5:8;
y11=meanr6:,1:4;y12=meanr6:,5:8; y13=meanr7:,1:4;y14=meanr7:,5:8;
y15=meanr8:,1:4;y16=meanr8:,5:8; y17=meanr9:,1:4;y18=meanr9:,5:8;
dbrekorder=[y1 y2 y3 y4 y5 y6 y7 y8 y9 y10... y11 y12 y13 y14 y15 y16 y17 y18];
z1=meanp1:,1:4;z2=meanp1:,5:8; z3=meanp2:,1:4;z4=meanp2:,5:8;
z5=meanp3:,1:4;z6=meanp3:,5:8; z7=meanp4:,1:4;z8=meanp4:,5:8;
z9=meanp5:,1:4;z10=meanp5:,5:8; z11=meanp6:,1:4;z12=meanp6:,5:8;
z13=meanp7:,1:4;z14=meanp7:,5:8; z15=meanp8:,1:4;z16=meanp8:,5:8;
z17=meanp9:,1:4;z18=meanp9:,5:8;
dbpianika=[z1 z2 z3 z4 z5 z6 z7 z8 z9 z10... z11 z12 z13 z14 z15 z16 z17 z18];
elseif db_per_nada==4 x1=meanb1:,1:2;x2=meanb1:,3:4;x3=meanb1:,5:6;x4=mea
nb1:,7:8; x5=meanb2:,1:2;x6=meanb2:,3:4;x7=meanb2:,5:6;x8=mea
nb2:,7:8; x9=meanb3:,1:2;x10=meanb3:,3:4;x11=meanb3:,5:6;x12=
meanb3:,7:8; x13=meanb4:,1:2;x14=meanb4:,3:4;x15=meanb4:,5:6;x16
=meanb4:,7:8; x17=meanb5:,1:2;x18=meanb5:,3:4;x19=meanb5:,5:6;x20
=meanb5:,7:8; x21=meanb6:,1:2;x22=meanb6:,3:4;x23=meanb6:,5:6;x24
=meanb6:,7:8; x25=meanb7:,1:2;x26=meanb7:,3:4;x27=meanb7:,5:6;x28
=meanb7:,7:8; x29=meanb8:,1:2;x30=meanb8:,3:4;x31=meanb8:,5:6;x32
=meanb8:,7:8; x33=meanb9:,1:2;x34=meanb9:,3:4;x35=meanb9:,5:6;x36
=meanb1:,7:8; dbbelira=[x1 x2 x3 x4 x5 x6 x7 x8 x9 x10...
x11 x12 x13 x14 x15 x16 x17 x18 x19 x20... x21 x22 x23 x24 x25 x26 x27 x28 x29 x30...
x31 x32 x33 x34 x35 x36]; y1=meanr1:,1:2;y2=meanr1:,3:4;y3=meanr1:,5:6;y4=mea
nr1:,7:8; y5=meanr2:,1:2;y6=meanr2:,3:4;y7=meanr2:,5:6;y8=mea
nr2:,7:8; y9=meanr3:,1:2;y10=meanr3:,3:4;y11=meanr3:,5:6;y12=
meanr3:,7:8; y13=meanr4:,1:2;y14=meanr4:,3:4;y15=meanr4:,5:6;y16
=meanr4:,7:8; y17=meanr5:,1:2;y18=meanr5:,3:4;y19=meanr5:,5:6;y20
=meanr5:,7:8;
y21=meanr6:,1:2;y22=meanr6:,3:4;y23=meanr6:,5:6;y24 =meanr6:,7:8;
y25=meanr7:,1:2;y26=meanr7:,3:4;y27=meanr7:,5:6;y28 =meanr7:,7:8;
y29=meanr8:,1:2;y30=meanr8:,3:4;y31=meanr8:,5:6;y32 =meanr8:,7:8;
y33=meanr9:,1:2;y34=meanr9:,3:4;y35=meanr9:,5:6;y36 =meanr1:,7:8;
dbrekorder=[y1 y2 y3 y4 y5 y6 y7 y8 y9 y10... y11 y12 y13 y14 y15 y16 y17 y18 y19 y20...
y21 y22 y23 y24 y25 y26 y27 y28 y29 y30... y31 y32 y33 y34 y35 y36];
z1=meanp1:,1:2;z2=meanp1:,3:4;z3=meanp1:,5:6;z4=mea np1:,7:8;
z5=meanp2:,1:2;z6=meanp2:,3:4;z7=meanp2:,5:6;z8=mea np2:,7:8;
z9=meanp3:,1:2;z10=meanp3:,3:4;z11=meanp3:,5:6;z12= meanp3:,7:8;
z13=meanp4:,1:2;z14=meanp4:,3:4;z15=meanp4:,5:6;z16 =meanp4:,7:8;
z17=meanp5:,1:2;z18=meanp5:,3:4;z19=meanp5:,5:6;z20 =meanp5:,7:8;
z21=meanp6:,1:2;z22=meanp6:,3:4;z23=meanp6:,5:6;z24 =meanp6:,7:8;
z25=meanp7:,1:2;z26=meanp7:,3:4;z27=meanp7:,5:6;z28 =meanp7:,7:8;
z29=meanp8:,1:2;z30=meanp8:,3:4;z31=meanp8:,5:6;z32 =meanp8:,7:8;
z33=meanp9:,1:2;z34=meanp9:,3:4;z35=meanp9:,5:6;z36 =meanp9:,7:8;
dbpianika=[z1 z2 z3 z4 z5 z6 z7 z8 z9 z10... z11 z12 z13 z14 z15 z16 z17 z18 z19 z20...
z21 z22 z23 z24 z25 z26 z27 z28 z29 z30... z31 z32 z33 z34 z35 z36];
elseif db_per_nada==8 dbbelira=[b1 b2 b3 b4 b5 b6 b7 b8 b9];
dbrekorder=[r1 r2 r3 r4 r5 r6 r7 r8 r9];
dbpianika=[p1 p2 p3 p4 p5 p6 p7 p8 p9]; end
dz=[dbbelira dbrekorder dbpianika]; save db8dct4096 dz
function z=prosesxcfwav,frame,seg Proses ekstraksi ciri
Baca file wav x1=wavreadfwav;
Normalisasi 1 x1=x1maxabsx1;
Pemrosesan Awal b0=0.3; batas potong
aPemotongan sinyal sepertiga bagian kiri kiri satu
b1=findx1b0 | x1-b0; x11:b11=[];
kiri dua hy0=floor 0.25lengthx1;
x11:hy0=[]; bFrame blocking dari bagian kiri sinyal terpotong
x2=x11:frame; cNormalisasi 2
x3=x2max abs x2; Row Mean DCT
aPembentukan kolom matriks y2=reshapex3,seg,[];
bWindowing 2D [baris,kolom]=sizey2;
hb=hannbaris;hk=hannkolom; for k=1:baris
y2k,:=y2k,:.hk; end
for k=1:kolom y2:,k=y2:,k.hb;
end cDCT 2D
y3=absdct2y2; dRerata baris
y4=sumy3;
Pemrosesan akhir aNormalisasi 3
y5=y4maxy4; bCentering
hy4=lengthy4; b.1Cari indeks dari maksimal global
[srt,idx]=sorty5,descend; imax=idx1;