3 ms·
There were never any MIDI files, the notes were generated as raw bits and sent straight into ableton live, which is a full blown software music studio. The note
by JonnieCache 16y ago
There were never any MIDI files, the notes were generated as raw bits and sent straight into ableton live, which is a full blown software music studio. The notes then drove a softsynth which noodled away over various drum loops playing in live.
Because I had no desire to work out how to send clock data back from live into my hacked bit of ruby code, I simply sent MIDI clock signals from my code along with the note data. This meant that the iterations of the GoL were controlling the speed of live's sequencer.
As my code was very naive, it simply did its calculations, sent the notes and then did sleep(0.5) or something, then started the next iteration. This, along with ruby's garbage collection meant that the time taken for each iteration, and the delay between each MIDI clock signal, varied considerably.
All of this added up to a situation where the master clock in live was constantly wandering up and down by about 20bpm either way. Now remember I said that live was playing the drum tracks underneath? Live timestretches audio to the BPM of the master clock, so the whole track was constantly wavering in tempo. The whole thing sounded like an early 90s warehouse party aboard a pitching and rolling ship. Which is incidentally how I usually feel at warehouse parties.
At some point I plan to post the music with the code to my blog, along with all the other wacky shit I did at uni.