bpf_v35.m
来自「DSK6713 Speech.rar語音訊號處理應用範例程序」· M 代码 · 共 76 行
M
76 行
% ========================================================
% Filename : BPF_V35.M
% ========================================================
% Speech Feature Quantize ( Using BPF parameter )
% ========================================================
clear;
clear global;
ch_num=15;
order=ch_num+1;
word_num=30;
person_num=20;
serier_num=3;
std_fr_num=35;
knn_group_order=6;
knn_group_num=2^(knn_group_order);
% ========================================================
begin_time=clock;
% ========================================================
filename=['c:\spdb\bpf\bpf35p.vq'];
fid=fopen(filename,'r');
BPF_VQ_CodeBook=fscanf(fid,'%g\n\r',[64 inf]);
fclose(fid);
% ========================================================
for j=1:person_num
VQ_person_number=j;
VQ_person_number
for k=1:serier_num
for i=1:word_num
filename=['c:\spdb\bpf\c',int2str(i),'_',int2str(j),'_',int2str(k),'.bpf'];
fid=fopen(filename,'r');
filedata=fscanf(fid,'%g\n\r',[35 inf]);
fclose(fid);
distance=zeros(knn_group_num,std_fr_num);
for m=1:std_fr_num
for n=1:knn_group_num
distance(n,m)=sum((filedata(m,:)-BPF_VQ_CodeBook(n,:)).^2);
end
end
[null code]=min(distance);
VQcode=code';
eval(['BPFVQ_s',int2str(j),'_',int2str(k),'(:,',int2str(i),')=VQcode;']);
end
filename=['c:\spdb\bpf\vq\s_',int2str(j),'_',int2str(k),'.vqb'];
fid=fopen(filename,'w');
eval(['filedata=BPFVQ_s',int2str(j),'_',int2str(k),';']);
fprintf(fid,'%g\n\r',filedata);
fclose(fid);
end
end
% ========================================================
for i=1:word_num
filename=['c:\spdb\bpf\ave',int2str(i),'.bpf'];
fid=fopen(filename,'r');
filedata=fscanf(fid,'%g\n\r',[35 inf]);
fclose(fid);
for m=1:std_fr_num
for n=1:knn_group_num
distance(n,m)=sum((filedata(m,:)-BPF_VQ_CodeBook(n,:)).^2);
end
end
[null code]=min(distance);
VQcode=code';
eval(['BPFVQ_ave(:,',int2str(i),')=VQcode;']);
end
filename=['c:\spdb\bpf\vq\s_ave.vqb'];
fid=fopen(filename,'w');
fprintf(fid,'%g\n\r',BPFVQ_ave);
fclose(fid);
% ========================================================
clear filename fid filedata i j k m n VQ_person_num null code VQcode distance
RunTime=ceil(etime(clock,begin_time)/60);
% ========================================================
RunTime
pgmover
% ========================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?