uSEQ Tutorial: Nonlinear and Chaotic Oscillators and Patterns
Introduction
uSEQ can act as a source of nonlinear and chaotic oscillation, using the scheduler to update complex systems equation, rendering fractals and dynamical systems. These systems can make great sources of oscillation, that vary in shape and texture over long periods.
The Logistic Map
This is a simple discrete dynamical system, with one single parameter which moves the system between statis and chaos. In the example below, cv input 1 controls this parameter, and the momentary button resets the system. The signal is output to a1
and s1
. Also, a pattern is generated on d1
by setting this output to 1 when the signal is over a threhold, set by CV input 2.
Code
This example uses the scheduler, which runs a function periodically, n times per bar. This function updates the logistic map. The scheduler is used here because it runs at regular intervals, unlike other time-based functions in uSEQ which run as quickly as possible, and render their value as a function of the current time. In this case, its output is dependent on the previous time step, so we simply can’t calculate its value as a function of time. Instead, we need to take the previous value and use this to calculate the next value, and do this repeatedly at a fixed speed so there’s no jitter in the output.
The Lorenz Attractor
This is the famous butterfly attractor created by Edward Lorenz in the 1960s.
Image: Wikimedia Commons
This code below simulates a Lorenz system, and outputs the coordinates of the attractor as control voltages. Use CV in 1 and 2 to alter the parameters and behaviour of the system, and the momentary button to reset the attractor. Some combinations of parameters may saturate the system, while others will push the system into varied patterns.
Code
Run each section separately, as needed.
More Strange Attractors
You can find the equations for more attractors here: https://www.dynamicmath.xyz/strange-attractors
Based on the example above, you should be able to program in the equations from these systems instead.