Chaotic Oscillator Modules

I was watching the following video by @MinorNoise today. For purely ego-driven reasons, I enjoyed seeing so many Sapphire Tricorders used in one patch.

Then I realized these Tricorders were graphing output from the new Julio’s Chaotic Oscillators plugin. I’ve been meaning to look at this for several weeks now… seriously, it’s on my whiteboard in green ink, sitting there ignored.

The JulioChaos modules are hard to see in the video, so here is a closeup screen shot I made from the original MinorNoise patch.

Anyway, in a similar spirit to the Polyphonic Effects Module thread, I thought it would be fun to explore chaotic oscillators in a discussion thread.

In addition to JulioChaos, I will mention my own creations. First, in the Sapphire plugin we have Frolic, Glee, and Lark.

I also ported the Nonlinear Circuits Sloth modules from hardware circuit schematics to VCV Rack:

I am also familiar with Vult Caudal, which includes the most amusing combination of modes: pendula, planets, and fish-tank!

I’m sure there are other VCV Rack modules out there devoted to generating low-frequency chaotic signals for modulation. How many do you know that I missed above?

7 Likes

I had no idea you were behind the Sloth VCV ports. Very cool!

I don’t think there is a nice formula that describes the behavior, but the Benjolin Oscillator is definitely chaotic (deterministic, yet unpredictable)

4 Likes

Hetrick has a number of chaotic voltage sources:

4 Likes

I guess if you count smooth random then… a lot. But also a lot if you count people implementing various algorithms, e.g. Wiqid.

image

3 Likes

Here’s an old thread that mentions two more chaotic oscillators: Fractal oscillators in VCV?

1 Like

I’m quite bad for finding a module that does what I want, then using it all the time and not bothering to look at alternatives! So Vult Caudal goes in every patch, and I’ve never looked beyond that much. I do use Bogaudio Walk sometimes though, not sure if that’s chaotic but it’s random and can also be made polyphonic.

2 Likes

I don’t know how I missed these lovely little noisemakers!

1 Like

Yeah, as @LarsBjerregaard mentioned already: There are several chaotic LFOs by wiqid, including lorenz, languor, halvorsen, thomas, sakaya, dadras and sprott-lint f. I especially like their small footprint.

Also, I think Bezier, a smooth random voltage generator by Cella, is pretty useful — if that counts as ‘chaotic’. In particular, I like its built-in ability to scale and offset the output.

2 Likes

Yes, and I guess, in most cases, you would barely hear a real difference between the various “random” or “chaotic” oscillators, especially when used as CV source for modulation.

I just looked at the Caudal trajectories in Tricorder (only the x/y components), and they are very different to, for example, the trajectories of Julio’s or the Sapphire oscillators. The “Pendulum” is quite regular (kind of an irregular back and forth on a fixed regular circle), while “Planets” and “Fish Tank” look way more “chaotic” and random than Julio and Sapphire, independent of the setting for Speed and Energy.

To my understanding, strictly speaking, Julio’s and the Sapphire oscillators are not random at all. The CV output of the x/y/z coordinates is the solution of a system of dynamic equations, and the result is completely deterministic, given that the start conditions and parameters are the same (Speed and Chaos knob, or Rate, A, B and C knob, etc.). I think, they are called “chaotic” because the trajectories (i.e. the CV output of x/y/z) are very susceptible to tiny changes of the parameters. So, a small change can have a big impact on the shape of the trajectories (butterfly effect?): Sometimes they are simple and repeating, sometimes they are very complex, so that they might look random, but actually they are not. (@cosinekitty: Is that roughly correct?)

In my patch where I’m using the CV output not only for modulation but also for pitch and triggers I was trying to exploit this to get sometimes repeating note and/or rhythmic patterns (namely when the trajectory is simple and repeating), or longer random phrases (when the trajectory is complex and less repeating). It reminds a bit of the “deja vu” option in Marbles (with the difference that you have to actively kick out the trajectories of their repeating pattern by changing the parameters, while Marbles ends a deja vu section spontaneously, afaik).

In my opinion, you can hear this sometimes in the patch but I could have done better, and it’s a bit messed up by the Bernoulli gates that add variation but also obstruct or hide such repeating patterns a bit.

