ICST Ambisonics Plugin v.1.0

Institute for Computer Music and Sound Technology / (ICST) Zurich University of the Arts

Caution: this Plugin-bundle is still available, but is no longer continued!
Please upgrade to version 2.x

ICST Ambisonics Plugins: AmbiDecoder

The AmbiDecoder plugin (One plug-in via Ambisonics order.) is the ICST Decoder Plugin for Ambisonics (AmbiX) Bformat Files, ACN channel order and SN3D normalization. To decode FuMa (Furse-Malham) Format, you must first advance a converter plugin [1]. Depending on the Ambisonics order, the AmbiDecoder plugin expects different input routing for the audio. As an example, let's choose this decoder plugin in the FX: AmbiDecoder_O1_32CH (ICST) (4-> 32ch) O1_32CH means that we have loaded the AmbiDecoder 1.Order and can order up to 32 speakers outputs. With the specifications of (4-> 32ch), the plugin describes that it requires 4 input channels (wxyz) and, as already said, provides 32 outputs. An other example: AmbiDecoder_O1_32CH3_32CH (ICST) 16—> (32ch) = third order ambisonics with 32 output channels and 16 input_channels. So it is important to choose the correct audio routing in the respective DAW (Digital Audio Workstation). A maximum of 32 channels is supported.

AmbiDecoder Explanation:
If you click on "Add" in the FX area, you will see "ICST" in the folder. The folder with the contents of all ICST Ambisonics plugins.

First-Layer: Source-Placement and Movement Control The idea behind this 1st layer is that the user always gets an overview of the movements or placements from all AmbiEncoder sources.

A: The AmbiDecoder shows all source movements and placements in the main radar view.
B: The Speaker Setting window, shows the currently loaded speakers location coordinates: XYZ / AED (cartesian / azimuth elevation distance) system of type Navigation is assumed (Front = +X, Right = +Y, Top = +Z). The direction of the Y-axis can optionally be flipped. (equals to azimuth increase counterclockwise instead of clockwise).

In the First-Layer it is not possible to change the speaker coordinates!
C: The "Distance Scaler" determines the scaling of the coordinates to Absolute Space. (here from wall to wall 4.8 meters). Channel weights: here the order weighting can be adjusted. Default is set to "calculate in-phase" press "reset to basic" button, or experiment with your own weight by entering the values (m = 0) -> W or Zero.Order or (m = 1) for First-Order Change .
D: Here you can cascade the OSC connection of all connections to the AmbiDecoder. (Flag on / off). Occasionally if for some reason you want to use two decoder plugins, then you have to assign each AmbiDecoder its own OSC port here. To change the speaker settings or create your own, then switch to 2.Layer of the AmbiDecoder plugin. to change the AmbiDecoder Layer mode, activate the flag in "Edit mode" (E)
E: AmbiDecoder_03_32CH (ICST) 16—> (32ch) Decoder-Parameters

AmbiDecoder - Decoder Parameter:
Distance-Scaler: scaler for the Room - Distance in meter
Example: 1.0 meter from sweet-spot

Channel weights: reset to basic set all parameters to 1.00
calculate in-phase set the AmbiDecoder-Parameters to in-phase ambisonics calculation from Martin Neukom [1]

Flip direction: flips the Y-axies in the AmbiDecoder.

Receive OSC messages is the flag on, the AmbiDecoder receives all movement & placement from all active ZEnc
OSC-Port for listening is 50000
Timeout (ms) chances the refresh time (1000)

Second-Layer: Speaker-Placement Control

A: shows the speaker-setting coordinates, Cartesian (XYZ) or Polar (AED).
B: represents the speaker placement in the room (horizontal) —> (Speaker-Radar)
C: represents the speaker placement in the room (vertical)
Click on this symbol (A) to open the „speaker settings" windows.
D: If the "Edit mode" flag is activated, we can edit all parameters for the speaker setting.

Manage the Speaker-Setting in AmbiDecoder:

A: choose one of the default speaker-settings
  • 2 (Stereo)
  • 4 (Quadro)
  • 6 (Hexagon)
  • 8 (Octagon)
B: load a speaker-setting or save your own setting
C: Add or remove a Speaker from the list.
D: step up or down in the list.

Speaker Audio Test:

A: Press the "speaker icon" to get white noise on the selected speaker.
B: Press "Test all Speakers" and a white noise signal will be played in series
C: Adjustment for the Speaker - Gain in dB

Control parameters for distance and Ambisonics weighting:

A: Determine the absolute distance of your space (meters) —> Ex. 4.8m
B: Choose the Channel weight. (Default = calculate in-phase)
C: Flip direction flips Y-axes (left<->right)

ZOOM the AmbiDecoder Window: (Animation)


