GLORY 3 (2020) for realtime Csound (PC and Android versions) Arthur B. Hunkins abhunkin@uncg.edu www.arthunkins.com Gloria in excelsis Deo. Pleni sunt coeli et terra gloria tua. from the Roman Mass GLORY 3 is the final work in a trilogy of compositions entitled GLORY. Like my earlier work, LIGHT FROM LIGHT (as well as previous compositions in the GLORY series), GLORY 3 is an elaboration of an 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). His .csd is included in this .zip archive for reference purposes. I continue to be grateful for his inspirational creation. Like Pena's Etuede and the original Glory, the current work is a set of live-performance Csound instruments that represent frameworks for improvisation. The instruments are designed to run on console computers in conjunction with a MIDI controller (comprising 16 sliders or knobs), and on Android devices. The various Android editions adapt to the controls available on several of the Android Csound apps. THE TWO BASIC VERSIONS Glory_3 is the variant for console computers (Windows, Mac and Linux). It is normally performed from the Csound command line (system prompt). The other three .csd's are for Android devices (all smartphones and tablets - OS 4.1.1 and up). Glory_3Android is designed uniquely for Cound6b.apk or Csound6c.apk, "alternative" Csound Android apps found (free) at: http://arthunkins.com/Android_Csound_Apps.htm Except for the latest canonical Csound for Android app, Glory_3 will not run on earlier apps, as they all lack the required number of sliders (normally 16). Note that to download one of the "alternative" apps directly to Android, you must, under Settings | Security, enable Unknown Sources. (These are apps from other than play.google.com. 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. Glory_3AndroidHTML and Glory_3AndroidSimplified are designed for the Csound for Android app currently found at play.google.com, and which requires Android OS 6 or higher. The former variant runs on the HTML tab, and draws the required 16 sliders on screen. The latter simplifies the instrument design, making do with the canonical app's 9 standard sliders, 5 buttons and trackpad. Just how this version simplifies the controls is described below. For all 16-controller variants, the order of controllers is the same. It is as follows: Controller 1: overall amplitude Controllers 2 - 4: #2 = tremolo speed; #3 = tremolo shape (sawtooth/triangle/ramp); #4 = tremolo amplitude Controllers 5 - 6: #5 = for random amps per voice, basic speed; #6 = random amps per voice, basic amplitude Controllers 7 - 8: #7 = overall random LFO, basic speed (slow); #8 = overall random LFO, amplitude Controllers 9 - 10: #9 = overall random HFO, basic speed (faster); #10 = overall random HFO, amplitude Controllers 11 - 12: #11 = overall random "spectrum" speed of change; #12 = overall random "spectrum weight" (range) of change (random amplitude of change) Controller 13: manual control of "spectrum weight" Controller 14: pitch control (constant ratios among voices) (through one octave) Controller 15: frequency shift control (constant frequency change per voice ) (through one octave from lowest frequency) Controller 16: Clip/brilliance control (emphasizes/enriches high frequency content - I call this the "glory control.") Note that all controls must be set to zero before Start. Following Start, any/all controls may be set to other values before raising Controller 1. Also note that within each grouping of controllers (see immediately above), it is the *last* that controls amplitude. Other relevent parameters (such as frequency) always precede it. These are the changes from the above list for Glory_3AndroidSimplified: 1) Controllers 2 - 4 are eliminated; 2) Controllers 11 - 12 are eliminated (controller 13 manually controls "spectrum weight") 3) Controllers 5 - 6 are moved to the five buttons and x-axis of the touchpad: controller 6 is now the trackpad x-axis, and 5 specific basic random speeds are assigned, in ascending order, to the buttons. Buttons 1 and 5 are set to the two extremes of previous controller 5, with the others equally spaced between. Button 1 is the default start speed (the slowest). Speed is changed by tapping a different button, whereupon a 2-second glide leads to the new setting. Though the current x-axis value of the trackpad is not visible, it is retained when the finger is raised. Clearly, care must be taken retreiving this level when trying to move without interruption to a new one. (No sudden changes in any value should occur during performance; see further below.) AUDIO The audio output is stereo, and should be sent to two or more high-quality speakers. GLORY 3 is not intended for headphones. If you get any "glitching" in performance with Android, Disable WiFi and any other connections in your device. EDITS TO THE VARIOUS VERSIONS OF GLORY 3 The console version, Glory_3, will likely require minor text editing - primarily to accommodate a particular MIDI device, as well as the number of voices desired. (This may be done in any text editor.) First, 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.) Then there are additional orchestra variables or MACROs (also listed toward the top of the .csd): VOICES, CHAN, and CTRL. These will likely need modification. VOICES allows you to specify the number of voices you desire (options are available from 4 to 32, with 32 the default). (The term "Voices" refers here to the number of successive harmonics - beginning with harmonic 7 - from a single series based on 80Hz.) 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 all 16 channels. Note that any substitutions you make must always be enclosed by #'s. Each Android version offers the same VOICES macro; edit it if you don't want the default 32 voices. (This option is also located toward the top of the .csd, and can be changed in any text editor installed on your device.) Simply click on the Edit button within Csound after selecting your .csd. When finished editing, be sure to Save. Your revision is immediately available to Run without reloading. PERFORMANCE CONSIDERATIONS Performance is completely improvised; there is no "score" (though anyone is free to script his/her own rendition as a "one-off" or a more permanent "arrangement"). Simply be aware of the following guidelines/suggestions: 1) Set all controls to 0 before starting Csound. Controls other than #1 may be moved to alternate initial values *after Start*; nothing will be heard until overall volume is raised. 2) The general level should be soft-to-moderate, except perhaps at a single sustained, treble oriented, climactic passage (and even then, not overly loud). 3) One performance plan is to begin with controls at 0, and low amplitude - modestly raising sliders in a generally left-to-right order, and gradually adding greater complexity and modestly higher level. Save the last 4 controls until the texture has thickened, whereupon tremolo (if present) can be faded out, and the pitch and brilliance controls raised. Save the last (clip) control until the end. A good "climactic" ending consists of the final 3 controls, as well as #'s 9 and 10, attaining maximum level, with #13 at 50% (all with respect to a 16-slider arrangement). The other controls (except for #1) have reverted to 0, stabilizing the texture. Eventually, controller 1 gradually fades everything out. (Such an ending is the most important performance recommendation I have to make.) The demo improv accompanying Glory 3 follows this plan. 4) Another plan is to begin, and perhaps remain, in the higher frequency range (controllers 14 and 15 raised), and start with either a simple or more complex texture, varying and exploring its textural interactions over time. Here the tremolo controls could play a prominent role, in conjunction with #'s 5 and 6. The conclusion could be climactic - either chaotic or stabilized - or, to the contrary, gradually thin out. In any case the end is again a slow fade to nothing. 5) Alternatively, the entire rendition, in the above-discussed higher range, might be consistently soft and involve only minimal controller change - a more "steady-state" approach. The beginning should fade in (2" or considerably longer), and end with a substantial stabilization of texture followed by a prolonged receding into silence accompanied with minimal-to-no activity). 6) You don't have to use all the available controls (though the demo improv does, some at only a low level). 7) Controls are normally moved individually - though not necessarily so in console Csound, especially with regard to pitch sliders. (In Android Csound, only one control is active at a time.) Movement should be continuous - with *no sudden changes in value* (this is particularly important for Android sliders and trackpad). Overall pace is slow and consistent - no dramatic events. There is no suggested duration for performance.