geeking out into "orbit"

Feb 28, 2009 21:43

so, i teach a couple of classes on algorithmic composition to undergrads and masters students. as a composer, i stress the importance of mapping to the students (i.e., the values that come out of the algorithms have to be applied with especial aesthetic considerations; usually mapping to pitch alone results in weird, boring muck).

but the kid in me loves the math.

in fact, i make demos of the algorithms (usually mapping them to boring old pitch just to prove my point and to let them come up with the ideas in their assignments).

i'm particularly proud of this week's accomplishment. but, i confess, i totally ripped of a masters student's idea.

normally, i just play sounds that demonstrate the algorithm (so far we've covered random distributions from uniform to weibull and lots in between, 1st and 2nd order markov chains, fractal patterns, and now chaos!). but, one of the masters students got the grand idea to actually draw the picture of the hénon map in Max/MSP.

so, i took it a step farther. okay - before you say anything: yes, i should have used jitter, but only the undergrads learn jitter. i built a patch that draws the bifurcation table of the logistic map into an LCD object. i color coded iterations from 0 to 255 and applied it to x's distributed evenly from 0.1 to .99 and with the constant from 1.0 to 4.0. - and it's gorgeous!

so i got on a roll, and i built a patch for the hénon maps. it can switch between three canonical maps automatically or allow you to set your own alpha, beta, and initial conditions. the x values are scaled to 5 octaves of MIDI, and the y can be applied to MIDI velocity.

the patch also changes the MIDI program number, so y can also be applied to timbre. or, you can choose to let the iteration number map to timbre.

i also built in little user interface things - for example, automatically loading a totally-ripped-off-from-mathworld graphic of the hénon map it's drawing for comparison to what the patch is making.

the coolest thing is, since it's done in real-time, you don't just see the end result, you see how each iteration forms the maps.
Previous post Next post
Up