谱熵的端点检测门限
我用谱熵的方法进行端点检测,但是感觉判别门限设定的不对,该怎么设置呢,请各位高手帮忙附上端点检测部分的程序,请大家指点,不胜感激
%T1=0.1;
%T2=0.08;
maxsilence=2;
minlen=10;
%T1 = min(T1, max(H)/2);
%T2 = min(T2, max(H)/4);
T1 = /2;
T2 = max(H)/4;
status=0;
count=0;
silence=0;
%开始端点检测
x1 = 0;
x2 = 0;
xn=1;
for n=1:length(H) %xn记录连续语音中字的段数(几个字)
switch status
case {0,1} % 0 = 静音, 1 = 可能开始
if H(n) > T1 % 确信进入语音段
x1(xn) = max(n-count(xn)-1,1);
status= 2;
%silence(xn) = 0;
count(xn) = count(xn) + 1;
elseif H(n) > T2% 可能处于语音段
status = 1;
count(xn)= count(xn) + 1;
else % 静音状态
status= 0;
count(xn)= 0;
silence(xn)=0;
x1(xn)=0;
x2(xn)=0;
end
case 2, % 2 = 语音段
if H(n) > T2 % 保持在语音段
count(xn) = count(xn) + 1;
else % 语音将结束
silence(xn)= silence(xn) +1;
if silence(xn) < maxsilence % 静音还不够长,尚未结束
count(xn)= count(xn) + 1;
elseif count(xn) < minlen % 语音长度太短,认为是噪声
status= 0;
silence(xn)= 0;
else % 语音结束
status= 3;
end
end
case 3,
status= 0;
xn=xn+1;
count(xn)= 0;
silence(xn)=0;
x1(xn)=0;
x2(xn)=0;
end
end
回复 楼主 jhhxl 的帖子
没有人知道吗?帮帮我呀 看上面的程序,好像谱熵端点检测法只对语音信号的时域波形进行端点检测?不用分析其频谱吗?在仿真图中如何体现呀:@) ?
页:
[1]