⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cp_v35.m

📁 DSK6713 Speech.rar語音訊號處理應用範例程序
💻 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 + -