# 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`

- the normalized distance (0..1). the actual distance is computed by

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`

)