• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Matlab
  • 标签:

资源简介

提取语音特征(短时能量,平均幅度、平均过零率)的matlab代码

资源截图

代码片段和文件信息

% clear all 
yu(1:)=[‘H:\liuchanhg\happy\201.wav‘];
for i=1:299
    t=yu(i20:22);
    h=str2num(t)+1;   %字符转整数
    t=int2str(h);
    yu(i+1:)=strcat(‘H:\liuchanhg\happy\‘t‘.wav‘);
end 
for k=1:300;
%     lcvoiceE(k1)=1;
    [xfsbit]=wavread(yu(k:));%读语音数据z(音频信号)数据放入了Xfs代表采样率,bit代表采样位数
   framelength=240;%设置帧长,%30ms under 8khz 
framenumber=fix(length(x)/(framelength));%总的数据帧数 
%d=0;%初始化,浊音波峰判断 
%R1=0;%初始化,浊音一个基音周期内帧数 
%计算每帧的能量 
for i=1:framenumber; 
   E1(i)=0;%短时能量初始化  
   for j=(framelength*(i-1)+1):framelength*i; 
       E1(i)=E1(i)+x(j)*x(j);  %第i帧短时能量 
   end 
   lcvoiceE(ki)=E1(i);
end 

% i=i+1;
% while(i<=372)
%     lcvoiceE(ki)=mean(E1);
%     i=i+1;
% end

%       lcvoice(k:)=E‘;
      clear  bit framelength framenumber fs i j x;
end




yu2(1:)=[‘H:\liuchanhg\sad\201.wav‘];
for i=1:299
    t=yu2(i18:20);
    h=str2num(t)+1;   %字符转整数
    t=int2str(h);
    yu2(i+1:)=strcat(‘H:\liuchanhg\sad\‘t‘.wav‘);
end 
for k=1:300;
%      lcvoiceE(k+1001)=2;
    [xfsbit]=wavread(yu2(k:));%读语音数据z(音频信号)数据放入了Xfs代表采样率,bit代表采样位数
    framelength=240;%设置帧长,%30ms under 8khz 
framenumber=fix(length(x)/(framelength));%总的数据帧数 
%d=0;%初始化,浊音波峰判断 
%R1=0;%初始化,浊音一个基音周期内帧数 
%计算每帧的能量 
for i=1:framenumber; 
   E2(i)=0;%短时能量初始化  
   for j=(framelength*(i-1)+1):framelength*i; 
       E2(i)=E2(i)+x(j)*x(j);  %第i帧短时能量 
   end 
   lcvoiceE(k+300i)=E2(i);
end 

% i=i+1;
% while(i<=372)
%     lcvoiceE(k+300i)=mean(E1);
%     i=i+1;
% end

      clear bit framelength framenumber fs i j x;
end




yu3(1:)=[‘H:\liuchanhg\angry\201.wav‘];
for i=1:299
    t=yu3(i20:22);
    h=str2num(t)+1;   %字符转整数
    t=int2str(h);
    yu3(i+1:)=strcat(‘H:\liuchanhg\angry\‘t‘.wav‘);
end 
for k=1:300;
%      lcvoiceE(k+2001)=3;
    [xfsbit]=wavread(yu3(k:));%读语音数据z(音频信号)数据放入了Xfs代表采样率,bit代表采样位数
    framelength=240;%设置帧长,%30ms under 8khz 
framenumber=fix(length(x)/(framelength));%总的数据帧数 
%d=0;%初始化,浊音波峰判断 
%R1=0;%初始化,浊音一个基音周期内帧数 
%计算每帧的能量 
for i=1:framenumber; 
   E3(i)=0;%短时能量初始化 
   for j=(framelength*(i-1)+1):framelength*i; 
       E3(i)=E3(i)+x(j)*x(j);  %第i帧短时能量 
   end 
   lcvoiceE(k+600i)=E3(i);
end 

% i=i+1;
% while(i<=372)
%     lcvoiceE(k+600i)=mean(E1);
%     i=i+1;
% end
%       lcvoice(k+200:)=[3 min(E) max(E) mean(E) median(E) std(E) max(Z) mean(Z) median(Z) std(Z) min(M) max(M) mean(M) median(M) std(M)];
      clear bit framelength framenumber fs i j x;
end



yu4(1:)=[‘H:\liuchanhg\neutral\201.wav‘];
for i=1:299
    t=yu4(i22:24);
    h=str2num(t)+1;   %字符转整数
    t=int2str(h);
    yu4(i+1:)=strcat(‘H:\liuchanhg\neutral\‘t‘.wav‘);
end 
for k=1:300;
%      lcvoiceE(k+3001)=4;
    [xfsbit]=wavread(yu4(k:));%读语音数据z(音频信号)数据放入了Xfs代表采样率,bit代表采样位数
    framelength=240;%设置帧长,%30ms under 8khz 
framenumber=fix(length(x)/(framelength));%总的数据帧数 
%d=0;%初始化,浊音波峰判断 
%R1=0;%初始化,浊音一个基音周期内帧数 
%计算每帧的能量 
for i=1:framenumber; 
   E4

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3692  2012-10-26 14:54  语音短时能量、平均幅度、平均过零率\E.m
     文件        3742  2012-10-26 14:29  语音短时能量、平均幅度、平均过零率\M.m
     文件        3866  2012-10-23 17:09  语音短时能量、平均幅度、平均过零率\Z.m
     目录           0  2013-02-28 15:09  语音短时能量、平均幅度、平均过零率\

评论

共有 条评论

相关资源