fenqing126 发表于 2007-12-17 22:49

用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 编辑 ]

sigma665 发表于 2007-12-19 17:01

回复 #1 fenqing126 的帖子

你的程序乱的
建议一行一个语句.

花如月 发表于 2007-12-19 17:11

回复 #1 fenqing126 的帖子

运行不了无非是因为你的用法不对,或者程序本身有错误。

还是老话,去置顶帖子里可以找到答案

eight 发表于 2007-12-19 17:20

且不说你的程序那么乱,就算很整齐,别人也根本帮不了你。建议先看看置顶帖,认真阅读

[ 本帖最后由 ChaChing 于 2010-5-9 14:48 编辑 ]

jarquine 发表于 2007-12-19 17:33

wav文件发给我

程序没问题,把你的wav文件发给我,我再调试一下。把你需要解决的问题说清楚。
jarquineli@sina.com

ChaChing 发表于 2010-5-9 14:47

整理老贴发现这个矛盾!
function sogram(Winsiz,Shift,Base,Mode,Gray);
Winsiz=2048; Shift=128; Base=0; Mode=0; Gray=64;
我想这是初学者常犯小错误
页: [1]
查看完整版本: 用matlab处理声音绘制三维图象