ON THE SIXTH DAY (2008) A Trilogy of Sonic Environments for realtime Csound5 Arthur B. Hunkins Then God said: "Let us make man in our image, after our likeness. Let them have dominion over the fish of the sea, the birds of the air, and the cattle, and over all the wild animals and all the creatures that crawl on the ground." God created man in his image; in the divine image he created him; male and female he created them. God blessed them, saying: "Be fertile and multiply; fill the earth and subdue it." And so it happened. God looked at everything he had made, and he found it very good. Evening came, and morning followed - the sixth day. Genesis 1: 26-28, 30-31 On the sixth day I was created. God said I was very good. On the sixth day We were created - my friends and I. God said We were very good. On the sixth day my Family was created - my loved ones and I, together with all the other creatures. God said my Family was very good. God saw that everything He made was very good. He was so pleased He decided to take a holiday. To the children of the world GENERAL ON THE SIXTH DAY is a set of three simple performance environments for Csound5. Suitable for any computer platform that runs Csound, each environment is essentially an instrument that suggests an improvizational structure. It is not a composition, and no performance instructions are given; its instrument is simply intended to be explored creatively. As a result of exploration, performance *may* express itself as a composition (though perhaps more properly, as structured improvization). Each succeeding member of the trilogy elaborates the materials of the previous one. ON THE SIXTH DAY will soon appear as a set of Activities specificly designed for children and the OLPC computer (probably under a different title). ENVIRONMENT #1 - I Sixth-I takes 16 tone colors based on the same pitch (A440) and distributes them in space. Each successive color is slightly brighter than the previous one. Sixth-I is available in a number of variants, reflecting different levels of improvizational complexity, and designed for a variety of MIDI controllers (control surfaces). The basic version requires 16 rotary pots or sliders (sliders recommended). Variants with "Alt" in their title require either an additional pot/slider, or (with "N" in title) a set of 6 MIDI notes (keys, buttons or pads). "Alt" versions allow the user to specify pan position for the tones (rather than position being randomly generated). A set of "Simp" (Simple) versions reduces the pot/slider requirement to 8 (9 for the "Alt" variant; or 8, plus 6 MIDI notes, in the case of "N" versions). The 8 tones are the first 4 and the last 4 of the larger set of 16. In addition, these variants may be performed alternatively on the ASCII keyboard. ASCII "editions" contain "ASC" in their titles. An additional option is indicated by "ASCF"; this indicates that the screen offers visual Feedback as to the on/off status of the various tones, as well as displays certain other crucial values. Use of the "F"eedback versions is recommended, as otherwise it is easy to get lost. (The only drawback is that these versions *may* cause audio breakup. In reality, the MIDI versions are least likely to experience audio glitches.) Finally, two Combination (Comb) versions are also available. One aggregates features of several controller variants; the other, of all ASCII versions. Details of the versions are listed below. Performers are encouraged to experiment with all variants, to explore their differing "feel," complexity, and creative potential. A parallel set of standalone .exe's is also available - currently (2/09) for Windows only. They were generated by Rory Walsh's Lettuce frontend for Csound5 (http://www.ear.ie/Lettuce.htm). Available along with the .csd versions in a single, large Sixth-I.zip download (which includes this file), their filenames begin with "L" and end with ".exe" instead of ".csd". (For platforms other than Windows, download Sixth-I.zip and run only the .csd files.) Whereas Csound5 must be installed to use the Sixth-I.zip package, another collection, Sixth-ISA.zip, is intended for use *when Csound5 is not installed*. (Sixth-ISA.zip lacks the .csd versions, but includes necessary Csound files.) Again, this option is Windows only. Ease of use in setup and performance is the chief advantage of the standalone .exe's. See run-time "Instructions" window for further details. Csound5 is a software sound synthesis program available for all major computer platforms. Sixth-I specifically requires Csound5.02 or above. Free downloads for various systems are found at: http://csound.sourceforge.net. All versions of ON THE SIXTH DAY are stereo only, and do not lend themselves to multi-speaker sound diffusion. There is no suggested duration; the performance file can run for a total of 60 minutes. GENERAL SETUP You will probably need to edit several flags near the beginning of your performance file. (Do this in any text editor; your .csd is a simple text file. In standalone .exe versions, this all is accomplished in the performance window: open CsOptions, edit the designated values, and observe the output under View Output.) You must insure that the values of -M0 (your MIDI input device #) and -odac0 (your audio output device #) match your system. Simply substitute a high number, such as -M99 and -odac99, for the zeros and run the file. The performance will immediately abort and display a list of valid device numbers on your system. Once you identify the appropriate numbers, go back and insert them in place of the zeros. This composition should work well with any audio driver type; latency is not an issue. If you are having a problem with stuttering or clicks, be sure to close as many programs running in the background as you can. ASCII versions may produce pops; those with visual Feedback are particularly likely to do so (the basic set will not have a problem). As a last resort, you can try reducing the sample rate (note that not all soundcards and native ASIO drivers in Windows allow lower rates). SPECIFIC SETUP AND PERFORMANCE Performance consists exclusively of manipulating MIDI pots/sliders, and/or pressing ASCII keys. Sixth-I uses 16 different tone colors, all on the same pitch; each expands to a different pan position. Only the first tone, the simplest, is always front-and-center. The performer fades the tones in and out, usually to full on or off (it is automatically this way with ASCII keys), varying the timings of events and the lengths of the fades. In Alt versions, the performer actually selects pan position (via pot/slider or ASCII key). (In other versions, these choices are random and made when Csound is started.) With regard to setup (controller versions only): two special controller configurations may be encountered occasionally. (These require adjustment to the defaults either in the performance file itself, or with standalone .exe's, similarly in the performance window.) 1) ALL CONTROLLERS USE THE SAME CHANNEL, BUT NOT #1: Locate the line toward the beginning of the performance file - "#define CHAN #1#" (channel 1 is the default). Change the channel number to the one you need (from 2-16) with a text editor. (This revision is active until you change it again, in .csd versions.) Note that the "#" characters around the channel number must remain. 2) EACH CONTROL USES A UNIQUE CHANNEL, BUT WITH (channel volume) CONTROLLER #7: To enable this layout, define CHAN as #0#. All controllers will now be on consecutive channels, starting with channel 1. (In the standalone .exe, simply select a channel number of 0.) This option is only available in versions requiring 16 or fewer controllers. Several other variables are also defined toward the beginning of the performance file (or in the performance window of a standalone .exe). SRATE equals SampleRATE, for which two options are listed - 44100 is the default. 44100Hz is the lowest rate possible. Select the highest rate at which you get click-free, uninterrupted sound. In standalone .exe's, SRATE is chosen in the CsOptions window. Depending on the version, the following variables are also active, and must be preset (variables in standalone executables have similar names): CTRL1 (2) specifies the initial controller of the first (second) 8-controller bank. These initial bank controllers default to CC20 and 28. PANCTRL indicates the selected controller # for pan. Default = 7. MIDI specifies the first MIDI note number for a set of 6 consecutive MIDI notes in "N" versions. (These control panning.) The default is 60. Prior to running Csound, be sure to turn all pots/sliders to zero. Only once Csound is started, turn up any pots/sliders to a higher initial level. Note too that the default pan setting for (L)Sixth-IAlt is 5 (centered, on a scale of 0-10), and that the initial Fade Time for all ASCII versions is 6 seconds. Both settings can be modified as soon as Csound begins. THE VARIOUS VERSIONS (L)Sixth-I - 16 sliders/pots (sliders preferred) specified as two "banks" of 8. Bank1 fades tones 1-8, bank 2, tones 9-16. The pots/sliders move the corresponding tone directly from center to its randomly-selected position. These random positions are preset when Csound is started, and do not change when tones are turned off and restarted. (L)Sixth-ISimp - Identical to (L)Sixth-I, but with a single bank of 8 tones (8 pots/sliders). These tones are the first 4 and last 4 of the above 16. (L)Sixth-IAlt - Identical to (L)Sixth-I, except that pan positions are not randomly preset. A 17th pot/slider selects pan position. However, tone 1 is always center position (it is also the initial default). Other tones (in whatever order), move to the pan position last selected prior to the note's onset. When a tone is reintroduced after having been turned off, it moves to the *last*-selected position prior to its reappearance. (L)Sixth-IComb - Combines, as options, all features of Sixth-I and Sixth- IAlt. (L)Sixth-IAltN - Identical to (L)Sixth-IAlt, except with only 16 pots/ sliders. A bank of 6 MIDI notes (keys/buttons/pads) selects pan position. The note numbers of the bank are consecutive; the bank is identified by its initial note number (default = 60). The 6 pan positions are, from L to R: 0, .15, .3, .7, .85, 1. Tone 1 is always center position (.5). (L)Sixth-IAltSimp - Identical to (L)Sixth-IAlt, but with a single bank of 8 tones (8 pots/sliders). A 9th pot/slider selects pan position. (L)Sixth-IAltSimpN - Identical to (L)Sixth-IAlt, but with a single bank of 8 tones (8 pots/sliders). A bank of 6 MIDI notes (keys/buttons/pads) selects pan position. See further (L)Sixth-IAltN for info on pan position. (L)Sixth-IASC - Similar to Sixth-I, but with ASCII keys replacing the MIDI controllers. ASCII keys Q through I turn tones 1-8 on and off, while keys A through K do the same for tones 9-16. Fade time is set interactively by the performer by pressing numeric keys 1-0 (0 = 10); the numbers represent fade time in secords. New fade times take effect with the following fade. (The default duration is 6 seconds; this value may be changed as soon as Csound is started.) Additionally, in all ASCII versions, the Enter/Return key acts as a reset button, turning all tones off, with all functions except fade time reverting to their default states. Also, all *.csd variants* of ASCII versions must be performed from the command line. (L)Sixth-IAltASC - Similar to Sixth-IAlt, but with ASCII keys replacing the MIDI controllers as described above. The Enter/Return key functions as above. In addition, pan positions are specified by pressing ASCII keys Z through /. There are 10 positions (0 - 10): Z is far left, / is far right. Only center position (displayed as 5 in versions with visual feedback) is not represented, though it is the initial default and always returns when tone 1 is played. The *.csd variant only* must be performed from the command line. (L)Sixth-IASCF - The same as Sixth-IASC, except that visual Feedback is given for key on/off status (a very useful and recommended feature). Note that this feature may cause audio glitches, however. The Lettuce .exe variant displays this feedback clearly; the command-line versions list data in a single line (in groups of 8 tones), with the current fade time (1-10 seconds) appended at the end. (L)Sixth-IAltASCF - The same as Sixth-IAltASC, except with the visual Feedback features described in Sixth-IASCF. In addition, current pan position is also shown - in the case of the .csd variant, at the very end of the Feedback line. (L)Sixth-IASCComb - Combines, as options, all features of ASCII versions. Feedback is also optional (though recommended).