home/ atoms/ hrtf-binaural-convolution-decoder

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.

“a kernel in this case is a multichannel impulse response, some, but not all of which are based on measurements taken from real and artificial human heads, in order to capture what are called head-related transfer functio”
corpus · eli-fieldsteel-supercollider-tutorials-youtube-playlist · chunk 4