Encoder
This tool encodes $S$ sources as point sources in an Ambisonic sound scene up to a maximal degree $L$.
Point source
The $i$-th source, with $i \in \{1, \cdots, S\}$ carries a signal denoted $s(z)$ in the discrete domain. Encoded as a point source, its position is $(r_s, \theta_s, \phi_s)$ from origin and it emits a spherical wave. The near field filters $F_l(k_rs)$ are included to encode the radial distance $r_s$ information. (see radial.lib). In the current implementation, these filters are stabilized with near field compensation filter $\frac{1}{F_l(1,z)}$ at radius $r_\text{spk}=1$ m (see radial.lib). In addition, a delay $\frac{r_s}{c}$ due to the propagation time can be included. When the source moves, this produces a Doppler-like effect, which can be activated or not at runtime. The resulting Ambisonic components are given by:
\[\begin{equation} b_{l,m}(z) = s(z) z^{- \lfloor \frac{r_s}{c} \rfloor} \frac{F_l(r_s, z)}{F_l(1, z)} Y_{l,m}(\theta_s, \phi_s) \label{eq:point_source} \end{equation}\]Note that to avoid exessing gain for small radius $r_s < 1$ m, the minimum $r_s$ radius is limited at $r_s = 0.75$ m.
Plane wave case
If the source radius $r_s$ is set to $r_\text{spk} = 1$ m, the source is encoded as a plane wave with direction $(\theta_s, \phi_s)$. In fact the radial term in Eq. \eqref{eq:point_source} is equal to unity. The Ambisonic components become:
\[\begin{equation} b_{l,m}(z) = s(z) Y_{l,m}(\theta_s, \phi_s) \end{equation}\]Compilation parameters
- L: maximal Spherical Harmonics degree (i.e., Ambisonics order), $L > 0$,
- S: number of source to encode, $S > 0$,
- coord: Choice of coordinate system :- 0=> Spherical,- 1=> Cartesian,
- doppler: Possibility of Doppler effect :- 0=> No,- 1=> Yes.
Inputs / Outputs
- Inputs: $S$
- Outputs: $(L+1)^2$
User Interface
For the $i$-th source:
| 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 |