he HOA library provides classes to encode, transform and decode Higher Order Ambisonics sound signals up to order 5. The basis for the library are UGens compiled from Faust code written by Pierre Lecomte. Documentation and tutorials are based in part on https://github.com/sekisushai/ambitools/blob/master/Documentation/documentation.pdf.
Additional plane wave encoders and optimizers have been added, adpated from CICM's HoaLibrary https://github.com/CICM/HoaLibrary-Faust and Aaron Heller's ambidecodertoolbox https://bitbucket.org/ambidecodertoolbox/adt.git.
The SuperCollider library was written by Florian Grond. It includes soundfield recordings made together with Romain Dumoulin using the Eigenmike from CIRMMT http://www.cirmmt.org.
Frontend classes are wrappers that select the correct low-level UGen depending on the intended ambisonics order. The b-format signal is encapsulated in a channel array, which makes the resulting SC code flexible to experiment with different orders e.g. to account for available computational resources. All arguments obey SuperCollider's Multichannel Expansion paradigm.
Some practical notes for working with higher order b-format signals:
- HOAEncoder — a panner to encode mono sources as plane waves or nearfield spherical waves up to order 5 (36 chan b-format).
- HOAEncEigenMike — an encoder for the signals of the 32 microphones from the Eigenmike, includes radial filters up to order 4 (25 chan b-format).
- HOAEncLebedev06 — an encoder for the signals of the microphones of a 6 nodes Lebedevgrid, includes radial filters up to order 1 (4 chan b-format).
- HOAEncLebedev26 — an encoder for the signals of the microphones of a 26 nodes Lebedevgrid, includes radial filters up to order 3 (16 chan b-format).
- HOAEncLebedev50 — an encoder for the signals of the microphones of a 50 nodes Lebedevgrid, includes radial filters up to order 5 (36 chan b-format).
- HOALibEnc3D — a light weight panner, more resistant to faster coordinates changes, to encode mono sources as plane waves up to order 5 (36 chan b-format).
- HOAmbiPanner — another light weight, braod sounding panner to encode mono sources as plane waves up to order 5 (36 chan b-format).
- HOAConvert — convert between channel orders ACN and FuMa as well as SN3D, N3D and MaxN.
- HOALibOptim — applie either MaxRe or InPhase optimization.
- HOABeamDirac2Hoa — filters along a specifed direction (truncated Dirac), returns b-format.
- HOABeamHCard2Hoa — filters along a specifed direction (hyper cardioid pattern), returns b-format.
- HOABeamHCard2Mono — filters along a specifed direction (hyper cardioid pattern), returns a mono signal.
All of the three decoders allow to optionally load associated HRIR filters, and to render the ambisonics scene via headphones.
- HOADecLebedev06 — decodes the b-format signal into virtual speakers positioned on 6 Lebedev nodes.
- HOADecLebedev26 — decodes the b-format signal into virtual speakers positioned on 26 Lebedev nodes.
- HOADecLebedev50 — decodes the b-format signal into virtual speakers positioned on 50 Lebedev nodes.