facebookresearch / rlr-audio-propagation

Audio propagation engine - Meta Reality Labs Research.
Other
16 stars 5 forks source link

Questions about HRTFs #10

Open auroracramer opened 2 years ago

auroracramer commented 2 years ago

What are the HRTFs used in this module? Would it be possible to make those available?

Additionally, are there any plans to allow for other HRTFs to be used instead of the default? I imagine you could request for ambisonics output and apply an HRTF manually, but it would be nice for the module to provide that functionality.

carlschisslerfb commented 2 years ago

The HRTF used is the same as the one used in the Oculus Audio SDK, which is itself an equalized version of one of the CIPIC HRTFs.

It's technically possible to load other HRTFs, but this feature is not exposed in the public API. What format would be preferred (SOFA?)? It would not be that difficult to add an API for this.

auroracramer commented 2 years ago

The HRTF used is the same as the one used in the Oculus Audio SDK, which is itself an equalized version of one of the CIPIC HRTFs.

Great, thanks for clarifying! Would it be possible to specify which CIPIC HRTF is used and what equalization method is used? It seems like the HRTF is baked into the binaries in the Audio SDK, but I'd like to use the same HRTF for spatializing other audio. If that's not possible, is there a Linux build of the Oculus Spatializer VST available somewhere I could use instead?

It's technically possible to load other HRTFs, but this feature is not exposed in the public API. What format would be preferred (SOFA?)? It would not be that difficult to add an API for this.

That would be great! SOFA seems like a good choice. Thanks for considering this. :)

carlschisslerfb commented 2 years ago

Would it be possible to specify which CIPIC HRTF is used and what equalization method is used?

It is CIPIC subject 048, with the left hemisphere mirrored onto the right side. The HRTF is minimum phase with separate delays, and has been equalized using a "max normalization", where each FFT frequency is scaled so that the maximum magnitude for any direction is 0dB.