SERENITY (2016) for realtime Csound and Android Csound dedicated to all 12-step people in recovery Arthur B. Hunkins abhunkin@uncg.edu www.arthunkins.com THE VERSIONS SerenityAuto - console Csound, automatic play, 1-5 voices SerenityMIDI - console Csound, MIDI controller, 1-5 knobs/sliders (6th slider optional) SerenityAndroidAuto - Android Csound, automatic play, 1-5 voices (# selected by up to 5 buttons on GUI; one slider is optional) SerenityAndroidManual - Android Csound, manual play via up to 5 sliders on GUI (one additional slider, or x-axis trackpad, optional) SerenityAndroidCombo - Android Csound, includes both Auto and Manual modes. One slider optional in both modes. (Manual mode is first selected by moving a voice slider; Auto mode, by first pressing a button. Mode change is made by restarting Csound.) THE OPTIONAL SLIDER In all versions except SerenityAuto, the optional slider (or x-axis trackpad) controls a high-pass filter which can adjust the amount of low-frequency rumble (even during performance). When this slider is not available (or used), there is effectively no filtering. In SerenityAuto, a fixed value (in Hz) is specified in the .csd header under #define HIPASS - see further below. (Default = 20HZ, which is also the low point of the slider.) ANDROID APPS THAT CAN PERFORM THESE CSOUND FILES (.CSDS) 1) the current Csound for Android app found (free) at play.google.com; 2) all older Android Csound5/6 (app/application-release) .apks referenced at csound.github.io/download.html; 3) the enhanced Csound5/6 .apks found at arthunkins.com/Android_Csound_Apps.htm (this group is designed primarily for 7-inch or larger tablets; they allow for a greater number of sliders and buttons) LOOPED SOUNDFILES All versions require a single, looped soundfile. (The default is "serenity.wav".) This file may be mono or stereo, and can have any sample rate. In console versions, the file may be in any format, including WAV and AIFF (and Ogg/Vorbis with Csound 5.10 or later); but not MP3. In Android versions, the file must be in WAV format. Six alternative stereo soundfiles are included in this distribution. Their titles are suggestive of the natural, sustained sonic environments they set. (Chorus refers to a swelling "insect chorus.") USER SOUNDFILES Users are encouraged to record (or find) and edit, for looping purposes, their own "serene" sources. Nature tracks that are homogeneous, fairly continuous, and meditative are recommended. The loop point should not be obvious. (Be sure to test whether the end connects seamlessly with the beginning of your file.) Audacity is an excellent program for recording, editing and looping soundfiles, but is not available on Android. For Android, I suggest TapeMachine Lite Recorder (also free through Google Play). User soundfiles are preferably 20 seconds or more in length, and must be placed in the same folder as the .csd (for Android, suggested location: the Music folder). POSSIBLY NEEDED .CSD EDITS In all versions, if you want to use any loop besides "serenity.wav", you will need to enter the file's name under #define FILE (in quotes) toward the beginning of your selected .csd. (Make this and other edits with any text processor.) In SerenityAuto, you will need to define the number of voices (1-5) if other that the default 5. Do this in #define VOICES. The same goes for #define HIPASS, which sets a high-pass (rumble) cutoff frequency in Hz, if you desire a value other than the default 20Hz. You can enter values up to 2000Hz. 1000Hz will eliminate most of the rumble. In SerenityMIDI, you'll likely need to modify MIDI settings for your particular setup. First, under , you'll need to adapt for Linux if you are on other than a Windows or Mac system (an opening semicolon comments out a row of code; remove the semicolon to implement the row). If you have a single MIDI device, the default -M0 is fine. If the console output indicates an "unrecognized MIDI device" error, look in the output for the MIDI device list, and substitute your correct device number for the zero in -M0; then rerun Csound. Also in SerenityMIDI you must set #define CHAN, #define CTRL and #define HPCTRL to accommodate your particular controller. The default CHANnel is 1 (probably OK), ConTRoLler is preset to 20 (the first of up to 5 consecutive knobs/sliders), and the optional High-Pass ConTRoLler to 25. Likely you'll want to change these last two - and particularly CTRL. Finally, on its own when started, Csound will run for one hour (3600 seconds) before stopping. When in Auto mode, you may want to end a performance before that time without direct intervention. In applicable versions, you can specify any # of seconds less than 3600, in #define LENGTH (substituting it for 3600). HOW TO START/STOP For the console versions, run Csound from the directory in which both the .csd and soundfile reside. (For MIDI, be sure sliders are set to zero before starting Csound.) The MIDI version begins when the first voice slider is raised; the Auto version begins by itself. Stop both versions with ctrl-C on the keyboard. Android versions are run by opening the Android app, then the .csd file from wherever you'll stored it (which is the same location as your desired soundfile). Make sure any operative sliders are set to zero, then press Start/On. With the Auto version, and Auto mode in the Combo version, performance begins when a #-of-voices button (butt1-5) is pressed. The Manual version (and Manual mode in Combo) begins when one of the voice sliders is raised. Performance concludes when Stop/Off is touched. PERFORMANCE NOTES A "voice" (or note) refers to a playing of a portion of the soundfile loop - in its original form, or in a slightly pitch-modified variant. It may begin at any point in the loop and be of any length. Each time a voice stops and resets (new note), it potentially starts at a different point in the loop and with a different tuning. There are two exceptions: 1) the first voice that enters is always from the beginning of the loop and at the original pitch; 2) when a restarting voice is the only one sounding, it begins with the original pitch, but at a random point in the loop. Normally, all voices enter and exit at different times (and only one knob/slider is moved at a time). At the beginning, the initial voice enters alone; any others join shortly after this initial voice is established and at slightly different times - until all are present. In the Auto versions, note lengths, attack and release times are all randomly varied - as are the volumes on a per note basis. The opening note is always at full volume. In MIDI and Manual versions, fade in and out should never be sudden; fades last 2.5 seconds at a minimum (the same as in Auto versions), and are usually longer. Voices may be silent for varying lengths of time, so long as textural density does not vary abruptly. (In Auto versions, voices are never absent for more than one second, guaranteeing textural consistency. Also, in a one-voice rendition, there should be no "rests" at all.) The goal is to create a "serene" mood - a quiet, meditative state.