Charming Chaos Licence and limited warranty Charming Chaos may be freely distributed on FTP and Web sites, cover CD-ROMs and disks, so long as all the files pertaining to the program remain unaltered and present in the archive, and no charge is made for the software. Although Charming Chaos has been thoroughly tested, neither its author, or Electronic Cow will be held accountable for any loss, consequential or otherwise, incurred during the use and/or misuse of the software. This program is freeware. Consequently, there is limited technical support (via the Cow-net Web site at www.cow-net.co.uk), no upgrades, and no promise of new versions is implied. Contents Tools Sequencer controls Modifiers Editing DNA Seeds MIDI Implementation chart Tools The right-hand panel is where all of Charming Chaos’ tools are located. All the disk functions, sequencer controls, and MIDI tools, including the menu options that cannot otherwise be accessed when running Charming Chaos as a desktop accessory. Open [control]+[o] When a performance file is loaded from disk, all of the controller parameters are automatically transmitted to your MIDI sound module, so it’s all ready to play. All of the previous algorithms in Charming Chaos will have been replaced with the ones in the performance file. To load algorithms independently of the performance file (allowing you to exchange them between one performance and another), use the load function in the DNA Seed Construction box (see below). Save [control]+[s] The save function allows you to store all of the track parameters and all ten of the algorithms into one performance file, for later retrieval. Algorithms can be saved separately too, using a function in the DNA Seed Construction box (see below). Generate MIDI clock [control]+[m] Charming Chaos can be used to control a sequencer or other MIDI device (like an arpeggiator or LFO clock), using MIDI clock messages. Additionally, the software will also transmit and receive standard MIDI song start, stop, and continue controllers to synchronise playback. Pressing the Generate MIDI clock button will send MIDI clock messages when the internal sequencer is playing. Send all notes off [control]+[r] Should any notes hang, this function can send an all-notes-off message on all channels that, in most cases will squish them. It won't work if your sound module does not recognise the MIDI controller 0x7b as all-notes-off though. Charming Chaos also sends this controller information when the DNA Seed Construction window is opened, so it is perfectly safe to edit algorithms whilst the sequencer is playing. LED display [control]+[l] The LED display shows how ‘busy’ each of the four tracks are. Since tracks can be up to four note polyphonic, there are four LED segments per bar. Most times, and especially if the track’s algorithm is monophonic, only the first bar will be lit, but this is certainly enough to confirm that there is track activity! As Charming Chaos plays more simultaneous notes on one track, so more lights on the LED bar are lit. Pressing the LED active button beneath the display allows you to switch it on and off. Edit DNA Seeds [control]+[d] This button opens the DNA Seed Construction box where you can pre-program or load and save algorithms. For a detailed explanation, refer to the section on algorithm editing. About [alternate]+[a] This box contains important information about the software, including your unique serial number and registration details, and the current version. Please refer to these details whenever you contact Electronic Cow for upgrade information and user support. Move Window The main window can be moved around, despite not having a traditional GEM ‘mover’ bar. To do this, press and hold on the top right-hand corner of the window. The mouse should turn into a hand icon, and then you can freely move it anywhere you like, except off of the screen! Back to top Sequencer Controls Charming Chaos has three standard sequencer-type transport buttons that are used to control playback and record functions. The Play button starts everything off, and can be activated using either the keyboard short-cuts [Enter] or [Return], or if a MIDI song start or continue message is received. If external MIDI clock synchronisation is selected, Charming Chaos won’t actually play anything (even if play is pressed) until it receives some MIDI clock information. To stop playback, press the Stop button using either the button or the keyboard short-cuts [space bar] or [0] on the numeric keypad. Charming Chaos will also automatically stop if a MIDI song stop message is received, or if it is set to external synchronisation, and no MIDI clock information is present. The final button is record ([*] on keypad), and this is used to start recording Charming Chaos’ performance to disk in real-time, as a type 0 MIDI file. Unlike audio recording, MIDI files take up only a few kilobytes of space, and so it’s perfectly feasible to use a floppy disk for this feature! Each recording will save almost everything that happens in Charming Chaos: all the note information, the MIDI controller changes; it will even set-up each track in the MIDI file with the right program change and MIDI channels. Tempo changes are not recorded however, and neither are changes made to the patch or portamento switch mid-way through the recording. To compensate for the latter, set-up one of the dials to portamento time, and turn it to 0. Once you’ve finished recording, press the stop button. Now you can load this MIDI file into any MIDI-file compatible sequencer for integration into your compositions. As Charming Chaos can also run as a desktop accessory, it’s really suited as an ideas generator for when inspiration is a bit low! Tempo control Charming Chaos has an internal tempo range of 30 to 300 beats per minute, and can be adjusted whilst playing back. It is even possible to ‘modulate’ the tempo in real-time by up to ±64 beats per minute, using pitch bend controller information. Unlike other controllers used to modulate parameters in Charming Chaos, it will receive pitch bend information on any channel, no matter what channels are set for the tracks. Alternatively, if you click upon the tempo text box, Charming Chaos will synchronise to an external MIDI clock source (the tempo value will change to display the word ‘ext’). Since it also responds to MIDI song start, stop, and continue messages, Charming Chaos will be perfectly synchronised with your external sequencer every time it starts! To disable external clock sync, click again on the tempo box, and it will return to normal. Main panel controls Each of the four tracks has its own control panel in the main window, where various global performance parameters can be set. The first, and most fundamental of all controls is the on/off switch, at the leftmost point in the control panel. This effectively allows you to mute any or all of the tracks during playback, or simply disable tracks that aren’t needed. Tracks can also be switched on and off using the keyboard shortcuts [control]+[1]...[4] The two dials are used to send MIDI controller data to your sound module or keyboard. Although they are preset to controllers 7 and 10 (main volume and pan respectively), it is possible send other performance controllers using the dials, such as portamento time, reverb or chorus level, or perhaps even modulation depth. To do this, you must first set the controller number in the text box; the top objects affect dial A, and the bottom, dial B. Once you’ve set the desired controller, you then need to press the set controller button, otherwise Charming Chaos will continue to use the last set MIDI controller. Whilst this may sound a bit fiddly, it does mean that you can set as many performance controllers as you like, by continuously re-setting the current controller. Display Panel Details of the track’s currently selected algorithm, its MIDI channel, status, current program value, and portamento state are all shown in the track’s LCD-style display. By clicking upon the channel and patch text directly with either the left or right mouse buttons, these values can be edited. Simultaneously holding down the [shift] or [shift]+[control] keys whilst editing, changes these values in steps of 10 or 100. The LED in the display panel denotes the track’s current portamento switching state, and can be clicked upon to enable or disable it. Portamento usually requires an additional setting, in the form of time. To do this, you can either set-up one of the panel’s dials to send controller 5 (portamento time) to adjust it manually, or program it into the track’s algorithm to have it change dynamically. There are ten user-locations for programming algorithms, and any of these can be assigned to any of the four tracks. Indeed, one algorithm can be shared by any number of tracks, drastically affecting the output from the algorithm. To change the algorithm, press the left/right buttons to the right of the LCD display. Alternatively, Charming Chaos will respond to program changes send via MIDI. Note that any program change must be sent on the same channel as the track, and that only values 0 to 9 are valid. Back to top Modifiers Although algorithms are pre-programmed using the DNA Seed Construction box, various attributes can be changed as Charming Chaos plays, either automatically, or by user intervention. There are four modifiers available for each track, affecting temporal, pitch, amplitude, and performance controller characteristics, and these can be switched on or off by pressing the LED. CM - Controller modulation With CM active, the corresponding track will accept any valid MIDI controller message to modify its chosen algorithm’s parameters. CM also determines whether the algorithm’s MIDI Controller Mapper is active, and so generally should be left on. However, if you don’t want the track to send MIDI controller information, disable CM. TM - Time modulation Time modulation enables Charming Chaos to automatically modify the programmed Groove Map for the track’s algorithm over time. It does this by selecting various modes, such as shift groove left or right by up to four steps, logically XOR’ing either the entire groove map (so active steps are switched off, and de-activated steps are played), or just single entries, reversing, and mirroring left or right of the centre point. Using MIDI controller information (see MIDI Implementation chart), it is possible to manually determine which of these modes is used, or even set it so that Charming Chaos picks one for you. PM - Pitch modulation Pitch modulation not only allows Charming Chaos to automatically modify the way in which notes are chosen but also allows the user to change the algorithm’s Scale Map, using MIDI note information. For example, if the Scale Map is set to C, E, G and B, and the note C is received via MIDI, with PM enabled, C will be removed from the Scale Map. Pressing C on the MIDI keyboard again will then re-enable it. As with TM, using MIDI controller information (refer to MIDI Implementation chart) allows you to pre-determine the way in which notes are chosen (you have a choice of random, up, down, or up and down), or you can let Charming Chaos pick it for you. AM - Amplitude modulation When AM is enabled any note information received on the same channel as the track will affect the root velocity for the track’s algorithm. In addition, Charming Chaos will automatically re-program the root velocity over time. It’s best to disable AM if you’re using one of the dynamic velocity maps in the algorithm, but some interesting effects can occur if you don’t! Back to top Editing DNA Seeds Unlike some other algorithmic music composers, Charming Chaos lets you pre-program all aspects of its algorithms, from the pitches it selects, right down to when they play, and how loud they are played. Up to ten algorithms can be programmed into Charming Chaos (numbered 0 to 9), and the DNA Seed Construction box is where their parameters are edited. Tools Edit/Copy To edit an algorithm you must first select a memory location in the edit seed panel. When memory locations are switched between, all of the controls will be updated displaying the parameters for that particular algorithm. Additionally, data can be copied from one algorithm to another using the Copy button. First, set the memory location you want to copy to, and, in the ‘copy’ numeric field, set the location you want to copy from, and then press the copy button. Load/Save All ten algorithms and the track panel data is stored in Charming Chaos’ performance files, but since you might like to transfer one particular algorithm into a different performance, the DNA Seed Construction window has separate load and save functions to store or retrieve individual algorithms. Load will retrieve an algorithm from disk into the location currently selected for editing; likewise, save will store the algorithm displayed on screen at the time. Algorithms can be set to play monophonically, or for creating chords and clusters, polyphonically (up to four notes). There’s also a transpose feature, that changes the root octave from the C above concert A (MIDI note 60), to allow you to create bass-line phrases or use drum sounds lower down the key map. It has a range of -4 to +1 octaves. For dynamic octave transpositions (where more than one octave can be selected), use the depth control in the Scale map. Once you’ve finished editing the algorithm, press the OK button to return to the main window. Velocity Mapper This section controls the velocity of each note played, and has various shapes to choose from to alter the algorithm’s velocity properties over time: (1) is constant, and so Charming Chaos will always use the root velocity (use AM to alter this); (2) ping-pongs around the root velocity, first loud then soft and so on; (3) sweeps from 0 to 127 and then to 0 again; (4) uses the root velocity as a seed for a random value; (5) produces a sinusoidal ripple centred around the root velocity; (6) creates a delayed effect. Scale Mapper Nothing is more ghastly than discordant parts, unless of course that’s what you’re aiming to produce. This is why Charming Chaos has a Scale Map: so it will only ever pick notes that you think will fit together nicely. Notes on the keyboard display that are selected are highlighted; those that aren’t won’t ever be chosen to play, unless you enable them, either using PM or directly. The rate control determines the frequency of change, where a setting of 0 would mean that Charming Chaos would use the same note all of the time, and a maximum setting would change it every step. Although the map is only one octave, by turning up the depth dial, Charming Chaos will choose from a wider range of notes up to eight octaves (based around the root octave). When an algorithm is set to poly mode, it’s best to increase the depth setting, so that its maximum four-notes can be attained. Groove Mapper Here it is possible to set-up a rhythm template, with the sixteen buttons denoting sixteen possible steps. When a step is active, Charming Chaos will play a note, otherwise you will get a rest. As well as being able to modify the groove map using TM, the algorithm also has a modulation setting that can be used to play notes when the step is de-activated, and thus, greater settings will inevitably produce more notes. Each step can either represent a quaver, semi-quaver, or demi-semi-quaver (1/32nd of a bar), allowing you to have different timings for each algorithm. MIDI Controller Mapper As well as the two user-definable dials per track panel, the MIDI Controller map allows you to set-up two additional MIDI controllers, which are modulated by Charming Chaos based upon a set of parameters set by the user. Both MIDI controllers share a common set of controls for manipulating their parameters, and so to edit controller one, you must first switch on the top edit button for the controls to be updated to display the settings. Logically, to edit controller two, switch on the bottom edit button. Just like the Scale map, there are two dials for depth and rate, where the latter sets the rate of change of the controller value (higher values equate to faster sweeps), and the former, the maximum value (a setting of 0 renders the controller ineffective). The four shapes define the path of the controller value, and can be set to either: 0 to maximum depth; maximum depth to 0; sweep from 0 to maximum depth, and back to 0; or random. Editing the DEFAULT.CC file. Charming Chaos features ten pre-set algorithms so that you can get straight on and compose some music, but you might actually want to change these at some point, with algorithms of your own. By saving your own Charming Chaos set-up as "DEFAULT.CC" in the same directory as the program, each time the software is loaded, your default parameters will be set.