converts frequency to bark > > @param fInHz: frequency > @param cModel: 'Schroeder','Terhardt', 'Zwicker', or 'Traunmuller' > > @retval bark value ======================================================================
0001 %converts frequency to bark 0002 %> 0003 %> @param fInHz: frequency 0004 %> @param cModel: 'Schroeder','Terhardt', 'Zwicker', or 'Traunmuller' 0005 %> 0006 %> @retval bark value 0007 % ====================================================================== 0008 function [bark] = ToolFreq2Bark(fInHz, cModel) 0009 0010 if (nargin < 2) 0011 cModel = 'Schroeder'; 0012 end 0013 0014 % set function handle 0015 hPitchFunc = str2func (['aca' cModel '_I']); 0016 0017 bark = hPitchFunc(fInHz); 0018 end 0019 0020 function [bark] = acaSchroeder_I(f) 0021 bark = 7 * asinh(f/650); 0022 end 0023 0024 function [bark] = acaTerhardt_I(f) 0025 bark = 13.3 * atan(0.75 * f/1000); 0026 end 0027 0028 function [bark] = acaZwicker_I(f) 0029 bark = 13 * atan(0.76 * f/1000) + 3.5 * atan(f/7500); 0030 end 0031 0032 function [bark] = acaTraunmuller_I(f) 0033 bark = 26.81/(1+1960./f) - 0.53; 0034 end