Binaural Decoding in SC

Binaural decoding is easiest with the SC-HOA extensions. This example assumes that an encoded signal has been created with Encoding Ambisonics in SC.


Load HRTFs

Binaural decoding needs a set of head-related transfer functions (or binaural room impulse responses - BRIRs). These need to be loaded in to buffers in SuperCollider. They come with SC-HOA:

HOABinaural.loadbinauralIRs(s);

Decoder Synth

(
~decoder = {
Out.ar(0, HOABinaural.ar(~order, In.ar(~ambi_BUS,~nHOA)))
}.play(target: ~encoder_B, addAction: \addAfter);
)

Make sure the decoder is placed after the encoder in the signal flow.

/images/spatial/sc_binaural_meter.png

Figure 2: Binaural output signal in the SC meter, signal panned hard right.


References

2017

  • Florian Grond and Pierre Lecomte. Higher order ambisonics for supercollider. In Linux audio conference 2017 proceedings. 2017.
    [details] [BibTeX▼]