O QUAM PULCHRA ET GLORIOSA 2 (2022) for realtime Csound6 Arthur B. Hunkins abhunkin@uncg.edu www.arthunkins.com GENERAL O QUAM PULCHRA ET GLORIOSA 2 is not so much a composition as it is an instrument, or a framework for (solo) improvisation. It exists in two versions: one for console computers (PC, Mac and Linux), and one for Android devices. Output for both versions is stereo. Console versions require Csound 6.04 or higher, and a MIDI controller with 3-15 knobs/sliders (sliders preferred). They do not contain "Andr" in their titles. Android version titles *do* contain "Andr". They run only on the standard Csound for Android app (free @ play.google.com). This app requires at least OS 5.0 and works on all smartphones, tablets and Chromebooks. The versions differ in several other ways: 1) how many (1-4) "voices" they produce; 2) how many controllers per voice they require (2 or 3); 3) for console versions, the total number of knobs/sliders they need. The title indicates the number of voices: "1V", "3V" (which also includes "2V"), and "4V" (which includes "2V" and "3V"). A "Full" version indicates 3 controllers per voice, while "Reduced" in the title indicates only 2 controllers per voice. Each "voice" is associated with a sample, which is perpetually looped. Voices 1-4 are assigned OQuam1.wav through OQuam4.wav. For single-voice versions, OQuam4 is substituted for OQuam1. Make sure that samples reside in the same folder as your selected version. (For Android, all materials are placed in the "Music" folder.) The texts of the four samples are: OQuam1: "O quam pulchra" OQuam2: "pulchra et gloriosa" OQuam3: "gloriosa es" OQuam4: "O quam pulchra et gloriosa es" For each two-controller voice, the first controller is a level control for that voice; the second determines how much of that sample is actually performed. (Samples always loop from their beginning.) For three-controller voices, a loop density rate is added. As the control is raised, the loops start to overlap, and density of looping (repeat rate) increases - to the point of a general "din". In addition to the controls dedicated to individual voices, there are three optional controllers that affect all active voices equally. In numerical order they are: 1) a *total* density control, which also randomizes loop density for individual voices (this control is *required* for two-controller voices); 2) an "exciter" control that adds higher harmonics to the overall sound, creating a "shimmer" effect; 3) a small, random pitch-trim control applied individually to each active voice *only when its individual loops do not overlap* (it is inactive otherwise). The pitch changes on a per-loop basis. The order of presentation of these "extras" suggests their likely utility. Various levels of complexity are represented by the different versions. (Single-voice versions can be performed by as few as 3 controllers.) The demo available on this website shows the general range of possible textures - 4 full voices using all three optional controls (15 controllers total). NECESSARY EDITS TO THE VARIOUS VERSIONS The following edits may be required for *console versions only*. These changes can be made in any text editor (e.g., Notepad), and are found toward the beginning of each .csd. First, under , you'll need to adapt for Linux if you are on other than a Windows or Mac system. (Recall that an opening semicolon comments out a row of code; removing the semicolon implements the row.) If you have a single MIDI device, the default -M0 is fine. If your console outputs an "unrecognized MIDI device" error, look for the MIDI device list, and substitute your appropriate device number for the zero in -M0; then rerun Csound. (With more than one audio output device, you may need to follow a similar procedure for -odac, appending the appropriate device number - e.g., -odac6. The default is effectively -odac0, the number of your usual stereo device.) You'll also probably need to modify the MACROs found a little further down the .csd. These are largely MIDI-related settings, and allow your MIDI controller do communicate properly with Csound. The assumption here is that MIDI data are output on channel 1. VOICE1-4 specifies the beginning controller number of either 2 or 3 successive controls per voice - 2 for Reduced mode, 3 for Full versions. GENDENS is the number for the optional "total density" control, EXCITE is for the "exciter" control, RNDPTUNE is for random fine-tuning of individual voices. The two 4-voice versions, OQuam2-4V and OQuam2-4VReduced, are the only editions that allow for a varied number of voices (2 to 4). The VOICES macro is set for the desired number. The VSLIDERS macro occurs only in OQuam2-1V, a single-voice version - the only one that can run in either Full or Reduced mode. A value of 2 indicates Reduced mode (2 sliders per voice), a value of 3 for Full mode (3 sliders per voice). Note that for all macros, numeric substitutions must be enclosed by #'s. Also, make sure that no macro reserves a controller number that duplicates another. As mentioned above, Android versions require no edits. Note, however, that the Csound for Android app has a trackpad whose A-axis functions as a 10th controller. Also be aware that the number of knobs/sliders available on either Android Csound (10) or your MIDI controller (in console performance) may reduce the number of optional parameters. PERFORMANCE CONSIDERATIONS Performance is completely improvised; no score is provided. (Performers are free, however, to pre-plan anything they like.) Simply observe the following: 1) Set all controllers to 0 prior to running Csound. After start, optionally adjust any controller other than the first of each voice, to a higher value. Performance begins by raising one or more of these first controllers, and ends when all of the same finally return to 0. 2) Be aware that for each voice, the sound only starts at the beginning of a loop, which may be several seconds after you raise its first slider. 3) Move knobs/sliders slowly and evenly. On Android, be sure that, if you stop a slider midway, you pick up close to the same spot; otherwise a "skip" will occur, which should not happen. (No skips or sudden movements anywhere please!) 4) IMPORTANT: Also be aware that, with the third slider of each voice as well as the first "optional" slider, movement (loop density variation) *has a delayed effect*. These controls must be *moved very carefully* to allow the effect to sound gradual. (This applies to movement in both directions.) 5) It is not necessary to use all sliders. 6) Finally note that, on Android, only one control can be moved at a time. On PC's, with MIDI, there is no such limitation; feel free to manipulate several controls simultaneously. There is no suggested duration for performance.