GLORIA MAGNUM MYSTERIUM (2021) for realtime Csound (PC and Android versions) Arthur B. Hunkins abhunkin@uncg.edu www.arthunkins.com To the Great Mystery - Ground and Sustainer of all being GLORIA MAGNUM MYSTERIUM is another in the long line of "Glory" works that includes, most recently, THE GLORY CYCLE. Like these earlier creations, GLORIA MAGNUM MYSTERIUM represents the continuing evolution of a fascinating instrument created by Luis Antunes Pena around 2006, on which he improvised his Etuede in Granit. (Luis' improvisation can be auditioned at: https://soundcloud.com/antunespena/etuede-in-granit). As always, I remain grateful for his inspired creation. The current work is similarly a live-performance Csound instrument rather than a traditional composition. It is a framework for improvisation - either totally free, or structured (to whatever degree) by the performer. It is presented in three versions: one for console computers (PC, Mac or Linux), one for Android tablets or smartphones, and one that auto-performs on all of these platforms. The console edition requires a MIDI controller (comprising 7 -10 sliders or knobs). The Android version accomodates the number of controls available on the following available Android Csound apps: the Csound app downloadable from play.google.com (requires Android OS 5 or higher), or any of the "alternative" Android apps downloadable from http://www.arthunkins.com/Android_Csound_Apps.htm (Android OS 4.1.1 or higher). All the above apps adapt to live-performance renditions on up to 9 sliders/knobs. Csound6b, Csound6c and the Csound for Android from play.google allow for all ten sliders - the latter by appropriating the x-axis of its trackpad as controller 10. Both it and Csound6c include a limited console readout of the preset values determined by sliders 9 and 10. (The computer version, GloriaMagnum, includes this readout as well; GloriaMagnumAuto does not. Instead, the latter sets these values through orchestra macros - see below.) Note that to download one of the "alternative" apps (that is, apps from other than play.google.com) directly to Android, you must, under Settings | Security, enable Unknown Sources. (You may also need to do the same to *Install* from Unknown Sources.) After installation, copy/paste your selected .csd to any user-accessible folder on your device (suggestion: the Music folder). Then Open that file within the app, and Run Csound. The self-performing version, GloriaMagnumAuto, is playable by all console computers and Android devices (OS 4.1.1 and higher), and don't require a MIDI device. They automatically render the "10-controller" version. GENERAL PERFORMANCE CONSIDERATIONS All three versions are for real-time performance, with GloriaMagnumAuto self-performing according to parameters determined by the user (via orchestra macros - see further below). All slider/knob movement is slow to very slow. Movement is not necessarily constant, though it may be. The first control (an overall volume control) is always moved alone, including at the beginning and end of a performance. (Typically, it would only be moved twice: to full on at the beginning and full off at the end.) Other controls may be moved together. (Note, however, that in Android Csound, only one control is active at a time.) The overall sonority should seem to evolve and transform, all in an unhurried, relaxed fashion. With the Android sliders, there should be no "skips" in slider value; each new movement should begin where the previous one left off. Audio output is stereo, with slider 8 offering an optional panning option (a PAN preset option is available in the Auto version). IMPORTANT: amplifier level should be preset to LOW VOLUME, as the intent of the music is meditative. It may only be moved - via slow fadeout - to conclude (prematurely!) an endless rendition of GloriaMagnumAuto (or one of greater than desired preset duration). If you get any "glitching" in performance with Android, Disable WiFi and any other connections in your device. There are no recommendations for performance duration. For the active performance versions, there is also no requirement that all controls be used. Prior to performance all controls are initially set to zero. After Csound start, other controls than number one may be changed to alternate positions - especially optional preset sliders 9 and 10. Actual (i.e., audio) performance then starts by raising slider 1 to max, where it remains, eventually concluding by returning it slowly to zero. NECESSARY EDITS All three versions of this work, especially the one for console computers (GloriaMagnum), will likely require minor text editing - primarily, in the case of computers, to accommodate a particular platform and/or MIDI device. These edits are made in any basic text editor, as the .csd's are simple text documents. For GloriaMagnum): under , near the top of the .csd, 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 output includes 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. (If you have 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.) Also for GloriaMagnum, there are two orchestra macros (likewise listed toward the top of the .csd) that may require editing: CHAN and CTRL. CHAN defines the MIDI Channel your controller is sending on (default is 1, the normal channel). A special code, CHAN "0", indicates that your MIDI device sends Continuous Controller 7 (CC 7) messages on the first 7 to 10 channels, depending on the number of controllers required. CTRL defaults to 20, the number of the first of 7 or 8 contiguous CC's. If additional controllers are required, these controllers (9 and 10) are identified respectively as CTRL1 and CTRL2. Substitute CC numbers appropriate to your MIDI device. Note that any substitutions you make must be enclosed by #'s. Though GloriaMagnumAndroid and GloriaMagnumAuto do not include the above macros, they do include others - all with stated default values. These are listed in the descriptions below, and may need editing. The standard Csound app from play.google.com actually has an editor within Csound. Upon selection, your .csd automatically opens in Edit mode. (In addition, the "alternative" Csound6 apps include an Edit button which will access any text editor installed on your device, also once a .csd is loaded.) In any case, when finished editing, be sure to Save; your revision is immediately available to Run without reloading. THE CONTROLLERS The general function (and order) of the 7-10 controls is the same for GloriaMagnum and GloriaMagnumAndroid. Controller 1: master volume, presenting a "chord" of 24 voices, alternating, in ascending order, between the two channels. (Voice 1, the lowest note of the chord, is shared by both channels however.) The sonority is built of equal intervals. Voice 1's pitch (which is actually fundamental FREQ * 4) is preset by controller 9, and the interval multiplier for the chord by controller 10 Controller 2: band-pass filtering of Voice 1 Controller 3: slow, random amplitude variation on a per voice basis Controller 4: random, high-frequency modulation (per voice basis) Controller 5: master timbre control (via the gbuzz opcode) Note: Voice 1 is unaffected by controllers 5 through 8 Controller 6: slow, random variation of master timbre control Controller 7: master spectral amplitude control (thanks to Luis Pena) Controller 8 (optional): random dual pan of the two channels (both consisting of 12-voice "chords"), each invading the other's spatial position Controllers 9 and 10 (both optional): These controllers are preset prior to actual performance, but after the start of Csound. Setting can occur under either of two conditions: 1) while controller 1 remains at zero as random or predetermined values are set; or 2) while controller 1 is raised, to find or validate (by ear) desired values for 9 and 10 - after which controller 1 is returned to zero and "real" performance can begin. Default values apply when 9 and/or 10 are unmoved or absent (defaults: for 9 = 200 [fundamental frequency] and for 10 = 1.1 [interval multiplication factor]). Specific values for these two variables can be determined in advance by employing either the console version, Android Csound6c or Csound for Android - via their console printout feature. Such values can then be identified without needing to raise controller 1. (They can also be inserted in the corresponding macros of GloriaMagnumAuto - see below.) Note that these successive printouts at 1 second intervals could conceivably cause glitching on Android devices; so - for Android - button 1 toggles between console "printout on" and "printout off". Use the latter setting during actual performance (default = "print off"). Also note that if you are happy with the default values for frequency (200Hz) and interval multiplication factor (1.1), you only require 8 controllers. Likewise, you'd only need 9 knobs/sliders if you wanted to specify a custom frequency, but were happy with the default multiplication factor. SPECIAL CONSIDERATIONS GloriaMagnumAndroid - There is an orchestral TRACKPAD macro in this version which relevant only to the Csound for Android app. This app lacks a tenth slider, and so - if necessary - you can specify TRACKPAD = 1 to activate the pad's x-axis as the additional controller to custom preset the frequency multiplication factor. In all other situations (including other Android apps), the default value of zero is appropriate; slider 10's value will apply (or if the slider is not present or preset, its default, 1.1). GloriaMagnumAuto - This auto-performing version is randomly generated, not physically performed, and thus requires a number of orchestral macros to guide its progress. Many of these deal with duration (which can even be infinate!), and tempo. All of course have defaults, so that a unique rendition can be accomplished by simply "clicking Run" in an appropriate version of Csound. (The demo that accompanies these materials is a recording of such a rendition.) The macros follow: FREQ #200#; allowed range = 150 - 300; frequency in Hz (the *actual pitch* of Voice 1 is frequency * 4) MULT #1.1#; allowed range = 1.1 - 1.10115; multiplication factor for ascending frequencies Note: the macros above specify values otherwise preset by sliders 9 and 10 in the other two versions. Precise custom values for these macros can be obtained by running one of the other versions on a device with the printout feature, as described above. TEMPO #1#; allowed range >= 1; higher value = SLOWER (a duration [DUR] multiplication factor) DELAY #5#; silence (following Csound start) before onset of audio in seconds DUR #360#; total duration in seconds; 0 = endless FADE #10#; length in seconds of opening and (if any) closing fade PAN #1#; 1 = random pan; 0 = no pan Note: Voice 1 does not pan, but remains equally present on both channels. Note also that PAN = 0 eliminates the panning feature (otherwise produced by controller 8), and effectively rendering a "7-slider" performance. (All other "slider" parameters are necessarily included in an auto-performance.) Performance of GloriaMagnumAuto begins immediately when Csound is run, or following the period of initial silence specified by the DELAY macro. To end a rendition prematurely (either an "endless" rendition, or one preset for a longer duration than is ultimately desired), slowly turn down the amplifier.