Wiki
Clone wikiICST Ambisonics Plugins / Encoder_specification_v1
General
AmbiEncoder (ICST Ambisonics Encoder)
AmbiEncoder-Plugins comes with two versions, one as Mono-Encoder (Mono-Sources) and one as Multi-Encoder ( 32 x Mono-Sources). As with the AmbiDecoder plugin, there is one plugin for each Ambisonics order.
- AmbiEncoder-Mono: AmbiEncoder_O1_1CH - AmbiEncoder_O7_1CH
- AmbiEncoder-Multi: AmbiEncoder_O1_32CH - AmbiEncoder_O7_32CH
Input
- A Mono Audio Signal for Mono-Encoder (e.g. AmbiEncoder_O1_1CH)
- Up to 32 Mono Channels for Multichannel-Version (e.g. AmbiEncoder_O1_32CH)
Cartesian Coordinates: X/Y/Z for each Input channel as automation parameter
Output
B-format according to the following standards:
- ACN channel order
- SN3D normalization
Distance Encoding
Distance encoding is based on: Martin Neukom - Ambisonics User Defined Opcodes for Csound. The radius of the unit circle around the coordinate origin can be defined (default 0.1). Therefore the distance is being scaled according to this radius:
scaledDistance = distance * (1 / unitCircleRadius)
The following gains are applied:
- W-Channel: atan(scaledDistance * PI / 2) / scaledDistance * PI / 2
- All other Channels: (1 - e^-d) * atan(scaledDistance * PI / 2) / scaledDistance * PI / 2
Colors
The color of the sound source is based on the leading number of the source name. Colors are predefined as:
- 0: black
- 1: blue
- 2: dark green
- 3: dark red
- 4: magenta
- 5: cyan
- 6: dark blue
- 7: dark grey
- 8: dark orange
- 9: dark grey
- 10: green
For numbers > 10, modulo 11 is applied.
Encoder-Plugin settings
OSC General
Source-Position OSC-syntax:
- /icst/ambi/source/aed [ChannelName] [Azimuth] [Elevation] [Distance]
- /icst/ambi/source/xyz [ChannelName] [X] [Y] [Z]
- Internal proprietary format for Encoder-Decoder-Communication
The parameters are defined as:
- ChannelName: The name of the Source defined for the corresponding encoder-source
- Azimuth: in Degrees 0...+360
- Elevation: in Degrees -90...+90
- Distance: Normalized 0...1 (not limited)
- X: Normalized -1...+1
- Y: Normalized -1...+1
- Z: Normalized -1...+1
OSC Receive
If the flag is enabled (default: disabled) AmbiEncoder receives coordinates from the defined port.
* Example AED: /icst/ambi/source/aed "1" 317.190582 5.322339 0.688126
* Example XYZ: /icst/ambi/source/xyz "1" 0.508 -0.466 0.0064
OSC Send for AmbiEncoder --> AmbiDecoder communication
Internal proprietary format for Encoder-Decoder-Communication
Send OSC for external usage
Using the flag OSC Send for external usage, the source positions can optionally be sent as UDP OSC Messages (same syntax as input, defined above) for usage in external tools. Messages are triggered by position changes and the update rate is limited to 20Hz (50ms).
Orientation
- Flip directions: flips the Y-axies in the AmbiEncoder. [Left / Right]
Updated