• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: vad  matlab  

资源简介

matlab语音检测代码。采用能量和过零率的方法,和教科书上的方法一样。

资源截图

代码片段和文件信息

clear all;
clc;
%基于自适应子带频谱熵的稳健性语音端点检测
N=256;%
Winsiz=256;%帧长
Shift=128;%帧移
[xFs]=wavread(‘8a.wav‘);
x=double(x);
%对信号做预加重处理
x=filter([1 -0.9375] 1 x);

nseg=floor((length(x)-Winsiz)/Shift)+1;
A=zeros(Winsiz/2+1nseg);

%下面循环是x信号的加窗处理并求出各点频谱能量
for i=1:nseg
    n1=(i-1)*Shift+1;n2=n1+(Winsiz-1);
    xx=x(n1:n2);xx=xx.*hamming(Winsiz);
    y=fft(xxN);
    y=y(1:Winsiz/2+1);
    y=y.*conj(y);
    A(:i)=y;
end
%计算总能量
Esum=zeros(1nseg);
for i=1:nseg
    for j=1:Winsiz/2
        Esum(i)=Esum(i)+A(ji);
    end
end 
%下面是计算每一帧的谱的能量
for i=1:nseg
    for n=1:Winsiz/2
        E(ni)=A(ni);
    end
end   
%下面是计算每帧中每个样本点的概率分布
for i=1:nseg
    for n=1:Winsiz/2
      P(ni)=E(ni)/Esum(i);  
    end
end
%下面是计算每一帧的谱熵值
H=zeros(1nseg);
for i=1:nseg
    for

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1637  2009-11-19 19:32  自适应语音端点检测(VAD).m

     文件       4207  2009-08-10 16:28  端点检测.txt

----------- ---------  ---------- -----  ----

                 5844                    2


评论

共有 条评论