mel2hz.m

来自「use the matlab tool to do the mel analys」· M 代码 · 共 31 行

M
31
字号
function f = mel2hz(z, htk)%   f = mel2hz(z, htk)%   Convert 'mel scale' frequencies into Hz%   Optional htk = 1 means use the HTK formula%   else use the formula from Slaney's mfcc.m% 2005-04-19 dpwe@ee.columbia.eduif nargin < 2  htk = 0;endif htk == 1  f = 700*(10.^(z/2595)-1);else    f_0 = 0; % 133.33333;  f_sp = 200/3; % 66.66667;  brkfrq = 1000;  brkpt  = (brkfrq - f_0)/f_sp;  % starting mel value for log region  logstep = exp(log(6.4)/27); % the magic 1.0711703 which is the ratio needed to get from 1000 Hz to 6400 Hz in 27 steps, and is *almost* the ratio between 1000 Hz and the preceding linear filter center at 933.33333 Hz (actually 1000/933.33333 = 1.07142857142857 and  exp(log(6.4)/27) = 1.07117028749447)  linpts = (z < brkpt);  f = 0*z;  % fill in parts separately  f(linpts) = f_0 + f_sp*z(linpts);  f(~linpts) = brkfrq*exp(log(logstep)*(z(~linpts)-brkpt));end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?