• Inputs: $N$
  • Outputs: $(M+1)^2$
  • Gain
  • Radius (for spherical waves)
  • Azimuth
  • Elevation
  • Plane/Spherical Wave toggle
  • Playback Speakers Radius (for spherical wave)


This plug-in encodes $N$ inputs signals into a 3D Ambisonic sound scene at order $M$ (which produces $(M+1)^2$ output signals). Each input signal represents a source which is spatialized with the coordinate parameters Radius, Azimuth, and Elevation (see coordinate system). A Gain parameter allows to adjust the input gain of the source. An example of GUI is shown in Fig.$~$1:

Figure1. hoa_encoder compiled for Linux JACK-Qt. In this case $M=5$ and $N=3$. The VU-meters show the output signal level for each Ambisonic component. They are sorted by row for each Ambisonic order from $m=0$ up to $m=5$.

Additional information

Plane/Spherical Wave choice

If the check-box Spherical Wave is unchecked, the input is encoded as a plane wave. In this case, the knob Radius is useless, because a plane wave has no distance information. Consequently, the gain of the input won’t change when the source moves, because the source can’t come closer or go farther from origin.

WARNING: If you bring the source too close to origin, the gain can be extremely loud!

If the check-box Spherical Wave is checked, the input is encoded as a spherical wave and the Radius knob is used to set the distance from the source to origin. Accordingly, the gain of the source will increase if the source moves closer and decrease if the source moves farther. The gain factor is $1/r$.

WARNING: If you bring the source too close to origin, the low frequencies can be extremely boosted at higher orders!

To encode a spherical wave with Ambisonics, stabilization filters are used in the DSP. They involve the knowledge of spherical playback system radius used at the decoding step. This is set with the entry Playback Speakers Radius. If you bring the source inside the playback system, the low frequencies of the higher order Ambisonic components are  boosted. This “bass-boost” effect increases as the source comes closer.

To limit the aforementioned effects, the minimum possible Radius value is $0.5$ m.

Leave a Reply

Your email address will not be published. Required fields are marked *