Ambisonics Tools in SC

ATK FOA (First-Order Ambisonics)

Idiosyncrasies:

  • Data-Dependent: Requires external "Kernels" (impulse responses) for convolution-based decoding and HRTF.

  • Standard: Uses FuMa (Furse-Malham) normalization and ordering.

  • Warping: Extensive library of "soundfield transforms" (dominance, zoom, push) for creative manipulation of the spatial image.

  • Latency: HRTF and discrete speaker decoders introduce fixed block latency due to the FFT-based convolution engine.

Installation

// Install ATK (FOA core)
Quarks.install("https://github.com/ambisonictoolkit/atk-sc3");

ATK HOA (Higher-Order Ambisonics)

Idiosyncrasies:

  • Matrix-Based: Reliant on pre-calculated matrices (HoaMatrixEncoder, HoaMatrixDecoder) rather than real-time UGen coordinate calculations.

  • Standard: Switches to ACN (Ambisonic Channel Numbering) and SN3D (Schmidt Semi-Normalised).

  • NFC: Native support for Near-Field Controlled (NFC) radial distance filtering to manage the proximity effect.

  • Initialization: Most classes require an explicit order argument to be passed to define the channel count $(N+1)^2$.

Installation

// Install ATK HOA extension
Quarks.install("https://github.com/ambisonictoolkit/atk-sc3");

SC-HOA

Idiosyncrasies:

  • Faust-Based: Built from Faust-compiled UGens; offers high CPU efficiency but the source code is less accessible for native SC modification.

  • Spatial Resolvers: Features unique high-order decoders including Lebedev and T-Design layouts.

  • Coordination: Uses a spherical coordinate system (azimuth, elevation) where elevation is typically defined in radians from \(-\frac{\pi}{2} \dots \frac{\pi}{2}\).

  • Order Limit: Typically provides specialized UGens optimized for up to 5th-order Ambisonics.

Installation

// Install SC-HOA
Quarks.install("https://github.com/florian-grond/SC-HOA");

Comparison and Interoperability

Tool

Max Order

Normalization

Channel Ordering

ATK FOA

1

FuMa

FuMa

ATK HOA

7+

SN3D

ACN

SC-HOA

5

SN3D / N3D

ACN