Simple Mobmuplat App: "spiral2audio" - with parameters + use of [wrap] with LCD visualization

capture28723.png

Not sure about how much (in gaming terms) "playability" this has. But it was/is a lot of fun to think about: how does [wrap] operate on a function (not the wrap part but the sound) and how does that combination of function+wrap play out in audio-vsiual space.

It writes the xy-results of the spiral to an LCD control so you can see what's happening. Particularly interesting once the [wrap] kicks in. Parameters can be changed on the fly and you can clear the LCD to watch how the interaction unfolds as you change those parameters.

(Made a similar one for collatz. But, musically speaking, Collatz is horrible! :-) Spirals somehow appeal way more to my sense of "music".)

The xy-coordinate have been mapped to [makenote] as follows: pitch=y, velocity=x, and duration=y*maxduration. (This can be changed very easily within the patch, if you want a different map).

To use the app just download the zip below and install it like a regular mobmuplat app, aka. "Open with Mobmuplat".

spiral2audio.zip

The controls are pretty straight forward:

maxnotes: the maximum number of iterations it will play, from 10-1000 (linear);
res(et): resets the loadbanged defaults (just a simple spiral);
clear: clears the LCD grid, where the function is behind the controls; also does this on res(et);
(max)noteduration: (at 120bpm), 1/32 to 2 wholes;
j: the x-offset;
k: the y-offset;
wrapmin: the mininum midi note value, scaled to the 88 midi piano notes, i.e. {0-88}+20;
wrapmax: the maximum midi note value, (ditto) and is scaled so its minimum is never lower than the wrapmin;
r-incr: the radial incrementor for each note;
theta-incr (+ grid): the theta incrementor; the grid allows you select quadrants of 90 degrees, ex. -1,1 changes the knob's range to 90-180;
+|-: to change the theta incrementor to a + (default) or - value;
and
vol(ume).

Have fun. Let me know what you think.

Ciao.

Peace thru love and music,
Scott

note: it has a wierd bug on first run where it shoots up from (0,-1). Currently, don't know why and haven't the patience/energy to fix it. Sorry. Ciao. If anyone wants to diagnosis and fix that that'd be awesome. Thanks. Happy pd-ing. (It works fine even with the anomaly)