【发布时间】:2011-09-19 17:18:57
【问题描述】:
我是一名学生,几个月前刚接触信号处理。我为我的项目选择了“A Novel Fuzzy Approach to Speech Recognition”(您可以在 Google 上搜索可下载的版本)。
我在将训练数据转换为已通过 mel 过滤器的频谱图时有点卡住了。
我将this 用于我的 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 的长度可以这么长吗? 因为当我尝试降低它时,我的代码会出错。
【问题讨论】:
-
你为什么要获取 mfcc 系数的频谱图?计算 mffc 的最后一步是获取 dct。你想用频谱图功能实现什么?
-
其实我不是要把mfcc的代码当成谱图,我要做的就是把我的语音样本通过mel-filterbank后的谱图,我的代码错了吗?我已经 dct 了。我正在尝试将我的样本语音作为模板,这样我就可以根据我的模板制作模糊化规则
-
其实我不是要把mfcc的代码当成谱图,我要做的就是把我的语音样本通过mel-filterbank后的谱图,我的代码错了吗?我已经 dct 了。我正在尝试将我的样本语音作为模板,这样我就可以根据我制作的模板制定模糊化规则。就像纸一样。就是这样。
标签: signal-processing fft dct spectrogram