|
Click on images for larger view

|
ArtSong composition projects consist of a composer-defined
hierarchy of various types of musical components. This picture displays
the project in the 'General Editor'. The 'General Editor
displays components in a 'Component Tree' (left) and the
component's data is displayed in the 'Data Pane' (right).
Projects can contain as many 'components' as your compositional
objectives require and your computer memory permits.
|
 |
Setting component parameter properties and manipulating component
data is the principal means of controlling the algorithmic composition
process.
Popup menus provide quick access to property data editors and instrument
editors.
|
 |
The composition component is the highest level component in all
projects.
The composition component establishes certain 'global' composition
properties such as composition length, key signature, basic duration
quantisation values, etc.
|
 |
Track components generate and contain the actual note event data.
Note generation is controlled by a Track's composition variables;
composition variables are used to establish value ranges for pitch,
volume, duration, and generation probability.
|
 |
Tracks have have associated MIDI performance parameters organised
as instruments.
|
 |
User-defined chords and chord progressions can be used as generated
pitch filters.
|
 |
Algorithms are the agents of change in ArtSong. Component composition
variables are assigned to algorithms.
During the algorithmic composition process algorithms generate
values and map them onto the allowed range for any composition
variable.
Some algorithms can work with any composition variable such as
the Fourier algorithm shown at left. The Fourier algorithm creates
a 'periodic-cyclic' sequence of variable values.
|
 |
The ChaosMapper algorithm generates a chaotic function attractor
and uses the positions and/or changes in position along the attractors
trajectory to vary any composition variable.
There are two general ChaosMapper algorithms both of which can
potentially generate an infinite variety of attractors having fractal
characteristics. One uses 2D quadratic functions, the other uses
2D iterated function system (IFS) to generate attractors.
|
 |
Chord progressions can also be generated algorithmically. The algorithmic
chord progression algorithm allows flexible setting of the chord
root progression, chord types, and chord durations.
Most of this functionality is exposed as composition variables.
|
 |
ArtSong also provides 'META' algorithms, such as the Envelope Algorithm,
which can operate on entire composition variables.
The Envelope Algorithm provides the cabability to control generated
variable values with a flexible 3-stage envelope.
Envelopes can be applied to any ArtSong composition variable.
|
 |
ArtSong 6 also provides powerful Basic and Pascal scripting options
which can be used for composition, editing, analysis, or creation
of custom algorithms.
|