There are so many varieties to choose from! A good place to start are the chaos generators in SuperCollider:
The Logistic map listed in the Noise uGens is also great:
One of the distinguishing design issues with a CHAOS operator is that there should be at least one exposed parameter so that the user can control how chaotic the system is. One idea would be that CHAOS X sets the chaos generator’s parameter (and maybe simultaneously returns) while CHAOS just returns the next iteration. Most chaotic equations can return outputs in multiple dimensions, so it’s worth considering CHAOS.X to return the current X and CHAOS.Y to return the current Y. That would probably complicate things too much.
My vote is for a single parameter chaos generator. Good candidates:
-
Ikeda Map: 0 when its parameter is 0. Stable triangle-ish oscillations as the parameter increases and then a total breakdown.
-
Logistic Map: My personal favorite. Stable triangle oscillation at a neutral parameter setting with a very smooth transition between stability and chaos. It has the advantage of being very computationally simple. It also only has one dimension, which simplifies the design.
-
Standard Map: A lot of fun. It doesn’t have as many stable regions, but it can occasionally get caught in a cycle when tweaking the chaos parameter.
-
Tent Map: Unipolar. X out is flat when the parameter is 0. This ends up looking like a lot of triangles with various speeds and amplitudes.
EDIT: As a side note, I think the Logistic map is what’s used in the Batumi expert firmware. It is also used in Ornaments + Crimes.
EDIT 2: The Logistic map is so simple, you can already program it as a Teletype script without the need for an operator.