EPIPHANIES (Videntes stellam) for CsoundAV (2005) A Performance Environment Arthur B. Hunkins The star that they had seen in the East went before them, until it came and stood over the place where the child was. And when they saw the star they rejoiced exceedingly. Matthew 2:9-10 To the Great You Are - and in gratitude to Whoever and Whatever point the way Thanks to Dave Seidel and J-C Risset GENERAL Epiphanies is a live improvisation environment that sets a meditative mood. The work requires a Windows-based computer running CsoundAV, and optionally an 8-9 pot/slider MIDI control device. Since performance is improvised, duration is indeterminate. Epiphanies exists in monaural, stereo and quad versions - 4 of each. The basic mono filename is "epiphanies.csd," the stereo, "stepiphanies.csd, and quad "epiphanies4." The only difference between mono and stereo versions is that the stereo version places the sounds in a (centered) stereo field. (Quad further adds a simple front-to-rear dimensionality.) The basic versions use an on-screen performance window with sliders, and mouse. Variants of each basic version substitute external MIDI controllers for the mouse. These include the letter "m" to the end of their names (e.g., epiphaniesm.csd). Many performers will prefer the feel and action of a MIDI device - a bank of 8 or more rotary pots or sliders, available on any number of keyboards or control surfaces. There are, in addition, parallel "simple" versions. Their only difference is a lack of high pass filter (a single slider) - a compromise that cuts down significantly on the amount of computing power required. (The work is computationally intensive, and less powerful/older computers will require the "simpler" versions). These versions are identified by an additional "s" at name end (e.g., epiphaniess.csd). *"Simple" versions are only to be used when a given computer is not capable of "normal" versions.* (The easily recognized symptom of "computer overload" is sound that breaks up, stutters or does not play at all.) Note that the MIDI versions are somewhat less computationally intensive than those that use on-screen sliders and mouse. (Also, the quad versions are *not* significantly more taxing than those in stereo.) 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 the chance of audio breakup. (Depending on your system, there is an excellent possibility of disaster otherwise.) Only the mono versions of Epiphanies lend themselves to multi-speaker sound diffusion. In diffusion, movement should be gradual, fairly continuous, and end centered somewhere in a plane extending from directly overhead to directly in front of the ideal listener. 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. 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 ksmps (also at the top of your .csd file) to 22050 and 50 respectively. (You cannot use ASIO drivers at these rates.) Otherwise, you may need a faster computer. SPECIFIC SETUP AND PERFORMANCE Performance consists of manipulating the 8 or 9 on-screen or MIDI pots/ sliders. In the MIDI versions, the continuous controllers (pots or sliders) must be numbered consecutively - forming a "bank" of eight. The first number of this bank is preselected in the performance window. You must locate a series of eight contiguous controllers among the presets on your MIDI device (at least one such grouping normally exists); otherwise you'll need to program such a set on your device. (Also be sure 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.) The first three controllers (both on-screen and with MIDI) pertain to "Tone 1," a series of *odd*-numbered harmonics based on 1300Hz. Controllers 4-6 relate to "Tone 2," *even*-numbered harmonics over the same fundamental. (In both cases the higher harmonics are given more prominence.) Controllers 1 and 4 are the audio levels for the two "Tones"; thus, raising and lowering them both start and end a performance. The second of each trio of controls regulates Detune (beat) Level, while the third manipulates the Detune (frequency) Spread (and thus speed) of the beating. (Pairs of four detuned replicas surround each original "Tone"; the "Detune Level" affects each replica equally.) The effect of these controls is to create different intensities and speeds of shifting harmonic emphasis - a sort of quasi-random "harmonic arpeggio." Controllers 7 through 9 affect both "Tones" equally. Controller #7, Random Frequency Level, adds a random pitch "jitter," while #9 contributes "Shimmer" - a fairly fast random *amplitude* deviation. While the pitch "jitter" changes the frequency of both "Tones" in the same way (thus treating them as a single larger sonority), the amplitude "shimmer" does not, thus contributing further to shifting harmonic emphasis within the sonority. Controller 8 is a multiple-stage high pass filter which can attenuate, to varying degrees, the lower harmonics present in both tones. In "simple" versions, this control is absent, and "Shimmer" control #9 becomes controller #8. In the on-screen slider versions, you can move the sliders in several ways (though in most cases you must initially click on the slider to select it). First, you can click and drag the handle to a new location. Second, you can directly click a new location (here, a single click suffices). Third, you can move the slider by holding down the cursor-left or cursor-right keys on the keyboard. In all cases, the length of time it takes for the parameter to register a new setting is determined by the on-screen Glide Time control (this value may be changed at any point in the performance; default is three "seconds," though the actual time is probably twice that long). In the MIDI versions, there is an additional performance option regarding "Shimmer." Default is for "Shimmer" level to be set (preset) via an on-screen counter, the eight other variables being controlled by sliders. This is the necessary configuration when only eight sliders/pots are available. However, with 9 or more pots, you may set the controller number for this additional pot on-screen, and perform "Shimmer" on your MIDI device. Set it to a valid number between 0-127; doing so defeats the on- screen counter. (The default - and non-existent - value 128 indicates that "Shimmer" is to be set on-screen.) Specifics of the various versions are listed below. (Special features of the quad versions are described at the very end.) Prior to starting a *MIDI* performance file, be sure to turn all pots/ sliders to zero. Then adjust sliders to any other desired settings prior to raising pot/slider one or four to begin performance. Improvisation requirements are few: 1) sound should be continuous throughout; 2) nothing dramatic should occur (no sudden movements of pots/ sliders); 3) the overall level should never exceed moderate; 4) it is not necessary to use all resources in a given performance (for example, only one of the two "Tones" might be used; or "Shimmer" might be excluded). In addition, certain controls/variables may be "preset," remaining unchanged during performance. The basic generative image for this work is the Star of Bethlehem (Star of the East); interpretations of the work should constitute a meditative reflection on this image or a comparable "epiphany." SPECIFIC VERSIONS epiphanies.csd-- Uses 9 on-screen sliders for performance. (No MIDI required.) epiphaniess.csd--"simple" Same as ephiphanies.csd, but without high pass filter (only 8 sliders). "Simple" variants are appropriate only for less powerful computers that cannot handle more demanding versions (see further above). epiphaniesm.csd-- Uses 8-9 MIDI controllers (8 in a single "bank") for performance. "Shimmer" is optionally controlled (preset) *on-screen*. Controller numbering is also selected on-screen, adapting to available numbering sequences on MIDI device. epiphaniesms.csd--"simple" Same as ephiphaniesm.csd, but without high pass filter. Appropriate only for less powerful computers incapable of performing more demanding versions. MIDI (8 controllers only). stepiphanies.csd-- Stereo version of epiphanies.csd (9 sliders) stepiphaniess.csd--"simple" Stereo version of epiphaniess.csd (8 sliders) stepiphaniesm.csd-- Stereo version of epiphaniesm.csd. MIDI (8-9 controllers). stepiphaniesms.csd--"simple" Stereo version of epiphaniesms.csd. MIDI (8 controllers only). THE QUAD VERSIONS epiphanies4.csd--similar to stepiphanies.csd epiphanies4s.csd--similar to stepiphaniess.csd epiphanies4m.csd--similar to stepiphaniesm.csd epiphanies4ms.csd--similar to stepiphaniesms.csd The four quad versions strictly parallel the stereo versions listed above. They add a simple and straightforward front-to-rear dimension, implemented through two additional on-screen counters: a Start Level and a Fadein Duration. In brief, the performance begins with sound in the frontal plane at volume set by Start Level. The loudness increases to maximum (10) over the period of time specified by Fadein Duration (30 seconds to 10 minutes, selectable in 30 second increments) - during which time the sound moves to directly overhead. During the rest of the performance, sound remains at this position. Start Level and Fadein Dur are preset and unchanged during performance. Quad performance begins when either slider 1 or 4 (level for the two "Tones") is first raised; it ends when both sliders are simultaneously at zero. The front-to-rear panning affects the level of both tones equally; and once begun, this process is automatic. (The panning sequence will repeat after sliders 1 and 4 reach zero together.) This quadraphonic conception was inspired by an image of the Magi approaching the Star of Bethelehem and the birthplace of Jesus. A possible quad realization might involve an initially simpler Tone or Tones gradually becoming louder, more complex, more active and/or with greater stereo spread as they move to the overhead position.