⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subspectrum.m

📁 用matlab编的语音增强的一个程序
💻 M
字号:
function y=subspectrum(x,n)
%this function complete speech enhancement with frequence  subtract;
a=3;
b=2;
%[y,fs,bit]=wavread('g:\s.wav');

sample=n;

snr1=snr_count(x,sample);
Noise=b*prepower(x,15,sample,a)
%W=boxcar(160);
siz=length(x);
N=ceil(siz/sample);

for n=1:sample:N*sample,
   for j=1:sample,
      if(siz(1)-n-j<0),
         z(j)=0;
      else 
         z(j)=x(n+j-1);
      end;  
     
   end;
   %傅立叶变换
   X=fft(z,sample);
   %求相位:
   phase=angle(X);
     
   Y=sum2(X,a);
   S=max((Y-Noise),0.005);
   S=S.^(1/a);
   for k=1:sample,
      S(k)=S(k)*exp(i*phase(k));
   end;
   
   s(n:n+sample-1)=ifft(S,sample);
end;
snr2=snr_count(s,sample);
%wavwrite(s,fs,bit,'g:\11.wav');
 db=snr2-snr1  
 y=s;
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -