資源簡介
Matlab寫的一個基于譜熵算法的語音端點檢測方法的實現
代碼片段和文件信息
clear?all;
clc;
close?all
%基于自適應子帶頻譜熵的穩健性語音端點檢測
N=256%FFT變換的點數
Winsiz=256;%幀長
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‘語音信號處理加噪1.wav‘);
SNR=snr(x1xn)
%x=x+noise;
%x=x./max(x);
%xy=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(1
- 上一篇:DCT變換matlab實現
- 下一篇:IIR巴特沃斯低通濾波器源程序
評論
共有 條評論