>> y=audioread('D:\FFOutput\rainbow.wav');
>> Fs=48000;
>> t=(0:length(y)-1)/Fs;
>> yf=fft(y);
>> n=0:length(yf)-1;
>> f=Fs*n/length(yf);
>> figure(1)
>> range1=[0,10000,0,2000];
>> range2=[0,5.5,-1.5,1.5];
>> subplot(211),plot(t,y);axis(range2);grid
>> title('The original wave signal y');
>> xlabel('time(s)');
>> ylabel('Amplitude');
>> subplot(212),plot(f,abs(yf));axis(range1);grid
>> title('The original wave signal y');
>> xlabel('frequency(Hz)');
>> ylabel('Magnitude');
>> %%%% lowpass digital filter FIR %%%%%%
>> Fpass = 200; % Passband Frequency
>> Fstop = 250; % Stopband Frequency
>> Dpass = 0.057501127785; % Passband Ripple
>> Dstop = 0.0001; % Stopband Attenuation
>> dens = 20; % Density Factor
>> [N1, Fo, Ao, W]=firpmord([Fpass,Fstop]/(Fs/2),[1 0],[Dpass,Dstop]);
>> b = firpm(N1, Fo, Ao, W, {dens});
>> %%%% let original signal pass the filter %%%%%
>> y1=filter(b,1,y);
>> y1f=fft(y1);
>> figure(2)
>> subplot(211),plot(t,y1);axis(range2);grid
>> title('The signal after throughing a lowpass filter y1');
>> xlabel('time(s)');
>> ylabel('Amplitude');
>> subplot(212),plot(f,abs(y1f));axis(range1);grid
>> title('The signal after throughing a lowpass filter y1');
>> xlabel('frequency(Hz)');
>> ylabel('Magnitude');
>> %%%% highpass digital filter FIR %%%%%
>> Fstop = 8000; % Stopband Frequency
>> Fpass = 8500; % Passband Frequency
>> Dstop = 0.0001; % Stopband Attenuation
>> Dpass = 0.017267671642; % Passband Ripple
>> dens = 20; % Density Factor
>> [N2, Fo, Ao, W] = firpmord([Fstop,Fpass]/(Fs/2),[0 1],[Dstop,Dpass]);
>> a = firpm(N2, Fo, Ao, W, {dens});
>> %%%% let original signal pass the filter %%%%
>> y2=filter(a,1,y);
>> y2f=fft(y2);
>> figure(3)
>> subplot(211),plot(t,y2);axis(range2);grid
>> title('The signal after throughing a highpass filter y2');
>> xlabel('time(s)');
>> ylabel('Amplitude');
>> subplot(212),plot(f,abs(y2f));axis(range1);grid
>> title('The signal after throughing a highpass filter y2');
>> xlabel('frequency(Hz)');
>> ylabel('Magnitude');
>> %%%%% Mix two signal %%%%%
>> A=2; % amplify times
>> Y=A*(y1+y2);
>> Yf=fft(Y);
>> n=0:length(Yf)-1;
>> f=Fs*n/length(Yf);
>> figure(4)
>> subplot(211),plot(t,Y);axis(range2);grid
>> title('The handled signal Y');
>> xlabel('time(s)');
>> ylabel('Amplitude');
>> subplot(212),plot(f,abs(Yf));axis(range1);grid
>> title('The handled signal Y');
>> xlabel('frequency(Hz)');
>> ylabel('Magnitude');
>> %%%%%% Output the instrumental wave signal %%%%%%
>> % wavplay(Y,Fs);
>> audiowrite('rainbow(instrumental).wav',Y,Fs);
voice_separation.zip_人声消除_消除人声_音乐 人声_音乐人声
版权申诉
89 浏览量
2022-07-15
06:52:24
上传
评论 1
收藏 2KB ZIP 举报
JaniceLu
- 粉丝: 76
- 资源: 1万+
最新资源
- STM32单片机FPGA毕设电路原理论文报告位标器动平衡测试系统中相位测量的实现
- STM32单片机FPGA毕设电路原理论文报告卫星天线的单片机快速对星系统
- STM32单片机FPGA毕设电路原理论文报告微型机与单片机串行通信的实现
- 戴尔Windowshello驱动程序
- STM32单片机FPGA毕设电路原理论文报告微型机单片机两级温度控制系统
- STM32单片机FPGA毕设电路原理论文报告微型地图里程测量仪的研制
- STM32单片机FPGA毕设电路原理论文报告微弱生理信号在多通道数据采集系统中的研究与实现
- 易打标-专业版-条码标签打印软件
- STM32单片机FPGA毕设电路原理论文报告微机原理与单片机课程体系改革
- STM32单片机FPGA毕设电路原理论文报告微机控制晶闸管投切电容器无功补偿装置
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0