I think the Venom Benjolin Oscillator has a similar behaviour in that the output sometimes enters into a repeating pattern for a while before it gets more chaotic again, spontaneously or by changing the Rungler/Chaos knobs.

Chaos is totally different than random. Chaos definitely has patterns that are predictable in a general sense, but not in an absolute point in time sense.

2 Likes

Indeed, this is (I suspect) a decent first approximation of the math/physics meaning of “chaotic”.

So, random in appearence, because the human brain isn’t very good at predicting them accurately, but not random.

1 Like

I would like to toot my own horn here - my module “LFN” used to be very popular. AFAIK it’s the only module that generates “random” CV like this

5 Likes

Yes, true chaos is not random but deterministic. I find them pleasing for use as low-frequency CV modulators. Frolic, Glee, and Lark all use different formulas, but in the same way: in each case, there is a point in space that moves around. There is a function that takes a position vector (where the point is now) and returns a velocity vector (which way the point should move in the next instant of time).

You take the particle’s current position, put it into the formula, and out comes a direction and speed that the particle should move (a velocity vector). Then you update the particle’s position a small amount in the direction indicated by the velocity vector.

Although deterministic, the trajectory of the particle over time does not exactly repeat, and slight changes in position can result in very large long-term deviation of trajectory.

If you are curious about the details, you can take a look at the source file chaos.hpp for the implementation, and also comments with references to where I found the formulas. To help, here is a list of the formulas used for each Sapphire chaos module:

2 Likes

LFN looks interesting, I have to try it out. Thanks for the hint!

1 Like

Oh wow, this website lists about 200 attractors, looks like opportunities to implement for years! I see a bright future for your Tricorder! :smile:

2 Likes

Oh no… oh no no no. :laughing:

3 Likes

Generally a system is deemed ‘chaotic’ if its behaviour is just ‘hard to predict’. So, not ‘impossible to predict’ in a ‘Quantum Uncertainty Principle’ way.

Here’s another chaotic system derived from the physical world: the Double Pendulum.

The double pendulum is often considered a basic example of the ‘butterfly effect’. Though the behaviour of the double pendulum is deterministic, it’s behaviour is highly dependent on its initial state and from that point onward, hard to predict and thus deemed chaotic.

Van Ties - Sjoegele

There used to be another Double Pendulum in VCV Rack v1:

Loco VCV Modules - CHAOS

3 Likes

Actually, according to the Heisenberg uncertainty principle, it is impossible to predict because it is not possible to know with absolute accuracy both location and momentum (for example). If it were possible to know both, then you could make accurate predictions. But nature does not let you measure both things at the same time. The very act of measuring one disturbs the other.

1 Like

Not only is it not possible to know both, there is no such thing to be known in the first place.

One of the wilder insights I got from studying quantum mechanics is that the wave-like aspect of nature manifests in certain pairs of variables being complementary sides of a Fourier transform. In other words, pairs of variables that are Fourier duals of each other.

We usually think of time and frequency when we think of Fourier duals. This is significant because the more precisely you know the frequency of a signal, the less resolution you have about when things start or stop. As soon as you “turn off” a sinewave, it causes distortion all over the frequency spectrum. It’s not that you can’t “know” frequency and time with high precision, it’s that one of them being precise inherently means the other one can’t be.

Saying “we can’t know both at the same time” is slightly misleading, because it’s not some secret we are prevented from knowing. Nothing is being hidden from us. If you set up an experiment such that a “pure frequency” results, it means you have a system where the frequency doesn’t change over time, so there is no modulation of phase or amplitude to encode time-variable information. For example, if you listen to an AM or FM radio broadcast consisting of a pure sine carrier wave, you will hear… silence.

Conversely, if you have modulation of some kind (e.g. sharp pulses) that clearly mark a precise instant in time, you can’t have a system with a pure frequency: you’re going to have noise all over the frequency spectrum.

This line of thinking applies to other pairs of Fourier-dual variables:

  • momentum and position: \Delta p \Delta x \ge \hbar
  • time and energy: \Delta t \Delta E \ge \hbar

The second one is really a restatement of the (time, frequency) pair, because the energy of a photon is proportional to its frequency.

2 Likes