0
0

We’re converting several of our application’s built-in OpenAL reverbs for use with FMOD, and running into some trouble with a few of the parameters.

We’re using an SFXREVERB DSP node (since that’s the closest analog to OpenAL Reverb Effects) and are doing simple interpolation to convert the OpenAL settings to the FMOD ranges.

We’re having trouble because for a few of the FMOD settings, specifically:

FMOD_DSP_SFXREVERB_ROOMHF
FMOD_DSP_SFXREVERB_REFLECTIONSLEVEL
FMOD_DSP_SFXREVERB_REVERBLEVEL

These value are (as specified in the help) measured in mB, when the OpenAL version appears to have a linear range.

[code:85vovtdk]
ROOMHF
FMOD Range: -10000.0 -> 0.0
OpenAL Range: 0.0 -> 1.0
REFLECTIONSLEVEL
FMODRange: -10000.0 -> 1000.0
OpenAL Range: 0.0 -> 3.16
REVERBLEVEL
FMOD Range: -10000.0 -> 2000.0
OpenAL Range: 0.0 -> 10.0[/code:85vovtdk]

I’ve noticed that if we properly convert a working OpenAL Reverb using interpolation, there is no audible reverb effect in FMOD

Example:

[code:85vovtdk]Small Room
OpenAL Values:
AL_REVERB_DENSITY
AL Value: 1.0 Range: 0.0 -> 1.0
FMOD Value: 100.0 Range: 0.0 -> 100.0

AL_REVERB_DIFFUSION
AL Value: 1.0 Range: 0.0 -> 1.0
FMOD Value: 100.0 Range: 0.0 -> 100.0

AL_REVERB_GAIN
AL Value: 1.0 Range: 0.0 -> 1.0
FMOD Value: 0.0 Range: -10000.0 -> 0.0

AL_REVERB_GAINHF
AL Value: 0.249711 Range: 0.0 -> 1.0
FMOD Value: -7383.92 Range: -10000.0 -> 0.0

AL_REVERB_DECAY_TIME
AL Value: 1.052 Range: 0.1 -> 20.0
FMOD Value: 1.052 Range: 0.1 -> 20.0

AL_REVERB_DECAY_HFRATIO
AL Value: 0.6722 Range: 0.1 -> 2.0
FMOD Value: 0.6722 Range: 0.1 -> 2.0

AL_REVERB_REFLECTIONS_GAIN
AL Value: 0.3294 Range: 0.0 -> 3.16
FMOD Value: -8853.27 Range: -10000.0 -> 1000.0

AL_REVERB_REFLECTIONS_DELAY
AL Value: 0.012169 Range: 0.0 -> 0.3
FMOD Value: 0.012169 Range: 0.0 -> 0.3

AL_REVERB_LATE_REVERB_GAIN
AL Value: 0.293557 Range: 0.0 -> 10.0
FMOD Value: -9647.731 Range: -10000.0 -> 2000.0

AL_REVERB_LATE_REVERB_DELAY
AL Value: 0.024338 Range: 0.0 -> 0.1
FMOD Value: 0.024338 Range: 0.0 -> 0.1

AL_REVERB_AIR_ABSORPTION_GAINHF
AL Value: 1.0 Range: 0.0 -> 0.1
FMOD Value: — FMOD doesn’t have this value —

AL_REVERB_ROOM_ROLLOFF_FACTOR
AL Value: 0.0 Range: 0.0 -> 10.0
FMOD Value: 0.0 Range: 0.0 -> 10.0

AL_REVERB_DECAY_HFLIMIT
AL Value: 0.6722 Range: 0.1 -> 2.0
FMOD Value: 0.6722 Range: 0.1 -> 2.0
[/code:85vovtdk]

I have a feeling that there might be a linear/log mismatch on the aforementioned fields that are measured in mB, is this correct?

  • You must to post comments
0
0

We’re trying to convert volume to milliBels, and are having some success now.

The other question: How do I control the volume level of the reverb effect? Can I do that with the Wet/Dry mix parameter? OpenAL allows this through independant manipulation of the effect slot’s AL_EFFECTSLOT_GAIN value. Do DSP nodes have something similar?

  • You must to post comments
0
0

To change the reverb effect level use FMOD_REVERB_PROPERTIES::Room

  • You must to post comments
0
0

Will do, thanks!

  • You must to post comments
Showing 3 results
Your Answer

Please first to submit.