| 查看: 1005 | 回复: 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 ] |
» 猜你喜欢
面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇!
已经有27人回复
8月时间戳变的,举个手。玩一下,释放压力
已经有4人回复
UV压敏胶开发
已经有6人回复
有没有H口的?有收到消息的吗?
已经有3人回复
十年后又回来了,论文投稿求助
已经有3人回复
纯娱乐,不喜欢勿喷
已经有10人回复
面上提前没消息,有中的吗
已经有18人回复
娱乐
已经有4人回复
系统今天又提示维护了,估计离放榜不远了
已经有16人回复
一个有机合成实验室都需要哪些设备?
已经有10人回复










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