Inspired by numerous courses on chaos theory (and chmjacques discussing it with me at-length), I present a few different chaotic attractors which can be used as unique LFOs, sound generators, or as-is (being LFOs feeding into a granular module).

The math is directly sourced from the coupled differential equations of three common chaotic systems: Lorenz system, Rossler attractor, and Van der Pol oscillator. Luckily, ZOIA makes it very easy to translate math into “CV math” using the basic set of operations. Add in some initial conditions for the parameters, a time-keeper to project the xyz coordinates, and viola.. you’ve got yourself a chaotic LFO!

All three patches share an identical framework and are stereo throughout: In > Granular > Out, with mix control, flexi-switch freeze, and a control page for the parameters and LFO. The differences come in the math and number of parameters.

page 0 (control)

params, mix, LFO speed/depth, freeze indicator

page 1 (math)

xyz coordinates, inverts, multipliers, time-keeper LFO, differential outputs

page 2 (audio)

in, granular, out, balance

page 3 (flexi)

flexi-switch logic for the freeze toggle (L)

Patch 1: Van der Pol (https://en.wikipedia.org/wiki/Van_der_Pol_oscillator) is a two-dimensional chaotic oscillator. It has applications in electrical engineering, physics, and biology. There is a single parameter (micro).

Patch 2: Lorenz (https://en.wikipedia.org/wiki/Lorenz_system) is a three-dimensional chaotic system and is perhaps the most well-known, since it resembles the wings of a butterfly. It has applications in convection, chemical reactions, and electrical circuits. There are three parameters (sigma, rho, beta).

Patch 3: Rossler (https://en.wikipedia.org/wiki/R%C3%B6ssler_attractor) is a three-dimensional chaotic attractor. It is similar to Lorenz, albeit simpler, and shares many of the same applications. There are three parameters (a, b, c).

I’m not sure if I fully understand it, but Just from reading it this is some pretty cool stuff!

So the 3 (or 2) dimensional character means you can tap into 3 (or 2) outputs of each system, and us that to modulate things? Or is it a single output per thing?

Also, how’s the CPU (for just the chaotic attractors)?

Handy to know if they are to replace simpler modulators.

Thank you! It felt a bit nerdy, but hey, this is ZOIA. It’s okay to be nerdy.

Strictly speaking, the idea is to have 3/2 LFO outputs which each modulate a single parameter within a system (system in this case meaning some module with variable CV). However, you can easily do whatever you wanted. For instance, on Lorenz/Rossler, I mapped the dx.dt, dy.dt, and dz.dt (differential outputs on the math page) to three separate CV jacks on the granular module. But for Van der Pol, I decided to map both differentials to position and grain size at the same time.

CPU is approximately less than 10% for all three patches if you just focus on the attractors (on the control and math pages). Depending on the system/module you send the LFOs to, CPU can spike quite a bit (like if you were to use the multi-filter as the destination), but that would be the case for any modulator.

Yep, got it. Sounds supercool, this kind of nerdy is right up my street :P

Will definitely look into this after my holidays!

Wow! This is so cool! I was looking to ways to patch chaotic ossillators without the maths knowledge. This saves my life, my sanity and my time!

I will continue to read to understand better chaotic systems but being able to have some chaotic modulation before I know how to build it is priceless!

Thanks you.

The explanation, and math are incredibly intriguing. Given the complexity Iâ€™d love to see a video of you utilizing it effectively, or simply perplexed me further.