?? endpointdetectionbandvariance.txt
字號:
clear all;
clc;
%基于頻譜方差的語音端點檢測
N=256;%
Winsiz=256;%幀長
Shift=80;%幀移
[x,Fs]=wavread('jnda1.wav');
x=double(x);
%對信號做預加重處理
x=filter([1 -0.9375], 1, x);
x=5*(x-mean(x));
nseg=floor((length(x)-Winsiz)/Shift)+1;
A=zeros(Winsiz/2,nseg);
%下面循環是x信號的加窗處理并求出各點頻譜能量
for i=1:nseg
n1=(i-1)*Shift+1;n2=n1+(Winsiz-1);
xx=x(n1:n2);xx=xx.*hamming(Winsiz);
y=fft(xx,N);
y=y(1:Winsiz/2);
A(:,i)=abs(y);
end
%設閥值
d=0;
d=var(A(:,1))+eps;
M=3*d;
%利用頻帶進行端點檢測
D=zeros(nseg,1);D1=zeros(nseg,1);
for i=1:nseg
D(i)=var(A(:,i))+eps;
if D(i)<=M
D1(i)=d/5;
else
D1(i)=2*D(i);
end
end
subplot(211),plot(x);
subplot(212),plot(D1);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -