Binaural ATK decoders convolve B-format with HRTFs to simulate how the head filters spatial cues for headphone listening
Head-Related Transfer Functions (HRTFs) describe how the shape of the human head and ears modifies the timbre and timing of sounds arriving from different directions. The ATK’s kernel-based decoders (FoaDecoderKernel.newListen, newCIPIC, newSpherical) apply multichannel convolution between the B-format signal and a set of HRTF impulse responses measured from real or dummy human heads, producing a binaural 2-channel output for headphone playback. Unlike matrix-based stereo decoders designed for loudspeakers, binaural decoders encode perceptual elevation cues that loudspeakers cannot reproduce. Important practical constraints: (1) the server must be booted before creating a kernel object because the impulse responses are loaded into server buffers; (2) free the kernel object when done to avoid exceeding the server’s buffer limit; (3) different subject IDs correspond to different measured individuals; IDs are non-contiguous. newListen uses IRCAM’s database; newCIPIC uses UC Davis CIPIC data.
Examples
var binaural_dec = FoaDecoderKernel.newListen(1002, s); …FoaDecode.ar(bfmt, binaural_dec) → binaural headphone output. Always call binaural_dec.free when done.
Assessment
List two practical differences between using FoaDecoderMatrix.newStereo and FoaDecoderKernel.newListen. Identify one mistake that causes ‘exceeded buffer count’ errors in SuperCollider.