資源簡(jiǎn)介
Matlab寫的一個(gè)基于譜熵算法的語(yǔ)音端點(diǎn)檢測(cè)方法的實(shí)現(xiàn)
代碼片段和文件信息
clear?all;
clc;
close?all
%基于自適應(yīng)子帶頻譜熵的穩(wěn)健性語(yǔ)音端點(diǎn)檢測(cè)
N=256%FFT變換的點(diǎn)數(shù)
Winsiz=256;%幀長(zhǎng)
Shift=128;%幀移
%[fnamepname]=uigetfile(‘*.wav‘‘Open?Wave?File‘);
%file=[pnamefname];
%[x1fsbits]=wavread(file);
[x1Fs]=wavread(‘04a‘);
%len=length(x);
%noise=0.001*rand(len1);
x1=x1(:1);
leng=length(x1);
[xnFS1]=wavread(‘white‘leng);
xn=2.5*xn;
x=x1+xn;
%wavwrite(xFSNBITS‘語(yǔ)音信號(hào)處理加噪1.wav‘);
SNR=snr(x1xn)
%x=x+noise;
%x=x./max(x);
%xy=x;
%?對(duì)信號(hào)做預(yù)加重處理
x=filter([1?-0.9375]?1?x);
nseg=floor((length(x)-Winsiz)/Shift)+1;
A=zeros(Winsiz/2+1nseg);
%下面循環(huán)是x信號(hào)的加窗處理并求出各點(diǎn)頻譜能量
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
%計(jì)算總能量
%Esum=zeros(1
評(píng)論
共有 條評(píng)論