GLORY (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 is a set of live-performance Csound instruments that represent frameworks for improvisation. They run on console computers in conjunction with a MIDI controller, and on Android devices. The console versions are targeted for controllers with differing numbers of knobs/sliders, while offering the performer a choice both of levels of complexity and textural variation. THE TWO BASIC VERSIONS Glory8.csd through Glory13.csd are the variants for console computers (Windows, Mac and Linux). The number in the filename indicates how many MIDI knobs/sliders are required. (Sliders, especially long-throw, are preferable to knobs.) These variants are normally performed from the Csound command line (system prompt). Your selection will depend in part on what MIDI controllers you have available, or prefer. The GloryAndroid[xxx].csd's are for Android devices (all smartphones and tablets - OS 4.1.1 and up). GloryAndroidAlt is designed uniquely for Cound6b.apk or Csound6c.apk, "alternative" Csound Android apps found (free) at: http://arthunkins.com/Android_Csound_Apps.htm Other Csound for Android apps will not work with GloryAndroidAlt, as they lack the required 13 sliders. Note that to download one of the above 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. The GloryAndroid.csd is designed for the Csound for Android app found at play.google.com. It requires Android OS 6 or higher. GloryAndroid makes use of the app's 9 sliders, while GloryAndroidTrackpad adds a 10th control - the x axis of the trackpad. For all the above variants, the order of controllers is the same; each additional control implements the next item in the series below. The order is as follows: 5 - 6 pitches, low to high (amp controls for each) - only Glory8 limits to the first 5 pitches Jitter amplitude Jitter frequency Frequency shift *** All variants include the above controls Filtered noise amplitude Pitch transposition Clipping (distortion) Overall amplitude Note that all controls must be set to zero at the beginning, except when the Overall amplitude control is present. AUDIO The audio output is mono, and should be sent to two or more speakers. (Android devices route the output on both channels.) If you get any "glitching" in performance with Android, Disable WiFi and any other connections in your device. EDITS TO THE CONSOLE VERSION OF GLORY Glory8-13.csd's will likely require minor text editing - primarily to accommodate a particular MIDI device. (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): CHAN, PITCHES, JITAMP, etc. These will likely need modification. (Optionally, you could program your controller to conform to your .csd's defaults.) 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 up to 13 channels. PITCHES specifies the beginning CC number of the 5 or 6 pitch faders (in ascending order of frequency). All other variables are assigned their unique controller numbers. You can change and re-order these assignments in any way you like, to suit your particular MIDI controller. (Note that substitutions must always be enclosed by #'s.) With a little creative thinking, you can create quite a variety of customized MIDI controller setups. 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. (Note: when Overall Volume control is in use, the other controls may be moved to higher values *after Start*; nothing will be heard until Overall Volume is raised.) 2) Overall volume should not exceed moderate. 3) Jitter frequency will have no effect until Jitter amplitude is raised. 4) Since higher-numbered controls progressively add textural richness and complexity, one performance plan is to begin with a few simple pitches, increase their number, then add Jitter, followed by Frequency shift, and eventually any other controls. (The demo improv accompanying Glory follows this plan, and these guidelines generally.) 5) Filtered noise is intended largely as an enhancement of a group pitch sonority, particularly combined with Jitter. Noise *may* appear alone, however - even prominently. (Note that it too is affected by both Frequency shift and Pitch transposition, as well as Jitter.) 6) Overall volume is primarily useful for beginning and ending. (Otherwise it might easily be dispensed with.) 7) You don't have to use all the available controls, nor follow the suggested order outlined above. Though the pitch sliders are assigned as a group, you do not need to use all of them. The ones you *do* use should be contiguous however - for example, pitches 2-3-4, not 2-4-5.) Also: 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 change in value (this is particularly important for Android sliders). Overall pace is fairly slow and consistent - no dramatic events. Performance should begin and end with a gradual fade. There is no suggested duration for performance.