[openal] Enabling HRTF

Richard Furse richard at blueripplesound.com
Fri Dec 5 04:33:46 EST 2014


Interesting. 

Rapture3D currently handles this by allowing the HRTF to be changed in an external GUI while the game is running. This avoids the game having to add menus itself, but is a bit clunky. 

Beyond that, we've wondered about adding some options to alcCreateContext(). I'm not familiar with alcDeviceReset().

Best wishes,

--Richard

> On 5 Dec 2014, at 04:08, Chris Robinson <chris.kcat at gmail.com> wrote:
> 
>> On 12/02/2014 10:57 PM, developer at oldunreal.com wrote:
>> Great its taken care about this. For now I think its a real mess to only
>> find out how to enable it and to put some config file into %appdata%
>> without having a chance to check out (or better to log it) if its
>> enabled and working or not is kinda annoying, for now I just can rely on
>> my ears and I am not really used to hear with headphones.
>> 
>> For me
>> ALCint attribs[] = { ALC_HRTF_SOFT, enable, 0 };
>> context = alcCreateContext(device, attribs);
>> 
>> would be already sufficient, however,
>> void alcDeviceReset(ALCdevice *device, const ALCint *attribs);
>> 
>> this method would be real sexy.
> 
> alcDeviceReset does seem to be the best-looking solution. Richard, do you have any thoughts on this? How would you prefer to make an option for allowing apps to request HRTF rendering? Would an ALC_HRTF (or ALC_HRTF_RENDERING or some other name) boolean device attribute, settable via alcCreateContext and a new alcDeviceReset function, work for you?
> 
>> What license do these mhr files have anyway?
> 
> The mhr files are derived from the MIT KEMAR measurements, which specifies:
> "This data is Copyright 1994 by the MIT Media Laboratory.  It is provided free with no restrictions on use, provided the authors are cited when the data is used in any research or commercial application."
> <http://sound.media.mit.edu/resources/KEMAR/README>
> 
> So if they're distributed as part of a commercial app, you just need to cite them somewhere.
> 
> I've considered switching the default set to one of the IRCAM measurements:
> <http://recherche.ircam.fr/equipes/salles/listen/>
> which appear to be public domain according to the info listings. Trouble is, they provide over 50 different measurements, and I wouldn't know which to pick as the default. I could perhaps make an average of all the measurements, but I can't say what the result will be like with all the averaging and blending the coefficients will end up going through (average 50+ data sets together, average the left and right ears, and then bilinear interpolate the four nearest coefficients for a given direction). It may just be better to pick an average-height and average-hair one pure as the default.


More information about the openal mailing list