| 查看: 939 | 回复: 0 | ||
[求助]
提取Mfcc特征参数的时候,Mel频率滤波器组的程序也看不懂啊?求大神指教
|
|
function m = melfb(p, n, fs) % MELFB Determine matrix for a mel-spaced filterbank % Inputs: p number of filters in filterbank 滤波器数 % n length of fft FFT变换的点数 % fs sample rate in Hz 采样频率 % Outputs: x a (sparse) matrix containing the filterbank amplitudes % size(x) = [p, 1+floor(n/2)] % Usage: For example, to compute the mel-scale spectrum of a % colum-vector signal s, with length n and sample rate fs: % % f = fft(s); % m = melfb(p, n, fs); % n2 = 1 + floor(n/2); % z = m * abs(f(1:n2)).^2; % % z would contain p samples of the desired mel-scale spectrum % % To plot filterbanks e.g.: % % plot(linspace(0, (12500/2), 129), melfb(20, 256, 12500)\'), % title(\'Mel-spaced filterbank\'), xlabel(\'Frequency (Hz)\'); f0 = 700 / fs; fn2 = floor(n/2); lr = log(1 + 0.5/f0) / (p+1); % convert to fft bin numbers with 0 for DC term bl = n * (f0 * (exp([0 1 p p+1] * lr) - 1)); 为什么是【0,1,p,p+1】p+1? b1 = floor(bl(1)) + 1; b2 = ceil(bl(2)); %朝正无穷方向取整 b3 = floor(bl(3)); b4 = min(fn2, ceil(bl(4))) - 1; pf = log(1 + (b1:b4)/n/f0) / lr; fp = floor(pf); pm = pf - fp; r = [fp(b2:b4) 1+fp(1:b3)]; c = [b2:b4 1:b3] + 1; v = 2 * [1-pm(b2:b4) pm(1:b3)]; m = sparse(r, c, v, p, 1+fn2); %由向量r,c,v 生成一个p*(1+fn2),且最多含有length(v)个元素的稀疏矩阵 最后一句是为什么啊? [ Last edited by wfyuhaibo on 2015-6-8 at 19:51 ] |
» 猜你喜欢
计算机、0854电子信息(085401-058412)调剂
已经有4人回复
基金申报
已经有3人回复
国自然申请面上模板最新2026版出了吗?
已经有9人回复
溴的反应液脱色
已经有6人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
推荐一本书
已经有10人回复
参与限项
已经有5人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复












回复此楼
点击这里搜索更多相关资源