mad generative ramblings
Author: astroid on March 15 2008
Viewed 2325 times. 25 people liked this blog. You can rate it below if you haven't already.
--> as a few unfortunate souls in the #em411 irc have experienced, i've had somewhat of a breakthrough in how i think about generative music. i figured i'd spread the misery to a few more people while my caffeine wears off for the night.

the germ of the idea is that you can score something in binary, and then encode it in analog for storage and decode it for use.

so let's just dive in:

'scoring' in this context means telling a set of simple machines if they are to perform their sole function or not-that's the binary. one set of binary instructions might be

bit 1= note on/off
bit 2=raise/lower
bit 3=quantize to pitch set 1/2 (this is good for classical music or any other kind that has a strong push-pull quality)
bit 4= interval 0/1
bit 5= interval 0/2
bit 6= interval 0/4
bit 7= interval 0/8

what these bits would do is this: bits 4-8 would sum to an interval. bit 2 would either add or subtract that interval from the last pitch. bit 3 would quantize that product to one of two pitch sets, and bit 1 would determine if the note is played at all.

now the elegance come in how modular and recallable this information is. you could replace any bit with another machine. for instance, you could write a counterpoint to that line with simply another set of bits like:

bit 1=counterpoint linked/unlinked
bit 2=intervallic/pitch based
bit 3=straight/mirrored
bit 4=phased/unphased
etc.

or you could write programs that change the timbre according to rules, or programs that test something about the audio. the point is that, instead of notes and things like filter cutoff, you're sequencing simple devices to influence rather than explicitly replacing the data at any point.

the two other ideas that make this a fairly elegant solution to spontaneous composition are that you can encode these sets of bits into one number each at one point. that makes it so you can store them in a normal numeric sequencer.

the second thing, which i have yet to implement, is that you could extract a meta-score from data that reasonably fits the texture of your machine. all you'd have to do is ask the data at each point if it is or isn't doing those specific things.

anyway, this is what i think about as i walk my dogs. i have made the first set of bits. with the pitch sets of [C Eb G] and [D F A B] it can sound like a classical theme pretty easily. i hope to make the counterpoint bit-set soon and render a nice album of improvised baroque electrowank very soon.

Read astroid's other blogs.astroid's Recent Blogs
Comments

1 | 2
HAVE mofo HAVE

keep the nerdpower alive

you hosers just don't know that nerds are what keep the world turning

actually there is no certain hypothesis on why the world turns. the most acceptable theroy is that since the planet formed in spinning nebulas as they grew they remained in motion.

i'm not sure how this helps with generative music. You've devised a code for sending pitch information, but what algorithm do you apply to it?

flies said: "i'm not sure how this helps with generative music. You've devised a code for sending pitch information, but what algorithm do you apply to it?"


it's not pitch information. it's interval information. it doesn't just arbitrarily spit out a pitch, rather reading the last pitch and moving from there.

also, the second set of bits relies totally on the first set. it reads the melodic shape and then decides how it wants to shape a counterpoint line to it. there's no 'chance' involved, it is a deterministic system, but the lines are derived algorithmically.

astroid said: "also, the second set of bits relies totally on the first set. it reads the melodic shape and then decides how it wants to shape a counterpoint line to it. there's no 'chance' involved, it is a deterministic system, but the lines are derived algorithmically."


interesting. I'm not quite following though. the first set of bits is one interval, right? but what is the second set?

the second set reads the first set and then applies rules to that. it's not specific yet (haven't had time to pin that part down yet), but it'd be easy to apply circuits i've made in the past-ones that read intervals and note progressions, note position within a key area/phrase, something to invert or phase all the pitches or intervals of the first line and then drop down a third/fourth/octave/whatever.

it's open-ended.

cool man. i'd love to hear what sounds you might create this way

yay

i'm excited too. maybe this week i'll be able to make a demo or something. the open-endedness of the system makes me really optimistic about the future of it. after a decent counterpoint line is applied, i think it'd be easy to make something like a third and fourth line, stuff that really tries to understand what's going on and make some meaningful decisions.

i just started on this path. by making my own kind of feedback arpeggiator that i can change
the timing and intervals of individual notes. i thought about using lfos to vary this but
deterministic analysis is going up a level. thats cool.

i like the idea of pressing just one note. and then a whole load of layers come out that i can tweak with
controllers. its sure beats piano rolls.

i would like to see some working diagrams of your stuff.
just a diagram of flow would be cool.

1 | 2

Register / login
You must be a member to reply or post. signup or login