Selections from ON THE SIXTH DAY (I and Family) for realtime Csound5 (2008) Four "Sonic Environment" Activities primarily for children, designed for the One Laptop Per Child (OLPC - XO) computer and other low-powered systems Arthur B. Hunkins A Creation Story - 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, and joined us in play. These four activities, two from The Sixth Day "I" series and two from "Family", are simplified and adapted primarily for children, and for lower- powered computer systems such as the One Laptop Per Child (OLPC - XO). They are designed to promote creativity and collaboration (multiple ASCII keyboards and any number of MIDI control devices may participate in the same "exploration"). OLPC1 and 2, from the "I" series, are simpler, and sound only a single pitch. OLPC3 and 4 ("Family" series) are more complex, and build on the first 10 harmonics of a basic pitch. They incorporate a larger variety of performance options as well. OLPC1 and 3 require one or more (USB) MIDI controllers with, in total, 8+ knobs and/or sliders. Important: The controller(s) must be attached, and controls set to zero BEFORE Csound is started. OLPC1MC and 3MC are the versions that allow for Multiple Controllers. When more than one controller is used, all must be set to the same designated channel (including channel "0" - which designates successive channels using controller 7). In addition, note that these versions only, require Csound5.10 or above. Though many different control devices may be used (as well as mixed and matched), the inexpensive Korg nanoKontrol is one appropriate choice; it can nicely handle either 8- or 9-slider renditions (but not those requiring more than 9 sliders). Choose Scene 4 on the Korg, and Channel (CHAN) "0". To run these files (starting Csound performance), type in the terminal: csound OLPC1.csd in the directory in which OLPC1.csd is located. (The file will run for a maximum of 60 minutes; it can be stopped at any time by pressing CTRL-C.) Of course, for "OLPC1.csd", substitute the version of your choice. Before running Csound, however, view the beginning of your file in any text editor. Of interest are the lines below - the ones beginning #define. These represent options you must select, and ways of letting the file know the settings of your MIDI controller(s). These variables (in CAPS) are all given common default values. Changing values is simply a question of replacing the number between the two #'s; just be sure not to leave any blank spaces. Valid options are described for each case. Default settings always represent the *simplest* options. Part of the challenge (and fun) is exploring these different alternatives. Finally, *all* of these files permit multiple ASCII keyboards connected to the single computer. It is possible too for several children to be playing the same ASCII keyboard (or MIDI controller) - either sharing the same keys/ controllers, or (more likely) dividing them up. Descriptions of the individual performance files follow. OLPC1.csd (Simple) - Requires a MIDI device with 8 or 9 pots/sliders. 8 controllers are assigned different tone colors on the same pitch. A 9th controller may specify PAN position. Options: CHAN (selected MIDI channel - "0" = multiple channels of controller 7); CTRL1 (# of first controller of 8 consecutive); a PAN control option (random is one choice); PANCTRL (# of the pan controller, if player-controlled PAN selected). OLPC1MC.csd (Simple) - As OLPC1.csd, but with Multiple Controllers option. Requires Csound5.10 or later, and that all MIDI devices be set to the same channel. OLPC2.csd (Simple) - 1 or more ASCII keyboards (no MIDI). Options: display FEEDBK (feedback = ASCII key status) on screen; PAN control (including random). Active ASCII keys: 1 through 10 (0) = # of seconds of fade time; Q through I = the 8 "tones" (same pitch); Z through / = pan position (L to R) when user PAN control selected. Enter key = all tones off. OLPC3.csd (Advanced) - Requires a MIDI device with 8 - 11 pots/sliders, or alternatively, 8 - 10 pots/sliders with 10 MIDI notes. Similar to OLPC1, but with many more options. One principal addition is that the 8 tones are, by default, assigned 8 of the first 10 harmonics of the basic pitch (in ascending order - with harmonics 4 and 6 absent). However, the HARM (harmonic) option also permits all 10 harmonics to be assigned randomly or controlled by the player. If user-controlled, HARCTRL (harmonic controller) specifies the # of the controller. For MIDI devices with keys, HARMIDI defines the first MIDI note #, of a series of 10, that select among the 10 harmonics. Another principal addition is the DEPTH variable, which may be "off", random or user-controlled. DEPCTRL specifies the controller # for user-controlled DEPTH. OLPC3MC.csd (Advanced) - As OLPC3, but with Multiple Controllers option. Requires Csound5.10 or later, and that all MIDI devices be set to the same channel. OLPC4.csd (Advanced) - As OLPC2, but with many more options. The two main additions (similar to OLPC3) are the 8 or 10 pitches (harmonics) and the DEPTH dimension. In addition to FEEDBK and PAN variables, there are HARM (harmonic), which includes user-selection of harmonic per tone and random; and DEPTH (including performer-selected depth amount, "off" and random). The player selects the harmonic (of 10) with ASCII keys A through ; (ascending), and degree of depth with SHIFTED keys 0 through 9 (the ` key also = 0, 0 being no reverb/depth). Other ASCII key assignments are identical to OLPC2.