Panner

This tool allows to pan $S$ sources on $N$ loudspeakers using Ambisonic equivalent panning laws1. The $i$-th source, with $i \in \{1, \cdots, S\}$ carries a signal denoted $s_i(z)$ in the discrete domain. Encoded as a point source, its position is $(r_i,\theta_i,\phi_i)$ from origin and it emits a spherical wave. For the $n$-th loudspeaker with $n \in \{1, \cdots, N\}$ and coordinates $(r_n, \theta_n, \varphi_n)$, the driving signal $s_n$ is given by:

\[\begin{equation} s_n = \sum\limits_{i=0}^{S} \sum_{l=0}^{L} s_i(z) z^{- \lfloor \frac{r_i}{c} \rfloor} w_{\text{max-}r_E, l}(L) \frac{F_l(r_i, z)}{F_l(r_n, z)} (2 l + 1) P_l(\cos(\gamma_i(n))), \label{eq:panning_law} \end{equation}\]

where $P_l$ is the $l$-th Legendre polynomial, $w_{\text{max-}r_E}$ are the max-$r_E$ weights, $\frac{F_l(r_i, z)}{F_l(r_n, z)}$ are the The Near Field (NF) filters), and $\gamma_i(n) = \cos(\phi_i) \cos(\phi_n) \cos(\theta_i - \theta_n) + \sin(\phi_i) \sin(\phi_n)$ is the angle between the $i$-th source and the $n$-th loudspeaker.

The NF filters can be activated or not at compilation time with parameter nfon. If activated (nfon=1), the gain attenuation and propagation delay between loudspeakers are as well equalized. If not activated (nfon=0), $\frac{F_l(r_i, z)}{F_l(r_n, z)} = 1$ in Eq. \eqref{eq:panning_law}, that is to say that no near field effect is included in the process.

In addition, a delay $\frac{r_i}{c}$ due to the propagation time can be included. When the source moves, this produces a Doppler effect, which can be activated or not at runtime.

Compilation parameters

  • S: number of source, $S > 0$
  • L: maximal Spherical Harmonics degree, $L > 0$,
  • N: number of loudspeaker, $N > 0$,
  • nfon: activate or not NF filters: nfon=0 for no NF, nfon=1 for NF.
  • speaker(n) = (x, y, z) $n$-th loudspeaker Cartesian coordinates in meters. One loudspeaker per line.
  • coord : Choice of coordinate system : 0 => Spherical, 1 => Cartesian,
  • doppler : Possibility of Doppler effect : 0 => No, 1 => Yes.

Inputs / Outputs

  • Inputs: $S$
  • Outputs: $N$

User Interface

Element OSC Min value Max value
Gain (dB) gain_i -20 20
Doppler (doppler = 1) doppler_i 0 1
Radius $r$) (m) (coord = 0) radius_i 0.75 50
Azimuth $\theta$ ($^\circ$) (coord = 0) azimuth_i -180 180
Elevation $\phi$ ($^\circ$) (coord = 0) elevation_i -90 90
$x$ (m) (coord = 1) x_i -50 50
$y$ (m) (coord = 1) y_i -50 50
$z$ (m) (coord = 1) z_i -50 50
  1. P. Lecomte, P.-A. Gauthier, C. Langrenne, A. Berry, et A. Garcia, « A Fifty-Node Lebedev Grid and Its Applications to Ambisonics », Journal of the Audio Engineering Society, vol. 64, nᵒ 11, p. 868‑881, 2016.