哪位仁兄 仁姐 能帮我看看这个matlab程序出在哪了?怎么改?毕业设计进行中··急用··小弟谢过

哪位仁兄 仁姐 能帮我看看这个matlab程序出在哪了?怎么改?毕业设计进行中··急用··小弟谢过,第1张

你原程序有错误,我帮你小小修改了一下:

运行这个程序需要两个条件:

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('原始语音波形')

xlabel('样点数')ylabel('幅度')

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等软件,根据需求进行照片的裁剪、旋转、缩放等图片处理 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8107236.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存