我是一名学生,几个月前刚开始接受信号处理。我为我的项目选择了“语音识别的一种新型模糊方法”(您可以通过谷歌下载该版本)。MATLAB - 将训练数据转换为频谱图的难题
我有点卡在将训练数据转换成已通过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 coeffs的光谱图?计算mffc的最后一步是采用dct。你想用光谱图功能实现什么? –
实际上,我并不是说要把mfcc代码当成谱图,我想要做的就是在通过mel-filterbank之后拍摄我的声音样本的谱图,是我的代码错误吗? 我已经知道了。 我试图让我的示例语音作为模板,所以我可以基于模板I – cuprum
实现模糊化规则,我并不是说要将mfcc代码作为谱图,我想要做的是在通过mel-filterbank之后获取我的声音样本的声谱图,是我的代码错误吗? 我已经知道了。 我试图让我的示例语音作为模板,所以我可以根据我制作的模板制定模糊规则。就像纸。就这样。 – cuprum