For those knowledgeable of ambisonics, you are likely aware of the fact that ambisonic encoding and decoding deals with many channels of audio. In first order ambisonics, we typically see a source of sound in one channel, and to encode it, we create four separate streams of that audio, with different gain coefficients applied. Each of these channels have the same spectral composition, the only differences between each channel are volume, and whether they are inverted in phase from the original. The name of all these channels (typically bunched together for each sound source) is called B-format audio. In B-format audio, a single sound source can be represented by many channels of audio. Managing and routing all these channels can be a pain, especially if we are in an environment we don't know inside and out. If we want to raise our ambisonic order to second, we have to consider additional channels, nine to be precise. All these channels can get very confusing, very fast.

In ChucK's "vanilla" chugin library, one can find the UGens Pan2, Pan4, Pan8, and Pan16. This is represented in a single ".chug" file called PanN. Perusing the chugin library on github, I figured the PanN concept could be applied to the Gain UGen. After all, equal power panning is really just multichannel (or stereo) gain modification.