Sounds Logical
home

WaveWarp 2.0 Component

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentBottom of Page

Functional Description | Algorithm | Signal Implementations | Related Components | Example DWBs usage

Signal Generators:

Chaotic Control Generator 1 (A)

Functional Description
Generates a chaotic sequence of outputs from the classic logistic equation, nominally scaled between 0 and 1 (for use as an "Amplitude" control signal).

NOTE: the sample rate at which this component is executed can be arbitrarily set via the "Sample-rate setting for Signal Generators and Input ASCII files" button (or the "Sample-Rate Setting" command under the "Edit" menu) on the toolbar, which is activated whenever the component is selected on the DrawingBoard. Equivalently, it can be set via the dialog box which (i) appears when the component is initially dragged on to the DrawingBoard or (ii) is activated using the right-mouse-button when the component is selected on the DrawingBoard. This procedure allows the component to either (i) enforce a user-determined sample rate on the downstream component(s), or (ii) to inherit the sample rate from the downstream component(s). Different signal generators can run at different sample rates on a DrawingBoard, as long as the rules of connectivity for multiple sample rates are adhered to (see the WaveWarp Users' Guide for more information.)

Algorithm
Verbatim implementation of the following quadratic difference equation (also known as the "logistic equation"):

xn+1 = A xn (1- xn)

where xn+1 is the next value in the output sequence given that xn is the current value. The behaviour of the sequence is highly-dependent on the value of the coefficient, A. In particular, for values of A greater than 3, the output can either be relatively "ordered", where it oscillates between a few well-defined values, or highly "chaotic", where it seems to fluctuate randomly, though is actually jumping between a large number of deterministically-predictable states. This extreme variation in behaviour in response to small changes in a system parameter, is the hallmark of chaos, and only occurs in non-linear systems (in this case, quadratic).

The coefficient, A, plus other parameters of the signal generator are adjustable via the Parameter Window, as summarised in the following table.

Parameter Purpose
"Coefficient" slider Adjusts the coefficient, A, in the logistic equation.
"Initial state" slider Sets the initial value (starting point) for the output sequence generated by the logistic equation. This parameter is not mathematically significant (it is rather the coefficient, A, which completely determines the behaviour of the output), but has been included here because it affects the "transient" trajectory of the output, as it evolves towards the terminal chaotic fluctuations (which are independent of the starting value). This transient trajectory can be interesting for musical applications. If the "Random" checkbox is enabled, the "Initial state" slider is disabled, and the initial value is computed from a pseudo-random number generator (using the system clock as a "seed", thereby yielding a different value every time the DrawingBoard is re-started).
"Time step" slider Sets the time step between successive updates of the logistic equation. The time step is given by the slider value multiplied by the "Max update increment" selection, and is displayed in the "Total time increment" window. When the DrawingBoard is playing, the logistic equation will be updated (and sent to the control signal output) at intervals equal to the "Total time increment". Between these intervals, the control signal output will retain its previous value.
"Amplitude" slider Adjusts the amplitude of the output signal (after the computation of the logistic equation). Depending on the selected "Range", the control signal output will be scaled either between -1 and 1, or between 0 and 1.
"Modulation" checkbox If enabled, the "Range" selection is automatically disabled, and the "Amplitude" slider becomes a "Depth" slider. The control signal ouput will be automatically scaled over the range from 0 to 1. The "Depth" determines the fraction of this range over which the ouput of the logistic equation will be mapped. Maximum "Depth" (a value of 1) implies that the ouput of the logistic equation will be mapped on to the entire range from 0 to 1, thereby maximising the signal variation. Minimum "Depth" (a value of 0) implies no mapping, thereby minimising the signal variation (i.e. constant output). An intermediate value, say 0.2, implies that the ouput of the logistic equation will be mapped on to the upper 20% of the output range, and so forth.
Plot window Displays a portion of the logistic equation output sequence (after the initial transient has transpired) corresponding to the chosen value for the coefficient, A. The plot reveals the chaotic nature of the oscillatory end-states, and their critical dependence on the value of A. The data plotted is the raw ouput of the logistic equation, and does not reflect scaling due to the "Amplitude", "Range", or "Depth" settings (though the time-scale does correspond to the settings of the "Time step").

For more information on the chaotic logistic equation, see [St] p. 505-510 and [Gl] p. 57-80. For an introductory discussion on the use of chaos in computer music, see [Roa] p. 888-889.

Signal Implementations
Audio signals Control signals Description
n/a single output Generates a control signal with an amplitude nominally between 0 and 1
Related components:
Example DrawingBoards illustrating usage:

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentTop of Page

home - news - products - store - support - site map - company info
© 2007 Sounds Logical. All rights reserved.
Sounds Logical
legal notice - privacy statement