earlier experiments in generative music

These are the demos I made for an Able­ton device con­test before real­iz­ing we weren’t meant to pro­duce demos.

What you’ll hear here are snap­shots of a dynam­ic sys­tem. The real ver­sions come out dif­fer­ent­ly each time they’re played, much as the repeat­ing sec­tions here aren’t real­ly repeat­ing. These will be longer clips than usu­al, to demon­strate that variation.

The idea, of course, is not to cre­ate end­less loops like this, but to build a frame­work where the over­ly sim­ple source mate­r­i­al used here is replaced by live input from a real musician.

Again, they’re just exper­i­ments. Details are pro­vid­ed below each music player.

* * *

  • The var­i­ous pitched instru­ments are ran­dom­ly select­ing notes (with­in the same scale).
  • The drum part is one short loop, with many hits removed at ran­dom, and some of the remain­ing ones repeat­ed as ghost notes.
  • The low­er bell sounds are using the same tricks as the drums, with dif­fer­ent set­tings (and a sync’d delay to fill in gaps and give them some groove). They’re inspired by javanese gamelan
  • The brighter bell sounds ring longer and play less often, as a melod­ic ele­ment to tie things together

* * *

  • Rhythms are bro­ken up with sim­i­lar tricks as before
  • The bass part is actu­al­ly a stream of long steady notes, gat­ed against the drums to cre­ate the illu­sion that a live bass play­er and drum­mer have played a lot of shows together.
  • The scrib­bly notes (for lack of a bet­ter term) only plays with­in that same rhythm, but delayed by a beat.
  • The organ part fol­lows sim­i­lar rules to the bass, but sidechained against unheard elements

* * *

  • The pitch­es of a repeat­ing pat­tern are ran­dom­ized on the piano.
  • Drums and piano both drop notes at ran­dom, to vary the rhythm.
  • I might have over­done it on the fx
  • Heavy reverb fills the space where no drums are playing
  • The piano swaps between two audio chains when the drums are not play­ing. One ver­sion is rec­og­niz­able as the piano. The oth­er becomes the repeat­ing flute sounds you hear.

generative nonsense in C Major

Here’s a bunch of ran­dom notes. I estab­lished some rules for the vir­tu­al ensem­ble to fol­low, pressed play, and record­ed the results. Parts of it sound decent, but it isn’t very natural.


Here, I’ve mapped some effects con­trols, as well as the veloc­i­ty val­ues of each note, to a motion sen­sor. As I rotate it around, para­me­ters adjust accord­ing­ly. When I lunge at the screen, stab­by accents occur. It’s very satisfying.

Things sound more human, until they don’t.

And here, I forego the wacky repeat effects in favor of tem­po con­trol. Same basic con­trol par­a­digm, but the results should be more subtle.


EDIT: Just noticed my “thin out incom­ing notes” rou­tines weren’t work­ing on most of the instru­ments. Fixed now.


More to come, sure­ly. But I’m hap­py with the progress.

Suspension Pedal, Max for Live MIDI device

You’re prob­a­bly famil­iar with the piano’s sus­tain ped­al, and how that works. When you press it, it dis­ables the mechan­i­cal action that ends a note when you take your hand off a key. When you release the ped­al, that action is re-enabled. 

That’s the extreme­ly sim­pli­fied expla­na­tion that a MIDI key­board­’s sus­tain ped­al repro­duces, at any rate. While the ped­al is pressed, notes ring indef­i­nite­ly, allow­ing you extra time to repo­si­tion your hands, but also cre­at­ing a mud­dy dis­so­nant mess if you’re not careful.

There’s anoth­er vari­a­tion, called the sostenu­to ped­al, which you’re prob­a­bly less famil­iar with. Essen­tial­ly, the notes that were held down when you depress the ped­al con­tin­ue to ring indef­i­nite­ly, but notes pressed sub­se­quent to that are still end­ed by lift­ing your fin­gers off the keys. So you can, for exam­ple, strike a dra­mat­ic chord and play short notes on top of it with­out hav­ing to leave one or both hands on that held chord.

Most MIDI soft­ware and devices don’t sup­port the sostenu­to ped­al, but the mag­ic of script­ing allows us to cre­ate it, if desired.

What I’ve cre­at­ed isn’t quite that, either. It’s a third ped­al behav­ior that I don’t think I’ve seen before. I’m call­ing it a sus­pen­sion pedal.

The notes that were held when you depress the ped­al ring out indef­i­nite­ly. Then while the ped­al is pressed, all input from your key­board is ignored. Final­ly, at the moment you release the ped­al, it changes to whichev­er keys you hap­pen to be pressing. 

Mean­ing…
If you’ve released a note, that note ends.
If you’ve added a note, that note sounds.
If you’ve left a note alone, it con­tin­ues to sound.

This was specif­i­cal­ly devised for sit­u­a­tions where you’re con­trol­ling mul­ti­ple instru­ments simul­ta­ne­ous­ly. Add this device to one instru­men­t’s device chain, and you can force that instru­ment to fall in and out of sync with the oth­ers harmonically.

And here’s the down­load link:
Sus­pen­sion Ped­al v1.0

Ver­sion 2 will have a con­fig­urable thresh­old, so if you’re using a more expres­sive con­trol (which sends a full range of CCs rather than sim­ple on/off mes­sages), you can set dif­fer­ent instances to trig­ger at dif­fer­ent lev­els. Unless in test­ing, that proves to be a ter­ri­ble idea, at which point there is no ver­sion 2.

Edit:
It was­n’t a ter­ri­ble idea, but I’m not sure the added com­plex­i­ty is of tremen­dous ben­e­fit to any­one. I’ll leave both ver­sions avail­able, but for the moment, I think I pre­fer v1 myself.
Sus­pen­sion Ped­al v2.01

2.01 added a non­de­script grey but­ton below the thresh­old slid­er. Press­ing it sets the thresh­old slid­er to match what­ev­er the ped­al slid­er is cur­rent­ly set to. This should make it eas­i­er to set things “by feel”; map the ped­al slid­er first, find your sweet spot, and press the but­ton to lock that into place.

Note: All three of these con­trols can be mapped to automa­tion clips, or the out­put of oth­er apps. I can’t think of a sin­gle rea­son why you’d want to do that, but I left the option open.

with apologies to the Rescues…

I took a per­fect­ly love­ly sentiment:
http://www.therescuesstore.com/VirtualChoir/

and trans­formed it into some­thing horrible:

It.. seemed like a much bet­ter idea at the time.

Also, this ver­sion was an accident:


…but it reminds me of some of the work I did on pur­pose back at CalArts.