...ndresa, i'm a bit too much of a newb in this area to quickly identify what i'm looking at, so could you explain, does your program 'generate' the music, and if so, is it always the same each time...?
@ZenPyramid, this one is actually pretty much hard coded, the only thing that's really generative is that burst of notes in the second part. And even the stuff that is generated isn't that random, so every time you run the program, the output sounds very similar.
...fascinating. My next question was to be 'what does it run on', but i'm now interested if you have pushed this in the direction of randomised output. i've always had this idea that in the future we'll have music that sounds different every time we hear it, pictures that change over time, films that subtly alter compositions and plots each time they're watched. Video games are approaching this territory from the 'other' direction, as it were, imo. Do you have any more? i'm quite enthralled...
@ZenPyramid, there's quite a lot research going on looking at algorithmic composition, so it might get into mainstream eventually. At the moment not a lot of it sounds that musical though... I've played a bit with it in the past, here's an example: http://subsumption.jansson.me.uk
...really like the ants, btw, still got them playing in the background. Do you know of a similar thing that does 'rain falling'? I've always wanted that for going to sleep...
Thanks @brettsinger! I'm sorry, it's not well documented at all. First you'll need to install R, then my small rmidi framework https://github.com/andreasjansson/rmidi, then connect rmidi to whatever midi device you have available (mine is a Yamaha TG33 synth from 1990), and, in R, run midi.play(arr). I'll update the gist to be more specific. Disappointingly, there's no DSP involved, it only operates on high-level symbolic midi data.
9 Comments (since 7 Feb 2012)
ZenPyramid
@zenbullets ...music with source code! i'm wondering how similar this is to your art...
ZenPyramid
...ndresa, i'm a bit too much of a newb in this area to quickly identify what i'm looking at, so could you explain, does your program 'generate' the music, and if so, is it always the same each time...?
ndreasa
@ZenPyramid, this one is actually pretty much hard coded, the only thing that's really generative is that burst of notes in the second part. And even the stuff that is generated isn't that random, so every time you run the program, the output sounds very similar.
ZenPyramid
...fascinating. My next question was to be 'what does it run on', but i'm now interested if you have pushed this in the direction of randomised output. i've always had this idea that in the future we'll have music that sounds different every time we hear it, pictures that change over time, films that subtly alter compositions and plots each time they're watched. Video games are approaching this territory from the 'other' direction, as it were, imo. Do you have any more? i'm quite enthralled...
ndreasa
@ZenPyramid, there's quite a lot research going on looking at algorithmic composition, so it might get into mainstream eventually. At the moment not a lot of it sounds that musical though... I've played a bit with it in the past, here's an example: http://subsumption.jansson.me.uk
ZenPyramid
...once the media players pass the Turing test, we're off! Or redundant, one or the other...
ZenPyramid
...really like the ants, btw, still got them playing in the background. Do you know of a similar thing that does 'rain falling'? I've always wanted that for going to sleep...
brettsinger
This is fascinating. First question is about the coding. How do you get from gistfile1.r to the terrific tune we hear above?
ndreasa
Thanks @brettsinger! I'm sorry, it's not well documented at all. First you'll need to install R, then my small rmidi framework https://github.com/andreasjansson/rmidi, then connect rmidi to whatever midi device you have available (mine is a Yamaha TG33 synth from 1990), and, in R, run midi.play(arr). I'll update the gist to be more specific. Disappointingly, there's no DSP involved, it only operates on high-level symbolic midi data.