运行这个程序需要两个条件:
1、C盘下有test.wav这个文件;
2、这个文件是双声道录制的音频文件,如果是单声道的则将"speech=speech(:,1)"删除。
clear all
[speech,fs,nbits]=wavread('c:\test.wav')
speech=speech(:,1)
winsize=256
n=0.04
size=length(speech)
numofwin=floor(size/winsize)
ham=hamming(winsize)'
hamwin=zeros(1,size)
enhanced=zeros(1,size)
x=speech'+n*randn(1,size)
noisy=n*randn(1,winsize)
N=fft(noisy)
nmag=abs(N)
for q=1:2*numofwin-1
frame=x(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)
hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=...
hamwin(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+ham
y=fft(frame.*ham)
mag=abs(y)
phase=angle(y)
for i=1:winsize
if mag(i)-nmag(i)>0
clean(i)=mag(i)-nmag(i)
else
clean(i)=0
end
end
spectral=clean.*exp(j*phase)
enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)=...
enhanced(1+(q-1)*winsize/2:winsize+(q-1)*winsize/2)+real(ifft(spectral))
end
for i=1:size
if hamwin(i)==0
enhanced(i)=0
else
enhanced(i)=enhanced(i)/hamwin(i)
end
end
SNR1=10*log10(var(speech')/var(noisy))
SNR2=10*log10(var(speech')/var(enhanced-speech'))
wavwrite(x,fs,nbits,'noisy.wav')
wavwrite(enhanced,fs,nbits,'enhanced.wav')
figure(1)
subplot(3,1,1)plot(speech')
title('原始语音波形')
axis([0 2.5*10^4 -0.3 0.3])
subplot(3,1,2)plot(x)
title('加噪语音波形')
xlabel('样点数')ylabel('幅度')
axis([0 2.5*10^4 -0.3 0.3])
subplot(3,1,3)plot(enhanced)
title('增强语音波形')
xlabel('样点数')ylabel('幅度')axis([0 2.5*10^4- 0.3 0.3])
辽宁高校毕业生线上采集小程序使用图片编辑器改照片。根据查询相关公开信息显示,使用图片编辑器来更改照片,比如Photoshop、GIMP等软件,根据需求进行照片的裁剪、旋转、缩放等图片处理 *** 作。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)