This patch demonstrates the use of the cycle~ object to control quadraphonic panning in such a way as to simulate circular movement of a sound. It's an abstraction that can be used inside another patch to provide 4-channel distribution of a sound source. This abstraction uses another abstraction, which in turn uses another abstraction.
This patch shows several techniques relevant to granular synthesis, playing a stream of short excerpts of recorded sound. (The patch uses one abstraction, called pan~, that's provided in the example titled "Constant-intensity panning subpatch". You'll need to download that abstraction and save it with the name pan~ somewhere in Max's file search path.)
This abstraction encapsulates delay, gain control, and stereo panning in a single object that can be used in some other "parent" patch. It assumes that its first inlet will be connected to a tapin~ object in the parent patch. That tapin~ object will send a tapconnect message when MSP audio is turned on, thus linking the tapout~ object in this abstraction to the memory buffer of the tapin~ object in the parent patch.
There are several standard speaker configurations for 2-dimensional surround sound panning, such as quadraphonic (four speakers in a square or rectangular placement) and the 5.1 or 7.1 THX cinema surround specifications.
This patch is an abstraction for panning a sound source among four speakers arranged in a row—or more precisely, in an equidistant arc—in front of the listener. The sound’s virtual location in the stereo field, from extreme left to extreme right, is specified as a control signal value from 0 to 1. The four speakers define the boundaries of the three regions between them, each of which constitutes one third of the total stereo field.