FOA transformations warp the whole B-format soundfield and are not commutative
The ATK’s FOA transformation UGens manipulate the soundfield as a whole — they are applied to the 4-channel B-format signal rather than to individual sources. The three rotation UGens are FoaRotate (Z-axis spin, like turning in a chair), FoaTumble (Y-axis roll, like a somersault), and FoaTilt (X-axis roll, like a cartwheel). FoaPush, FoaFocus, FoaZoom, and FoaDominate warp the soundfield directionally — FoaPush gravitationally draws the soundfield toward a point, collapsing an omnidirectional field to a point at maximum distortion angle (π/2). Critically, transformation order matters: rotating an omnidirectional source before pushing yields no audible rotation because there is nothing directional to rotate. When building chains, plan whether transformations operate on an already-directional field or not. All transformation angles are in radians and most accept dynamic UGen inputs, enabling real-time modulation.
Examples
FoaRotate.ar(bfmt, LFSaw.kr(1/12, 0, pi)) — slow CCW full rotation. Chaining: rotate after push to get spinning directional field. Wrong order: push after rotate on omni source — rotation is silent because the source has no direction.
Assessment
Explain why chaining FoaRotate followed by FoaPush produces a different result than FoaPush followed by FoaRotate, given an omnidirectional input. Identify which order creates audible rotation.