-
ye olde cubic map is a nice simple recursive chaotic oscillator
x = a(x^3) + (1-a)*x
initial state should be in (-1, 1)
it has the cool property that x oscillate between positive and negative. so if you do interpolation by cosine segment it’s a sine oscillator, &c.
with a<3.2 or so it’s period=2, with amplitude kind of dependent on a. orbits tend to get longer and denser approaching a=4, whereupon it blows up.
-
Henon map is a fun 2-state recursive function that comes from celestial mechanics.
x(n+2) = 1 - a * x(n+1)^2 + b * x(n)
with a in, like, [1-2], b in, say, [0-1].
[edited for clarity]
this is denser and “crunchier” than cubic, and it’s fun to have different outputs for the different states.
-
lorenz attractor is another popular one but its a bit heavier to compute. (example omitted)
-
you can do a lot of fun things with coupled nonlinear force terms. here’s an oscillator based on th fermi-pasta-ulam-tsingou model. basically its a bunch of masses connected by springs, where the force term for the spring has a cubic term. you get differenet cool enharmonics by changing the “pickup position.” have found it very nice for LFO bank as well as audio rate.
[https://github.com/catfact/audio-externals/tree/master/fpu]
-
i’ve seen a version of the logistic map with two variables, referred to as ‘twisted logistic’… will update here if i can dig up the details. it’s very musical.
-
1-d, binary cellular are always fun and very simple to implement. with continuous states you get what i’ve seen referred to as cellular dynamata… which can really model a large range of dynamical systems… and there’s a deep rabbit hole.
i gotta point out that gendy is stochastic. whole other can of worms. it is an implementation of the stochastic sieves xenakis used to produce waveforms for Metastasis (1955.) my opinion is that complex applications of random variables (gendy, markov chains) fall kinda outside the scope of a single TT operator. but it’s just an opinion.
if you do want to include a toolkit of basic non-uniform random distributions as operators, some of the usual suspects would be:
- PINK (1/f) - best done by a “pinking filter” or something like Voss algorithm (which is basically sum of multirate uniform noise sources - see http://stenzel.waldorfmusic.de/post/pink/ for an efficient modern implementation)
- BELL/GAUSS/NORMAL - a bell curve distribution, average of many uniform samples
- BROWN - 1/f^2 , limit of random walk
these all require a uniform random variable as a starting point.
oh, BTW: can be hard to make even simple recursive functions behave properly with fixed-point arithmetic; rounding errors make it too noisy. i’d just use soft floats on AVR32 and eat the cycles. you probably realize this already.
and PS: in looking up the FPUT on wikipedia, i am over the moon to see that there has been some direction in officially crediting the person who actually programmed this important model, which was possibly the defining experiment in computational physics and one of the progenitive experiments for “chaos theory.”
mary tsingou was a woman of greek ancestry working at Los Alamos in 1955. it’s shameful that her name has been omitted from this groundbreaking work for half a century.