📄 cp_vq.m
字号:
% ========================================================
% Filename : CP_VQ.M
% ========================================================
% Clustering speech feature ( Using mel-cepstrum parameter )
% --------------------------------------------------------
% variable : std_fr_num;order;knn_group_num
% --------------------------------------------------------
% call subprogram :
% 1.knn.m : calculate 2-mean of speech feature
% ========================================================
clear;
clear global;
begin_time=clock;
order=16;
word_num=30;
std_fr_num=35;
knn_group_order=6;
knn_group_num=2^(knn_group_order);
% --------------------------------------------------------
filedata=zeros(std_fr_num,order);
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);
V1((std_fr_num*(i-1)+1):(std_fr_num*i),:)=filedata;
end
CP_VQ_CodeBook=zeros(knn_group_num,order);
for i=1:knn_group_order
for j=1:2^(i-1)
k=2^(i-1)+j-1;
eval(['[V',int2str(2*k),' V',int2str(2*k+1),']=knn(V',int2str(k),');']);
end
end
for i=1:knn_group_num
eval(['CP_VQ_CodeBook(',int2str(i),',:)=mean(V',int2str(knn_group_num+i-1),');']);
end
filename=['c:\spdb\cp\cp35p.vq'];
fid=fopen(filename,'w');
fprintf(fid,'%g\n\r',CP_VQ_CodeBook);
fclose(fid);
clear i j k filedata filename fid
save CP_VQ.mat CP_VQ_CodeBook
RunTime=ceil(etime(clock,begin_time)/60);
% --------------------------------------------------------
figure(1);
mesh(CP_VQ_CodeBook);
title('Mel-cepstrum Parameter Vector Quantize Codebook ( using KNN rule for the patterns" centres )');
xlabel('kth CP Parameter');
ylabel('Group number');
zlabel('CP Value');
axis([0 16 0 64 floor(min(min(CP_VQ_CodeBook))) ceil(max(max(CP_VQ_CodeBook)))]);
grid;
% --------------------------------------------------------
RunTime
pgmover
% ========================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -