www.gusucode.com > 用matlab仿真0到9十个数字的语音识别源码程序 > Speech-Recogenition/shujuzhengli.m
function shujuzhengli(file) %将杂乱的关于数字的语音文件归类,每个数字分别存入一个文件. jishu=(48:57); %filewz='D:\work\语音\1107\语音文件\t'; filewz=file; shujuku=zeros(10,1500); a0=0; a1=0; a2=0; a3=0; a4=0; a5=0; a6=0; a7=0; a8=0; a9=0; for j=3:3 j; for jj=1:10 jj; for jjj=1:10 jjj; filename=[filewz char(jishu(j)) char(jishu(jj)) char(jishu(jjj))]; [qs,zz,num]=readlab([filename '.lab']); [d,fp,dt,tc,t]=readhtk([filename '.wav']); pd=zeros(4,3000); for i=1:4 qs1(i)=round(qs(i)/fp/10000000); zz1(i)=round(zz(i)/fp/10000000); cb(i)=zz1(i)-qs1(i)+1; pd(i,1)=cb(i); for j1=qs1(i):zz1(i) pd(i,j1-qs1(i)+2)=d(j1); end end for i=1:4 switch num(i) case {0} a0=a0+1; data0(a0,:)=pd(i,:); case {1} a1=a1+1; data1(a1,:)=pd(i,:); case {2} a2=a2+1; data2(a2,:)=pd(i,:); case {3} a3=a3+1; data3(a3,:)=pd(i,:); case {4} a4=a4+1; data4(a4,:)=pd(i,:); case {5} a5=a5+1; data5(a5,:)=pd(i,:); case {6} a6=a6+1; data6(a6,:)=pd(i,:); case {7} a7=a7+1; data7(a7,:)=pd(i,:); case {8} a8=a8+1; data8(a8,:)=pd(i,:); case {9} a9=a9+1; data9(a9,:)=pd(i,:); otherwise ; end end end end end fid = fopen('d:\data0.mat','wb');fwrite(fid,data0','double');fclose(fid); fid = fopen('d:\data1.mat','wb');fwrite(fid,data1','double');fclose(fid); fid = fopen('d:\data2.mat','wb');fwrite(fid,data2','double');fclose(fid); fid = fopen('d:\data3.mat','wb');fwrite(fid,data3','double');fclose(fid); fid = fopen('d:\data4.mat','wb');fwrite(fid,data4','double');fclose(fid); fid = fopen('d:\data5.mat','wb');fwrite(fid,data5','double');fclose(fid); fid = fopen('d:\data6.mat','wb');fwrite(fid,data6','double');fclose(fid); fid = fopen('d:\data7.mat','wb');fwrite(fid,data7','double');fclose(fid); fid = fopen('d:\data8.mat','wb');fwrite(fid,data8','double');fclose(fid); fid = fopen('d:\data9.mat','wb');fwrite(fid,data9','double');fclose(fid);