Matlab语音信号处理程序-f11.m

上传者: 39840588 | 上传时间: 2022-03-30 21:15:37 | 文件大小: 2KB | 文件类型: -
Matlab语音信号处理程序-f11.m
可以对语音信号的单个字,词进行频率及过零率分析

clc
[filename,pathname]=uigetfile;
[x,Fs]=wavread;
%幅度归一化到[-1,1]
x = double;
x = x / max);
%常数设置
FrameLen = 240;
FrameInc = 80;
amp1 = 10;
amp2 = 2;
zcr1 = 10;
zcr2 = 5;
maxsilence = 3;  % 6*10ms  = 30ms
minlen  = 15;    % 15*10ms = 150ms
status  = 0;
count   = 0;
silence = 0;
%计算过零率
tmp1  = enframe, FrameLen, FrameInc);
tmp2  = enframe  , FrameLen, FrameInc);
signs = 0.02;
zcr   = sum;
%计算短时能量
amp = sum, FrameLen, FrameInc)), 2);
%调整能量门限
amp1 = min/4);
amp2 = min/8);
%开始端点检测
x1 = 0;
x2 = 0;
x3=0;
x4=0;
for n=1:length
   goto = 0;
   switch status
   case {0,1}                   % 0 = 静音, 1 = 可能开始
      if amp > amp1          % 确信进入语音段
         x1 = max;
         status  = 2;
         silence = 0;
         count   = count 1;
      elseif amp > amp2 | ... % 可能处于语音段
             zcr > zcr2
         status = 1;
         count  = count 1;
      else                       % 静音状态
         status  = 0;
         count   = 0;
      end
   case 2,                       % 2 = 语音段
      if amp > amp2 | ...     % 保持在语音段
         zcr > zcr2
         count = count 1;
      else                       % 语音将结束
         silence = silence 1;
         if silence < maxsilence % 静音还不够长,尚未结束
            count  = count 1;
         elseif count < minlen   % 语音长度太短,认为是噪声
            status  = 0;
            silence = 0;
            count   = 0;
         else                    % 语音结束
            status  = 3;
         end
      end
   case 3,
      break;
   end
end   
count = count-silence/2;
x2 = x1 count -1;

subplot
plot
axis -1 1])
ylabel;
line;
line;

subplot
plot;
axis 0 max])
ylabel;
line,max], 'Color', 'red');
line,max], 'Color', 'red');

subplot
plot;
axis 0 max])
ylabel;
line,max], 'Color', 'red');
line,max], 'Color', 'red');

复制代码

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明