[openal] HRTF sound coloring
support at blindaudiogames.com
Sat Feb 4 17:35:52 EST 2017
Thanks Chris, for your thorough response.
Our sound designer may be responding soon with some of his own
quote: It's done that way to prevent listening fatigue from having a
sound seem to come from the center of your own head, or missing the
expected crossfeed (as happens with plain unfiltered sound playing
directly on headphones).
Our sound designer feels this makes the sound feel compressed, or that
it is missing some frequencies.
He notices it most with voice acted dialogue, as in the example we shared.
It sounds like the AL_SOFT_direct_channels extension and converting
these mono sounds to stereo might be the path we need to follow.
Is there a simple algorithm I can use to convert mono to stereo as the
buffers are loaded?
Maybe just this?
L = M/2
R = M/2
Thanks again for your help.
On 2/4/2017 12:52 PM, Chris Robinson wrote:
> On 02/04/2017 08:45 AM, Ian Reed wrote:
>> Hi Chris,
>> We are using OpenAL Soft 1.17.2.
>> Our sound designer noticed some coloring of sounds when playing them
>> with HRTF enabled and source relative set to true.
>> Is having HRTF enabled supposed to affect sounds played with source
>> relative set to true and no panning applied?
> Yes. When using headphones/HRTF, the filters are applied even if it's
> relative and "unpanned" (centered with no distance attenuation), so
> that it still sounds like it's coming from right in front of you. It's
> done that way to prevent listening fatigue from having a sound seem to
> come from the center of your own head, or missing the expected
> crossfeed (as happens with plain unfiltered sound playing directly on
> For stereo sounds it pans the left and right channels to -/+30
> degrees, so with HRTF it basically creates the same perception as for
> someone listening on speakers with the expected 60-degree separation.
> It will also be affected by the AL_EXT_STEREO_ANGLES extension,
> allowing you to "pan", flip, widen, or shrink a stereo sound image
> horizontally around the listener. Mono sounds play directly in front
> at 0 degrees, simulating a front-center speaker.
>  https://icculus.org/alextreg/wiki/AL_EXT_STEREO_ANGLES
>> We don't mind some coloring when the sounds are positioned in 3D,
>> obviously HRTF is supposed to change how they sound.
>> But we want to play some sounds exactly as they were recorded, without
>> any coloring.
>> Is setting source relative to true the right way to play unpanned mono
>> and stereo sounds?
> That's the right way to handle unpanned mono and stereo sounds, yes.
> Though for reasons mentioned above about listening fatigue, they'll
> still receive some filtering when played on headphones.
> If you want to skip OpenAL Soft's HRTF filtering, for stereo sounds
> there is the AL_SOFT_direct_channels extension. The extension is
> mainly intended to handle premade binaural audio (stereo
> sounds/streams that already use HRTF or other crossfeed methods
> designed for playing on headphones), so it avoids the spatialization
> and panning stuff. It's essentially a pass-through (though more basic
> things like gain, resampling, and pitch still apply, and it will still
> go to effects like reverb if set to).
>  http://openal-soft.org/openal-extensions/SOFT_direct_channels.txt
> However, that doesn't work with mono sounds since there isn't usually
> a 'mono' output channel. It's also not usual for mono sounds to have
> HRTF pre-applied. You can work around it by converting the mono sound
> to stereo and using AL_SOFT_direct_channels, but there's the caveat
> that it's not generally a good idea to play non-binaural sounds
> directly on headphones.
>> Both have coloring, but the stereo sound also sounds "wider" when HRTF
>> is off.
> Without HRTF there's less audible crossfeeed. Stereo sounds are still
> panned to -/+30 degrees in both cases, but with the lack (or
> reduction) of apparent crossfeed due to headphones, it makes the
> channels sound more separated and thus wider.
> openal mailing list
> openal at openal.org
More information about the openal