IN PARADISUM for CsoundAV and MIDI Slider Bank, with tenor cantor (2004) Arthur B. Hunkins after Gabriel Faure's Requiem GENERAL IN PARADISUM is a meditative performance piece for Windows-based computer running CsoundAV. Two passages in plainsong style for tenor cantor are superimposed at the beginning and at the end. Performance requires, in addition, seven or more MIDI continuous controllers - configured as one or more banks of six to eight sliders or rotary-pots each. There are 15 available versions - five stereo, five quad, and five "simple" variants of the stereo versions. The most basic version is named "stparadisum.csd"; it features six sustained tones (as do all versions) - E6, G6, A6, C7, D7 and E7, each performed by a single controller and "floating" separately in stereo space. A second bank of six controllers adds varying levels of inharmonic sidebands (amplitude modulation). Four stereo variants add various features, but require in common two (or in one case, three) banks of six controllers each. A corresponding set of five versions simply substitutes quad for stereo space. These versions are named "paradisum4." Soundcard requirements are different for these two sets: the "st" (stereo) series is playable by a standard stereo soundcard, whereas the "4" (quad) versions require a multichannel (4+) soundcard and ASIO driver. (ASIO drivers are available for nearly all multichannel cards.) Unless you intend to exercise the "Moving Pan" option, there is no point in choosing a quad over a stereo version. The third, "simple" set of five versions closely parallels the basic stereo set, and are identified by "sst." They reduce the two or more banks of controllers to a single bank of seven or eight, permitting performance on MIDI devices comprising only eight controllers. Note: These versions should be chosen *solely* when fewer than 12 controllers are available - as amplitude sidebands are not as independently variable in "simple" versions. Details on each of the versions are found at the end of these instructions. The computer required for performance must be running a version of Windows - 95B or higher. (With Windows 95 you must be sure that OpenGL has been installed.) The program that executes the selected .csd file is Gabriel Maldonado's CsoundAV, v0.043 or higher. Prior to performance, be sure to close as many programs running in your Windows taskbar as possible. This will minimize any chance of audio breakup. (Depending on your system, there is a good possibility of disaster otherwise.) In paradisum does not lend itself to multi-speaker sound diffusion. If multichannel realization is desired, perform one of the quad versions. Minimum duration is 8 minutes. GENERAL SETUP The performer downloads and installs the current version of Maldonado's CsoundAV from http://www.csounds.com/csoundav . The file to download is named CsoundAV_Win.exe . To run CsoundAV (and this composition), click on the program icon, and on the popup window that appears, type the name of the desired .csd performance file into the Orc field. Alternately, drag the .csd file onto the window. Click OK, and the performance window for the piece will appear. When you run any performance file, you will be queried (via pop-up window) to specify a Portaudio OUT Device number (-+P#), and if MIDI controllers are involved, a MIDI In Device number (-+K#). Once you determine appropriate device ID's for your setup, you may add them to your CsOptions flags (as, for example, -+K0 and -+P8). (These flags are located toward the beginning of the .csd text file. You can edit them in any text editor, including Windows' Notepad.) Doing so will thereafter happily bypass the device selection process. For any problems, please consult Maldonado's CsoundAV Manual, also downloadable at http://www.csounds.com. This HTML manual comes as a zipped archive named CsoundAV_Manual.zip. See particularly its sections entitled Special Command Line Flags and Command Line Hints. (Command line flags are the same as CsOptions flags.) DIRECTSOUND If your system software includes *DirectSound*, slider/pot response time (latency) will improve substantially. DirectSound is present by default in systems running Windows 98SE and above. You also need a DirectSound driver for your soundcard. Any recently-manufactured stereo soundcard will install DirectSound drivers; "legacy" (ISA) soundcards will not. DirectSound drivers (or multichannel ASIO drivers - see below) may be available on your system. On the Portaudio OUT Device Select popup window, you'll see any and all DirectSound and ASIO (in addition to MME) drivers listed. Specify one of the DirectSound (or ASIO) numbers; if it works, add this number to your -+P flag (as, for example, -+P5). DirectSound and ASIO are *particularly* sensitive to any programs running in the background, including those in the taskbar; be sure to close as many as possible. Please note that a native *ASIO* driver is required for quad versions. Hint: If you are still having a problem getting clean, click-free sound, run a *MIDI* version of this work (it is less demanding on system resources). Also, at the slight sacrifice of some high frequency content, you can try halving the values for sr and kr (also at the top of your .csd file) to 22050 and 2205 respectively. (You cannot use ASIO drivers at these rates, nor perform the quad versions.) Otherwise, you may need a faster computer. PRE-PERFORMANCE The sets of seven or more sliders/rotary pots needed by these versions are found on a variety of MIDI devices, including keyboards. Most of these devices are dependent on serial MIDI interfaces, usually found on sound cards. Some more recent MIDI controllers incorporate *USB* interfaces, and so are particularly appropriate for use with laptop computers (which normally lack MIDI interfaces). The performance files assume that all required sliders/pots are set to function as continuous controllers, and to output values 0-127 on channel 1 - all of which is usually true by default. In some cases, nothing will have to be programmed into the MIDI device; this is true when controller numbers for the eight-slider bank are consecutive. (The performer must consult the device documentation to learn the multiple numbering sequences that are available as "presets." Controller numbers for banks are often consecutive, in at least some preset option.) The default configuration in the on-screen performance window incorporates consecutive numbering. In the unlikely case that no such configuration is available, you'll need to program the controller numbers manually on your controller bank. (Be sure also that they all transmit on channel 1.) All MIDI versions provide for two additional controller configurations that may be rarely encountered. 1) ALL CONTROLLERS USE THE SAME CHANNEL, BUT NOT #1: Locate the line toward the beginning of the performance file - "#define CHAN #1#", and change the channel number to the one you need (from 2-16) with any text editor, such as Notepad. (This revision is active until you change it again.) Note that the "#" characters around the channel number must remain. 2) EACH CONTROL (of a hardware bank of 16) USES A UNIQUE CHANNEL, BUT WITH (channel volume) CONTROLLER #7: For this situation, either the overall Amplitude Controller # box (when applicable) or the Bank 1 1st Controller box on the performance screen includes a special, coded controller number. To enable this layout: For the Amp Controller #, select 128; for Bank 1 1st Controller #, select -1. All controllers will now be consecutive, in the order of their default numbering on screen. Note that the Amp Controller is always first. (Any optional controller, default coded to "#128", is placed last. Since 16 pots/sliders are available, optional controllers are always included here.) Please note that this particular option is *not* available for stparadisuma, which alone among these versions requires more than 16 controls. ON-SCREEN PERFORMANCE CONTROLS-- Some of the controls shown in the on-screen performance window are to be preset; they are not changed once sound starts. Chief among these are the various controller numbers, especially the first number for a bank of six to eight controllers. Other objects that appear in the window may be preset and optionally varied during performance. These include a "Richer Mod" checkbox, a "Shimmer" control and a switch that toggles between a "Tone Controls Paired" and a "Like Controls Grouped" setting. Checking "Richer Mod" results in a *slightly* richer set of amplitude modulation sidebands. "Tone Controls Paired" locates modulation pots/sliders adjacent to the pitches they modulate, whereas "Like Controls Grouped" puts tone controls in one bank and modulation controls in another. Changing either of these settings takes effect only with the next note. For the latter control, all affected pots/sliders must also currently register zero. (This control is normally preset and unchanged.) Shimmer, on the other hand, though completely optional, may be present (and varied) throughout. Any changes during performance should be subtle; they take place, unlike other changes, immediately. Shimmer might well be initially set to some value other than zero (preferably minimal). The default (and nonexistent!) Moving Pan Controller number, found in an on- screen box, is 128; at this value, it is the *Moving Pan On/Off Switch* that determines whether or not movement occurs. Otherwise, the designated controller does: a level greater than .5 = pan movement; less than .5 = static placement. Note that this Moving Pan Controller option requires an additional MIDI controller. Note also that placement *must be static during the opening and closing passages*. In stereo versions, static placement occurs, of course, distributed in a frontal stereo field. With quad, static placement happens in a frontal plane two/thirds of the way from rear to front. Quad movement, on the other hand, starts and ends anywhere within quad space. (Recall that Moving Pan On/Off takes effect only with a new note event, and that on-going notes *continue under the conditions applicable at the time of their origin*. This is true whenever settings change with a new note event.) Overall amplitude is user-determined and preset; the external master level remains unchanged throughout the composition. Each pitch has the same dynamic range. Overall performance volume should never exceed a robust moderate level. Set maximum volume by turning all six pitch amplitude controls to max, along with their amplitude modulation pots. This is loudest potential level. Note that opening and closing passages should maintain a somewhat lower volume; and that notes are both free to change level, and are not constrained to reach their maximum. Versions of In paradisum that make use of specific amplitude modulation factors (rather than selecting randomly from ranges), include an on-screen "Test Mode" switch. When on, this switch allows the performer to try out varied modulation settings during a single note. (Under normal circumstances, the modulation factor changes only once per note.) This feature is for *testing only* - to preselect desired sideband combinations for use in later performance. THE CANTOR This is a live-performance composition for computer-generated sound and cantor obbligato - a piece for computer framed by two passages for cantor (a tenor). It is *not* a cantor solo with computer accompaniment. The cantor's part, printed on a single-page .pdf file (Paradisum.pdf), is the same for all versions. The performance takes place in semi-darkness. After the lights fade, the cantor enters unobtrusively and stands at the near side of the performance space. He is dressed in casual attire or in a monk's garb - *not* (under any circumstances) in formal concert wear. If necessary, a small, low-wattage music-stand-type light can softly illumine his music (preferably while he is singing only). During the entire performance, the cantor stands - as motionless as feasible. When finished, he remains still (any music-stand light off) until the last computer note dies out. He then unobtrusively leaves the performance space, before the lights come up. The cantor should not attempt eye contact with the audience or to establish rapport in any way. His head should be slightly bowed, facing partly to the side, and/or obscured by darkness or the monk's hood. It is almost as if the voice is off-stage. SPECIFIC SETUP AND PERFORMANCE Before bringing up the performance window, turn all controller pots to zero. Then, with the window open, adjust any controls *not* preset to zero to their initial positions. Note that these sliders *must be moved* to another position *after the performance window is opened*. (The pots output their lowest value - as though they were turned all the way down - until they are changed!) Then make your other pre-performance on-screen selections (see above). The performance description that follows is adapted from the cantor's part/ cue sheet. The lights dim; the cantor enters (barely on stage) and quietly assumes the position he will maintain for the entire performance. The computer then opens by fading in three sustained notes, C7, A6, C7 - each overlapping the previous note, without sidebands and at maximum level. After the third note diminishes somewhat (it sustains throughout the sung passage), the cantor begins, and sings his opening segment. When the cantor concludes, the computer C7 strengthens, overlaps another A6, followed by a further C7, which then blossoms by adding sidebands. (In "simple" versions, fade in this C7 with a modest amplitude modulation level.) Additional tones enter, the texture expands, and at some point, stereo or quad panning is optionally introduced (panning is highly recommended). The 6.5-minute or longer computer improvization that follows maintains a minimum of two voices at all times - typically three to four, and is fairly active. This rich computer texture, likely enhanced by stereo or quad panning, eventually thins - until all that remains is a single (unmodulated) C7, at maximum level. (This is the first time since the beginning that the texture has reduced to a single voice.) The C7 is overlapped by a lone, pure A6 (again maximum level), by this time static in space (all panning has ceased). When the A6 diminishes, the cantor sings his final passage. (A6 sustains throughout the segment.) Once the cantor has finished, he remains in place while the computer A6 swells, is overlapped by a simple C7, which in turn is supplanted by a final A6 (both again at max). This note momentarily becomes sideband enriched, then returns to its original purity and dies to nothing. (In "simple" versions, fade in this A6 with a modest amplitude modulation level.) The cantor unobtrusively exits before the lights come back up. Toward the beginning and the end of the piece, pure (unmodulated) tones predominate. Toward the middle, as the texture thickens, greater amounts of amplitude sidebands (modulation) are added. Shimmer may be increased. Spatial movement is added (especially in the quad versions, which make little sense without it). This process reverses toward the end. During the cantor's opening and closing passages, there are only single sustained tones without modulation or spatial movement. DETAILS OF INDIVIDUAL VERSIONS stparadisum-- Requires two banks of six controllers each. Amplitude modulation factors set in performance window. Includes Test feature. Optional additional controller to toggle stereo pan (vs. static position). sstparadisum-- Simple variant of stparadisum, requiring a single bank of seven controllers. Controller seven serves as amplitude modulation level for all six pitches. Level changes only with following note. Optional additional controller to toggle stereo pan. paradisum4-- Same as stparadisum (two banks of six controllers each), except that panning is in quad (vs. fixed quasi-"stereo" positioning). Optional additional controller to toggle quad pan. Multichannel sound card (and ASIO driver) is required. stparadisuma-- Similar to stparadisum, except that three banks of six controllers each are required. The third bank sets the amplitude modulation factors for each of the six pitches (instead of the performance window). Includes test feature. The actual pot/slider modulation values are shown in the window. Optional additional controller to toggle stereo pan (vs. static position). sstparadisuma-- Similar to sstparadisum (and equally simple), requiring a single bank of eight controllers. Controller seven serves as amplitude modulation level for all six pitches. Controller eight sets the amplitude modulation factor for all pitches; the factor changes only with following note. Optional ninth controller to toggle stereo pan. paradisum4a-- Same as stparadisuma (three banks of six controllers each), except that panning is in quad (vs. fixed quasi-"stereo" positioning). Optional additional controller to toggle quad pan. Multichannel sound card (and ASIO driver) is required. stparadisumb-- Similar to stparadisum (two banks of six controllers each), except that a low and a high *random* amplitude modulation factor is specified on-screen for each pitch, rather than a single value. (These values determine the *range* of random selection. Note that it is OK to reverse the low and high numbers.) Changes in these factors take effect only with the following note. Optional additional controller to toggle stereo pan (vs. static position). sstparadiumb-- Simple variant of stparadisumb, requiring a single bank of seven controllers. (Low and high random amp mod factors chosen on-screen for each pitch; it is OK to reverse the numerical range.) Controller seven serves as amplitude modulation level for all six pitches. Level and random amplitude factors change only with following note. Optional additional controller to toggle stereo pan. paradisum4b-- Same as stparadisumb (two banks of six controllers each), except that panning is in quad (vs. fixed quasi-"stereo" positioning). Optional additional controller to toggle quad pan. Multichannel sound card (and ASIO driver) is required. stparadisumc-- Similar to stparadisumb (two banks of six controllers each), except that *single* low and high random amplitude modulation factors are specified on- screen which apply to all pitches. Changes in these factors take effect with the following note. Optional additional controller to toggle stereo pan (vs. static position). sstparadisumc-- Simple variant of stparadisumc, requiring a single bank of seven controllers. (Single low/high random amp mod factors chosen on-screen.) Controller seven serves as (random) amplitude modulation level for all six pitches. Level and random amplitude factors change only with following note. Optional additional controller to toggle stereo pan. paradisum4c-- Same as stparadisumc (two banks of six controllers each), except that panning is in quad. Optional additional controller to toggle quad pan (vs. fixed quasi-"stereo" positioning). Multichannel sound card (and ASIO driver) is required. stparadisumd-- Similar to stparadisumc (two banks of six controllers each), except that the single low and high random amplitude modulation factors (which apply to all pitches) are determined by two additional controllers, the values of which are displayed on-screen. (Thus 14 total controllers are required for this version.) The first controller number of this "bank" of two is specified on-screen. The random amp factors change only with the following note. Optional additional controller to toggle stereo pan (vs. static position). sstparadisumd-- Simple variant of stparadisumd, requiring a single bank of eight controllers plus one extra controller (total of nine). Bank layout differs from other simple variants: controllers seven and eight of the bank control low and high random amplitude modulation factors (which apply to all pitches and display on-screen). The "extra" controller determines amplitude modulation level for all six pitches. (Controller #1 - typically the modulation wheel - is default). Level and random amplitude factors change only with following note. Optional additional controller to toggle stereo pan. paradisum4d-- Same as stparadisumd (two banks of six controllers each - plus another "bank" of two, for a total of 14), except that panning is in quad. Optional additional controller to toggle quad pan (vs. fixed quasi-"stereo" positioning). Multichannel sound card (and ASIO driver) is required.