[1]. Ambisonics-Converter Plugins (ambix_converter – convert between different ambisonic standards on the fly (include different standards in one project), also between 2D/3D)

ICST Ambisonics Plugins: AmbiEncoder
The AmbiEncoder Plugin
One plugin per Ambisonics order (first to seventh) is the ICST Encoder Plugin for creating Ambisonics Bformat files (AmbiX Format).
The plugin works with ACN channel order and SN3D normalization. To decode the FuMa (Furse-Malham) format, you must first use a converter plugin[1]. Depending on the Ambisonics order, the AmbiEncoder plugin expects a different audio input channel routing. As an example we choose in the Reaper FX: AmbiEncoder Plugin_O1_1CH (ICST) (1->4ch).vst3
O1_1CH means that we have loaded the "AmbiEncoder Plugin_01" Ambisonics Encoder 1.Order. The plugin expects a mono (1CH) as input signal and sends a "Bformat_O1" (WXYZ) First Order. Another example: AmbiEncoder_O3_1CH (ICST) 1-> (16ch) stands for Ambisonics third order, so a Bformat_O3 with 16 interleaved audio channels. This plugin expects a mono audio file as input signal and sends 16 channels to the Ambisonics decoder plugin. It is therefore important to select the correct audio routing in the DAW.

AmbiEncoder Plugin explanation:
If you click on "Add" in the FX section, you will see the folder "ICST" containing all ICST Ambisonics plugins.

Overview AmbiEncoder Plugin
The AmbiEncoder plugin is available in two different versions:
On the one hand the AmbiEncoder Plugin_O1_01_01CH (Mono), and then as AmbiEncoder Plugin_O1_32CH (Multi). The AmbiEncoder Plugin_O1_01_01CH is intended for encoding an ienzelne mono source in the respective audio track. With the AmbiEncoder Plugin_O1_32CH (Multi) you can encode up to 32 mono sources in one DAW audio track.

AmbiEncoder_O1_01CH(Mono). A and AmbiEncoder_O1_32CH(Multi). B

Call the plugins:

In the audio track, press FX and add "AmbiEncoder_O1_1CH_(ICST) (1 -> 4ch)".
[A] --> Add FX Plugin
[B] --> choose "ICST" under Developers
[C] --> select the AmbiEncoder or AmbiDecoder Plugin of your choice

Example: "AmbiEncoder_O1_1CH_(ICST) (1 -> 4ch)".
- O1 --> Ambisonics First Order.
- 1CH --> Mono input
- 1--> 4CH -> 4 channel (Bformat output)

Overview (front)

[A] Displays the ZEnc parameter.
- Name: [1]
- Channel: Source - Channel
The Source Radar window displays the currently loaded coordinates of the source point position:
XYZ / AED (Cartesian / Polar) system of type Navigation is assumed (Front = +X, Right = +Y, Top = +Z).
The direction of the Y-axis can be switched optionally. (corresponds to the increase in azimuth counterclockwise instead of clockwise.
⁃ Azimuth: in degrees 0...+360
⁃ Height: in degrees -90....+90
⁃ Distance: Normalized 0...1 (not limited)
⁃ X: Normalized -1....+1
⁃ Y: Normalized -1....+1
⁃ Z: Normalized -1....+1

[B] shows the front view of the horizontal space in the radar (spherical).
[C] shows the vertical space observation in the radar (hemispherical).
[D] shows the general plug-in parameters, such as routing and preset memory.

[A] Click here, to open the "Encoder-Plugin settings" window.
[B] Click the [+] to close the Encoder-Plugin settings window.
[C] Write a name for your "source point" position alternatively click on the message box and write a "number" or a "name".
[D] Double-click on the "Radar" (to get the source number).
[E] ZOOM the AmbiEncoder window -> watch Animation AmbiDecoder

The settings of the AmbiEncoder plugin:
[F] OSC Enable to retrieve OSC messages from external[1].
- Active
- port number
[G] OSC Send to the AmbiDecoder [2] [2]
Destination host:
⁃ OSC port: <5000000>
⁃ Interval[ms] for OSC refresh
[H] Distance coding (default = 0.1)
[I] Rotate the Y direction (left/right).

(ICST Ambisonics Encoder Multi-Sources)

[A] Press FX , go to Developer's "ICST" [B] and Add the "AmbiEncoder_O1_32CH_(ICST) (32 -> 16CH)" [C], then confirm with "ok" [D]

AmbiEncoder --> O1 stands for Ambisonics Third Order.
32CH stands for multi-source input (max. 32 input channels).
32 ->4CH means that 32 source audios to a B format of first order (4 channels) are available as output.

The ICST AmbiEncoder(Multi) in a Reaper Track.


<< Index