samer@0: % apow2melspec - arrow from power spectra to log mel spectra samer@0: % samer@0: % apow2melspec :: samer@0: % N:natural ~'size of FFT used to compute spectra', samer@0: % nonneg ~'sampling frequency', samer@0: % [[1,2]->freq] ~'upper and lower frequency limits', samer@0: % L:natural ~'number of mel bands to compute' samer@0: % -> arrow( {[[dftbins(N)]]}, {[[L]]}, empty). samer@0: samer@0: function o=apow2melspec(N,fs,flim,L) samer@0: melW = tri_filterbank_aa(melspace(flim(1),min(flim(2),fs/2),L+2),binmap(0,fs/2,dftbins(N))); samer@0: o=arr(@cc); samer@0: function y=cc(x), y = log(melW*x+5e-9); end samer@0: end