One way I had expanded my Csound instrument for this project was that I developed a system using Cartesian coordinates within the range of 0 to 1, for both x and y axis values, to determine a two-dimensional placement of an event within the 4 channel panorama. When the event was dynamic this served as a starting point from which an envelope determined the path of the panning within the space.
The Csound instrument that was used for this project is, programmatically, actually quite simplistic. Score synthesis is the primary driving force behind the complexity of the pieces. Nonetheless, the following is a brief overview of it. If you would like to see the details of the instrument, you may download it here.
The Csound instrument, used for this project, consists of 4 basic modules:
The sample playback instrument employs the Diskin2 opcode. For any single event up to 19 iterations of the sample, determined by a pfield in the score, can be produced simultaneously; each of which has its own amplitude, amplitude envelope, and frequency. Each iteration is a variation in relation to the base sample values. One way to describe it would be that it creates a complex chorusing effect; another is that it creates a complex set of harmonics. All this is determined on an event-by-event basis throughout the score.
Next I implement a section meant to provide the perception of distance in the piece, which I aptly call distance algorithms. They mix the dry output of the Diskin2 events with reverb envelopes and amplitude envelopes. The reverb makes a sound seem farther away the more it is applied not only because of the auditory queues offered by the additional reverberation, but also because it dulls the sound making it sound, like distant objects appear visually to us… i.e. grayed out.
Then come the panning algorithms. For each event, three pfields in the score determine the initial position in the form of x, y coordinates, as well as whether it is to move or not. If it is to move through the two dimensions of the quadraphonic panorama, these pfields also determine the way in which it is move by selecting one of about 20 envelopes. The panning algorithms and the distance algorithms work in parallel.
In the last section of the instrument, a pfield in the score determines whether or not an effect is applied to the event and if so which one. The choices are reverb, delay, chorusing, comb filter and a variable bandpass filter sweep.