Prototype beta version for Unix and Linux platforms
The system is driven by a graphical user interface which is intended to simply modications to the various parameters which control the production of the sounds.
Chaosynth uses cellular automata (CA) to control the generation of large number of individual short sonic events which together make up the final sound.
The output of the program is a Csound score file that specifies the output for n instruments in terms of amplitude, frequency, start time and duration. The start time and duration of each event has been specified simply by the duration of a grain and the iteration of the CA that generated it.
Each of p states of the CA is assigned a frequency. There are q instruments (i.e., oscillators) and each of these has an amplitude associated with it, and an area of the grid of cells. At each iteration all the instruments play at their specified amplitude. The frequency that an instrument plays is the arithmetic mean of the frequency values of the cells in its area; this can also be calculated by taking the modal frequency value in its area.
On the interface itself there is a bank of 40 sliders for adjusting the frequency associated with each state, and a bank of 25 sliders for adjusting the amplitude of each instrument. Further adjusters also exists to modify r1, r2, k, the duration of a grain, the dimension of the grid of cells and also whether the mean or mode is used for the calculation of the frequencies.
Chaosynth's Control Panel is split into four areas (Figure 1):
Figure 1: Control Panel
The cellular automata parameters area contains three sliders to control the three parameters to the cellular automata: r1, r2 and k. These sliders can be clicked on and dragged using the mouse pointer. Alternatively, to achieve more precise control over the value, the area of the slider above the adjuster can be clicked on using the left mouse button which will increment the slider by a single notch.
The global mapping area in the centre contains global controls over the mapping between the CA states and the sound output. The duration of the sound grains can be set. The buttons to the right of this display increment and decrement the value. There is also a two state switch which displays whether mean or mode should be used to calculate the frequency values. The width and height of the CA grid can also be set here using the X and Y sliders.
The execution controls area on the right displays two text areas. The first of these, the Counter displays the current iteration number while generating the output. Below this is a text field Halt which contains the number ot the iteration at which the CA will stop; this can be edited to vary the play period. Below both of these is a large button labelled ECS Turbo; this controller is not implemented in this beta version of Chaosynth.
The File menu allows parameters to be saved and loaded. Selecting any of these options causes a standard file selection form to appear. The top line displays the filter used for selecting the offered files. The search directory can be changed by double clicking on a new selection in the directory list. Files can be selected directly from the file list; a single click puts that file in the selection box, a double click loads or saves the file. Hitting the OK button loads or saves the file in the selection box. The Cancel button closes the window without saving anything. The Filter button causes those files in the current directory matching the filter to be listed in the files box. There are no checks or warnings about the possibility of overwriting existing files.
This menu also contains an option to quit the system. Here again, there are no warnings or checks to see that data is not lost; the system will close down even if the current event list or parameter settings are unsaved.
Parameter files should be saved as ".csp", inside the folder ~/Chaosynth/Parameters.
There are three options on the Output menu. These produce output to Csound file, audio device and audio file respectively. The latter two do not function in this beta version of Chaosynth; use only the Csound file option.
The system produces a file selection form similar to those ones described above which allow the filenames to be entered or selected. Again there are no checks or warnings of the possibility of overwriting.
The final menu option available from the control panel is the Mapping option. From this the amplitude (Instruments panel) and frequency (States panel) controls can be activated.
The two control windows are very similar in appearance and operation (Figure 2 shows the Instruments panel only).
Figure 2: Instruments panel
The Instruments panel consists of a bank of 25 sliders, one corresponding to each oscillator. Next to these is a text area, a toggle labelled Lock, and three buttons.
The sliders set the amplitude of the oscillators. They function as a type of spectral envelope for the individual short sonic events; that is, each oscillator will be set to a fixed amplitude, no matter what frequency it will play. Each can be set independently. The buttons on the right provide alternative ways of setting these values. The text box in the top right will display the value of the slider most recently modified.
The Reset button simply resets the sliders to their original settings (in the middle of the scale).
The Lock feature locks all the sliders, so that by moving one, one moves them all by the same amount.
The Auto-set button allows the sliders to be set in an incrementing or decrementing pattern. Pressing this button causes a small window to pop-up which prompts the user for a start value and an increment value. Once these values have been entered, clickling in the OK button of this little window will cause the sliders to be automatically set starting from the slider number given in Start at until the end, incrementing all the values at each stage by the amount given in the Increment box. A negative value can be used to make the sliders go down.
The Quit button closes the screen down, the parameter modifications are not affected by this.
The States controls are very similar to the Instruments ones. Here there are 40 sliders in total which work on a logarithmic scale. The value displayed in the text window is actually the frequency of the output in Hertz. Consequently the Auto-set feature here prompts a multiple, rather than an incremental value to modify the sliders. Here a value less than one will cause the sliders to fall instead of rise.
Please note that the Event List Editor does not function satisfactorily in the beta version; we advise you to avoid using it.
The basic operation of the current version of the system is error free. Some of the more complicated features have not, however, been rigorously tested, and will almost certainly contain bugs. This beta version of Chaosynth is to be regarded as prototype to test the synthesis technique. Fortunately, Chaosynth has proved itself able to produce new and interesting sounds. A new, updated and fully working version of Chaosynth will soon be available for a variety of popular platforms. Please watch the author's personal Web pages Web site for future developments.
The following is a list of known bugs at time of writing. It should be noted that this is a developing system, and at any time this list may be out of date.
Chaosynth currently generates only Csound score files. Thus you need run Csound manually in order to actually synthesise the sounds. It is suggested that you open one or two Unix Shells on your desktop to operate Csound. You may also wish to run an application in parallel to play back and/or edit the sounds of Chaosynth. The operation of the system involves two stages:
STAGE A: the generation of a score file
STAGE B: the Csound stage
BACK to Chaosynth main