[openal] HRTF functions raw or diffuse field equalized?
dejay at r3z.me
Fri Mar 21 19:53:24 EDT 2014
Cool! Thank you for the explanation! :)
On 21.03.2014 23:37, Chris Robinson wrote:
> On 03/21/2014 06:13 AM, Dejay wrote:
>> the def files for make_hrtf all contain references to the raw impulse
>> response files.
>> Shouldn't the "diffuse-field equalized HRTFs" be used instead? From what
>> (little) I understand they try to remove the influence of the recording
>> and speaker equipment from the HRTF. Isn't that a good thing?
> The makehrtf utility actually does its own diffuse-field equalization
> when processing the samples (the -e option, defaults to on).
>> Looking at them in a wave file editor, they all seem to be rather
>> shorter (almost clipped) and "less delayed".
> OpenAL Soft uses minimum-phase reduced HRTF sets. Basically that means
> it removes the silence from the front of the coefficients (i.e. the
> coefficients at the start that are at or near 0) and clips off the
> silence at the end, taking the part that actually has an effect on the
> resulting sample value, and handles the delay separately as an offset
> in the input sample history (based on the amount of front silence in
> the original coefficients).
> So instead of applying 128 coefficients, of which 3/4ths are silence,
> it offsets the input sample history based on the original delay and
> applies the 32 coefficients that actually matter. So that's 75% fewer
> multiply-add operations per output sample per source. The performance
> benefit when you have dozens of sources all mixing with HRTF is
> readily apparent, even when using SSE or Neon.
> openal mailing list
> openal at openal.org
More information about the openal