Distance-Based Amplitude Panning (DBAP)
DBAP calculates loudspeaker gains from the distances between one source and a list of speakers. It produces control data, not audio. Use Matrix Spatialization to apply the gains to a mono sound source.
Two processes are available: DBAP (2D) takes XY coordinates; DBAP (3D) takes XYZ coordinates.
Inputs and output
| Port | Value |
|---|---|
| Source | One XY or XYZ position |
| Speakers | List of speaker positions, in output-channel order |
| Blur | Additional distance term that broadens the gain distribution |
| Roll-off | Relative-distance exponent control, from 0 to 100; default 6 |
| Output | Flat list of gains, one per speaker |
Source is the first inlet; Speakers is the second. Use the same coordinate system for both.
Gain calculation
For each speaker, the distance is the Euclidean source-to-speaker distance with Blur squared added under the square root. A small offset avoids division by zero. The gain is the inverse of this distance raised to Roll-off × 0.166096.
The gains are then normalized so their squared sum is one. Increasing Roll-off concentrates the distribution on nearby speakers; increasing Blur makes it broader. This normalization does not provide overall distance attenuation when a source moves away from the array.
Connecting a source
- Send speaker positions from Multi-Cursor Manager to Speakers for a 2D layout.
- Send the source position to Source. Path Generator produces a list of positions: with one trajectory, use Array Flattener to turn its output into a coordinate pair or triple.
- Connect Output to Matrix Spatialization’s Weights.
- Connect a mono audio source to Matrix Spatialization’s Input, set Audio outs to the speaker count and Channel offset to zero.
- Route the resulting audio channels to the loudspeakers.
Use a separate DBAP instance for each independently moving source. For a regular grid, see GBAP.