📄 thhecheng.m
字号:
[w,fs,bits]=wavread('ding.wav'); % 读入声音文件(*.wav)
disp('按任意键听原始声音');
pause
sound(w,fs,bits); % 数据通过声卡转换为声音
subplot(211);plot(w(:,1));
%subplot(212);plot(w(:,2));
u=w(:,1);
length(u)/1024
z=zeros(20,1024);
for i=1:19;
z(i,:)=(fft(u(1024*(i-1)+1:1024*i),1024))';
end
z(20,:)=fft(u(1024*19+1:length(u)),1024)';
[x,y]=meshgrid(1:20,1:200);
disp('按任意键听左声道声音');
pause
sound(u,fs,bits);
figure
subplot(211);plot3(x,y,abs(z(:,1:200)'));
v=w(:,2);
length(v)/1024;
z2=zeros(20,1024);
for i=1:19;
z2(i,:)=(fft(v(1024*(i-1)+1:1024*i),1024))';
end
z2(20,:)=fft(v(1024*19+1:length(u)),1024)';
[x,y]=meshgrid(1:20,1:200);
subplot(212);plot3(x,y,abs(z2(:,1:200)'));
disp('按任意键听右声道声音');
pause
sound(v,fs,bits);
[m,i]=max(abs(z(:,1:200)'))
[m2,i2]=max(abs(z(:,100:200)'))
[m3,i3]=max(abs(z(:,800:1024)'))
[m4,i4]=max(abs(z(:,900:1024)'))
i2=i2+100;
i3=i3+800;
i4=i4+900;
t=[1:1024]*fs;
for j=1:20;
%u(1024*j-1023:1024*j)=m(j)*sin(i(j)/1024*fs*t)+m2(j)*sin(i2(j)/1024*fs*t);
ut(1024*j-1023:1024*j)=m(j)*sin(i(j)/1024*fs*t)+m2(j)*sin(i2(j)/1024*fs*t)+m3(j)*sin(i3(j)/1024*fs*t)+m4(j)*sin(i4(j)/1024*fs*t);
end
figure
subplot(211);plot(u);
subplot(212);plot(ut)
u=u/35;
figure
subplot(311);plot(u(1:2:length(u)));
disp('按任意键听简单合成声音');
pause
sound(u,fs,bits);
for j=2:20;
u2(1024*j-1023:1024*j)=linspace(m(j-1),m(j),1024).*sin(i2(j)/1024*fs*t);
end
u2=u2/35;
subplot(312)
plot(u2(1:2:length(u2)));
disp('按任意键听线性插值合成道声音');
pause
sound(u2,fs,bits);
for j=2:20;
u3(1024*j-1023:1024*j)=fliplr(real(ifft(z(j,:),1024)));
end
%u3=u3/35
subplot(313)
plot(u3(1:2:length(u3)));
disp('按任意键听付立业反变换道声音');
pause
sound(u3,fs,bits);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -