“常用公式”在线计算,“设计手册”在线查询
clc,clear[x,fs,bits]=wavread('E:\Matlab\bin\12.wav');%程序读入2.wav音频文件,并将文件频率和位数分别返还fs值和bits值y=x(1:4096,1);%截取原语音信号的前4096点生成新的语音信号,因为在该段没有有用语音信息,所以认为是噪声信号Y=fft(y);         %噪声信号频谱magY=abs(Y);b=[];for i=0:126;n=4096;x1=x(1+n*i:n+n*i);X1=fft(x1);          %含噪信号频谱magX=abs(X1);S=(magX.^2-magY.^2);S1=abs(S).^0.5;s1=ifft(S1);    %相减后的幅值信息进行逆傅里叶变换a=s1';b=[b a];         %将每个增强后的语音连接起来endx2=b';plot(x2);sound(x2,fs,bits);wavwrite(x2,fs,'E:\Matlab\bin\13.wav');%将重新生成的增强后的语音信号以文件名3.wav保存在work文件夹下这个程序运行的错误是Index exceeds matrix dimensions.不知道该怎么修改,求指导
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 0 个关于本帖的回复 最后回复于 2013-5-28 13:05

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台