📄 cp_v35.m
字号:
% ========================================================
% Filename : CP_V35.M
% ========================================================
% Speech Feature Quantize ( Using mel-cepstrum parameter )
% ========================================================
clear;
clear global;
order=16;
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\cp\cp35p.vq'];
fid=fopen(filename,'r');
CP_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\cp\c',int2str(i),'_',int2str(j),'_',int2str(k),'.cp'];
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,:)-CP_VQ_CodeBook(n,:)).^2);
end
end
[null code]=min(distance);
VQcode=code';
eval(['CPVQ_s',int2str(j),'_',int2str(k),'(:,',int2str(i),')=VQcode;']);
end
filename=['c:\spdb\cp\vq\s_',int2str(j),'_',int2str(k),'.vqc'];
fid=fopen(filename,'w');
eval(['filedata=CPVQ_s',int2str(j),'_',int2str(k),';']);
fprintf(fid,'%g\n\r',filedata);
fclose(fid);
end
end
% ========================================================
for i=1:word_num
filename=['c:\spdb\cp\cp_ave',int2str(i),'.cp'];
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,:)-CP_VQ_CodeBook(n,:)).^2);
end
end
[null code]=min(distance);
VQcode=code';
eval(['CPVQ_ave(:,',int2str(i),')=VQcode;']);
end
filename=['c:\spdb\cp\vq\s_ave.vqc'];
fid=fopen(filename,'w');
fprintf(fid,'%g\n\r',CPVQ_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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -