语音端点检测,通常是指在有噪声或其他干扰的环境下分辨出音频信号流
中的语音信号和非语音信号,并确定语音信号的起始点和终止点,为后续
的信号处理提供必要的支持。但在实际应用中,由于噪声的引入、环境的
改变甚至是语音自身的性质都会导致端点检测的结果不准确,系统的识别
性能也不能得到保证。由于现实环境下没有完全纯净的语音信号,往往都
伴有噪声或其他干扰,通常会使端点检测性能显著地下降。由于实际应用
中的语音采集于不同的场景中,常常会混入不同类型的环境噪音,这增加
了语音端点检测的难度,并降低了语音端点检测的准确性。
系统展示了当前主要语音端点检测算法的检测性能。
fs=handles.fs;
IS=0.25; % 设置前导无话段长度
wlen=200; % 设置帧长为25ms
inc=80; % 求帧移
xx=xx-mean(xx); % 消除直流分量
x=xx/max(abs(xx)); % 幅值归一化
N=length(x); % 取信号长度
time=(0:N-1)/fs; % 设置时间
wnd=hamming(wlen); % 设置窗函数
overlap=wlen-inc; % 求重叠区长度
NIS=fix((IS*fs-wlen)/inc +1); % 求前导无话段帧数
y=enframe(x,wnd,inc)’; % 分帧
fn=size(y,2); % 求帧数
frameTime=frame2time(fn, wlen, inc, fs);% 计算各帧对应的时间
% BARK子带参数表
Fk=[50 20 100; 150 100 200; 250 200 300; 350 300 400; 450 400 510; 570