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 |