我是一名学生,几个月前刚接触信号处理。我为我的项目选择了“A Novel Fuzzy Approach to Speech Recognition”(你可以在谷歌上搜索可下载的版本)。
我在将训练数据转换为已通过 mel 过滤器的频谱图时有点卡住了。
我将它用于我的 mel-filterbank,当然稍作修改。
然后我编写了这个简单的代码来制作我的训练数据的频谱图:
p =25;
fl =0.0;
fh =0.5;
w ='hty';
[a,fs]=wavread('a.wav'); %you can simply record a sound and name it a.wav, other param will follows
n=length(a)+1;
fa=rfft(a);
xa=melbank_me(p,n,fs); %the mel-filterbank function
za=log(xa*abs(fa).^2);
ca=dct(za);
spectrogram(ca(:,1))
我得到的只是这样,不像纸上说的那样::
请让我知道我的代码或频谱图是正确的。如果是这样,我该怎么做才能使我的频谱图像纸上的一样?如果没有,请告诉我哪里错了
还有一个问题,FFT 的长度可以这么大吗?因为当我尝试降低它时,我的代码会出错。