Wow such a lot of stimulating musical discussion on the list this week.
On Mon, 14 Aug 2006 11:24:56 +1200 Damian Stewart damian@frey.co.nz wrote:
Chuckk Hubbard wrote:
I have no idea how to make a patch that would insert pivot tones somewhat randomly.
i am finding the concept of 'boredom' to be very, very programmatically fruitful lately. presumably i know (or can find out) all of the notes that are currently playing, or have been playing for the last little while. have a boredom counter that increases faster when the changes are fewer. when boredom reaches a particular threshold, pick a chord target and start inserting pivot tones... increasing the frequency as the boredom approaches the (higher) chord-switch threshold (of course, the new tones would interact with the boredom counter - oh i do love feedback :-))...
If things start to get too chaotic or unstable at longer scales you could always feed-forward, in other words not include your new pivot notes in the analysis until the change occurs.
hmm. i have a centralised rhythm machine at the moment that runs constantly and bangs about 50 different sends at different periods and different phases (n, 2n, 3n, 4n, 2n-then-3n-then-3n, 3-2-3n, 3-3-2n, etc). it's attached. it's based on a book called 'Hearing in Time' by Justin London, which is wonderful and has informed my ideas about techno no end.
so have a similar thing for assigning tones -- rather than each instrument having its own tone input, instruments just listen to a master tone assigner, that has a bunch of different sends (eg t-root, t1, t2, t3, t4) for the tones in order of diminishing importance/salience to define a particular harmonic context.
Sounds great. I've been playing with some similar ideas in composing lately. The idea of departing from instruments strictly following a score and putting some "intelligence" into instruments or groups of instruments seems good. A while back I was trying to get a tune based on a "rythmn section" and a 'brass section". The rythmn section was the drummer, and the bass, with the bass following a "busyness" parameter and a "dynamics" parameter. The problem is, generally with realtime dataflows like puredata, that you have no look-ahead possibilty. Like the problem of predicting duration for tied notes when your score is generative. Every function you use to derive a parameter is necessarily following along behind what has already happened.
I thought about it two ways. Either you want to keep a buffer of one or two bars and fill that first, in which case you kind of defaulted back to just following a dynamic score. Or you imbue your "players" with some kind of anticipation. Say we are in bar N and bar N-3 was was a busy cadence and bars N-2 ans N-1 were straight then assume we are playing in 4/4 and get ready to end the bar conclusively. This a kind of musical autocorrelation. I got into a bit of a mess programming that but I must have another try again soon. Thanks for the multi phase bang box , will play with that later.
Andy
f r e y live music with machines http://www.frey.co.nz