Distance-attenuation Extension

Review of concepts for simulating distance attenuation of sound sources.

MIDI Manufacturers Association, Interactive Audio Special Interest Group 3D Level 1 Guideline

source: http://www.midi.org/techspecs/rp49public.pdf

4 parameter defining the distance attenuation model:

  • Maximum Distance
    • the distance at which no additional distance based attenuation is applied when the sound moves further away
  • Gain at Maximum Distance
    • the maximum distance based attenuation applied to the sound. It is applied when the sound is at Maximum Distance
  • Reference Distance Ratio
    • the distance beyond which distance based attenuation is applied, and below which no distance based attenuation is applied
  • Distance Ratio
    • the normalized distance (0..1). the actual distance is computed by distanceRatio * maximumDistance

Parameters for distance attenuation in the MIDI specification.

The actual attenuation due to distance is computed according to the following model and is the same than the IA-SIG has chosen for the 3D Audio Rendering and Evaluation guidelines Level 2 (I3DL2) and is also used in OpenAL and Microsoft’s DirectSound3D.

attenuation = 20*log10(referenceDistance / (referenceDistance + ROF (distance - referenceDistance)))

ROF, the roll-off factor is defined as:

ROF = (referenceDistance * 10^(- maxAttenuation * 0.05) - referenceDistance) / (maxDistance - referenceDistance)

Another model is proposed as an alternative at the end of the specs:

attenuation = 20*log10(referenceDistance / distance)^a

a can be found with:

a = maxAttenuation / 20*log10(referenceDistance / maxDistance)

spatial-midi.png - Parameters for distance attenuation in the MIDI specification. (38 KB) Nils Peters, 07/05/2011 12:27 am