用matlab处理声音绘制三维图象
各位高手:小弟初学乍练,希望用matlab 处理动物鸣声,画出声谱图,时域 频域图已经画出来了,可三维图象有诸多不明之处,应该就是语谱分析图吧?带灰度的。求助各位师兄师姐,给我指点指点,顺便帮我看看这个程序,万分感谢!
function sogram(Winsiz,Shift,Base,Mode,Gray);
Winsiz=2048; Shift=128; Base=0; Mode=0; Gray=64;
=wavread('d:\sound\11.wav');n=floor((length(Sg)-Winsiz)/Shift)+1;A=zeros(Winsiz/2+1,n);
for i=1:n
n1=(i-1)*Shift+1;n2=n1+(Winsiz-1); s=Sg(n1:n2); s=s.*hanning(Winsiz);
z=fft(s); z=z(1:(Winsiz/2)+1); z=z.*conj(z); z=10*log10(z);A(:,i)=z;
end
L0=(A>Base);L1=(A<Base); B=A.*L0+Base*L1; L=(B-Base)./(max(max(B))-Base);
y=*Fs/Winsiz; x=*Shift;
if Mode==1 colormap(‘default’); else
mymode=gray;mymode=mymode(Gray:-1:1,:);colormap(mymode);
end
imagesc(x,y,L);axis xy;
[ 本帖最后由 ChaChing 于 2010-5-9 14:43 编辑 ]
回复 #1 fenqing126 的帖子
你的程序乱的建议一行一个语句.
回复 #1 fenqing126 的帖子
运行不了无非是因为你的用法不对,或者程序本身有错误。还是老话,去置顶帖子里可以找到答案 且不说你的程序那么乱,就算很整齐,别人也根本帮不了你。建议先看看置顶帖,认真阅读
[ 本帖最后由 ChaChing 于 2010-5-9 14:48 编辑 ]
wav文件发给我
程序没问题,把你的wav文件发给我,我再调试一下。把你需要解决的问题说清楚。jarquineli@sina.com 整理老贴发现这个矛盾!
function sogram(Winsiz,Shift,Base,Mode,Gray);
Winsiz=2048; Shift=128; Base=0; Mode=0; Gray=64;
我想这是初学者常犯小错误
页:
[1]