[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Frequency dependecy of sound localization



Hi Junfeng,

I have recently been working on something similar-ish, using coefficients derived from Ben Supper’s thesis: http://www.supperware.net/supper_thesis.pdf (p.88–92). His work, in turn, is derived from:

Wightman, Frederic L. and Kistler, Doris J.: The dominant role of low‐frequency interaural time differences in sound localisation, The Journal of the Acoustical Society of America, 91, 1648-1661 (1992), DOI:http://dx.doi.org/10.1121/1.402445

I include some Matlab code below.

Chris

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [w_itd,w_ild] = dup_weight(f)
% Calculate duplex weighting coefficients for ITD and ILD
% 
%   [w_itd,w_ild] = dup_weight(f)
% 
%   The function returns the weighting coefficients for ITD
%   w_itd and ILD w_ild for frequency f (Hz).
% 
%   The function is derived from Ben Supper's thesis "An
%   onset-guided spatial analyser for binaural audio", with
%   some necessary modifications. Specifically, his work
%   accounts for the ITD dominance condition. This function
%   does not, as this cannot be derived from the work, since
%   the work assumes an upper frequency limit of 13750 Hz
%   (which cannot be assumed in this function). The
%   quadratic ramp in ITD weighting is approximated
%   linearly here.
% 
%   The input f may be an array of any size. The outputs
%   will be the same size as f, with coefficients calculated
%   for each element.

% !---
% ==========================================================
% Last changed:     $Date: 2013-05-30 16:51:15 +0100 (Thu, 30 May 2013) $
% Last committed:   $Revision: 247 $
% Last changed by:  $Author: ch0022 $
% ==========================================================
% !---

%% Check input

assert(all(f(:)>=0),'f should be greater than or equal to zero!')

if any(f(:)>20000)
    warning(['Humans cannot generally hear above 20 kHz. Data may be inaccurate.']) %#ok<WNTAG>
end

%% Calculate original weights using Ben's numbers

% Frequency scale in Ben's thesis
freq_scale = [60 150 250 350 455 570 700 845 1000 1175 ...
    1375 1600 1860 2160 2510 2925 3425 4050 4850 5850 ...
    7050 8600 10750 13750];

% Corresponding bin numbers
b = 1:24;

% frequency ranges (indices)
low = b<=8; % below cross-over region
mid = b>8 & b<14; % cross-over region
high = b>=14; % above cross-over region

% pre-allocate outputs
w_itd_orig = zeros(size(freq_scale));
w_ild_orig = zeros(size(freq_scale));

% Do maths
w_itd_orig(low) = 1.597-(0.047*b(low));
w_itd_orig(mid) = (0.0102.*(b(mid).^2))-(0.437.*b(mid))+4.06;
w_itd_orig(high) = 0.11;
%
w_ild_orig(low) = 0.2;
w_ild_orig(mid) = (0.152.*b(mid))-1.016;
w_ild_orig(high) = 0.96;

%% Calculate weights for input frequencies

% ...via interpolation
w_itd = interp1(freq_scale,w_itd_orig,f,'pchip','extrap');
w_ild = interp1(freq_scale,w_ild_orig,f,'pchip','extrap');

% [EOF]


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

On 3 Apr 2014, at 10:03, Li Junfeng <junfeng@xxxxxxxxxxx> wrote:

> Dear all, 
> 
> 
> As all of you may know, human sound localization is a quite complex procedure and highly dependent on the ITD, ILD, spectral cues and others. All these cues are encoded in HRTF. Many previous studies have shown that for horizontal sound localization, ITD play a important role in the low frequencies and ILD is dominant cue in the high frequencies; for vertical sound localization, spectral cues in the high frequencies are normally important. Thess are already known knowledge. 
> 
> From the previous research results, I beleive that different frequencies should contribute differently to horizontal and vertical sound localization. Furthermore, I am now wondering how we can quantify this difference, that is, is there a quantitative way to describe the different contribution of different frequencies to sound localization. (As you may know, in speech perception field, the band-importance functions quantify the contribution of different frequencies to speech intelligibility). I am also looking for the frequency/band-imporance functions which describe the contribution of different frequencies to human sound localization. 
> 
> Does anyone know some work on this research to recommend or some ideas to share?
> 
> I would like to appreciate any discussions and references very much.
> 
> Thanks a lot.
> 
> Best regards,
> Junfeng