Tuesday, October 16, 2007

Each Life

each life

Also, I've been having a good time doing stuff in Max/MSP again. I finally got an idea I had been kicking around for a while to work. I would like to go on record as saying that although it is corny and can be used for horrible purposes, I think that Band-in-a-Box is one of the most interesting pieces of music software on the market. Yes, it is terrible, but it also terribly clever, and the developers of this software are perfectly fine with the fact that this is not at all related to any other music software out there. Instead of sweating the small stuff, it deals with the generality of music that is based on basic chords (and a lot of music falls into this category). It treats the units of music completely differently than any other music program that I can think of. There is not even an option of tweaking the minutia of individual notes. The basic unit is the chord, the chord is what the software understands. What has recently really got me thinking is how in its newer versions, Band-in-a-Box can now generate songs for you simply by telling it what genre you want the song to be in. It generates the chord changes and will even write a melody to go over them. As if that wasn't enough, it will generate a solo to go over those chords, too. You've basically got an original corny little ditty on your hands, without really doing anything. Generative! And, if you're not sure what to name it, the software will even do that for you (sample song titles: Insipid Top, Understanding Lester). Awesome, right? Well, anyone who has heard it knows that it is actually pretty cheesy (general MIDI is partly to blame here, for sure), but what is cool is that it actually does what it says it does, in a pretty impressive way. When I watch it do what it does, I can't help but think, "OK, this is spitting out chords based on the chord transition probabilities associated with the genre." It does some genres better than others (if it is Bassanova you seek, look no further!), but it really got me thinking about generating my own chord transition probabilities, and using those for hopefully less-corny purposes.

That's where my Max/MSP idea was born. The idea is pretty basic: play some chords, the thing starts to mimic your chord style and play itself, as it is doing that, you play "solos" over your chords, and it generates separate probabilities for what notes you would most likely play over certain chords. If all goes well, you have "sampled" a bit of your playing style, and it can be brought to life with Markov chains based on your probabilities, leaving you to be able to jump around on stage or whatever you want to do as your computer brain backup band jams as you have taught it. The thing I made looks like this:

chord trans prob

There's still a lot that needs to be done with it (like a sense of rhythm, for example), but I'm happy that by now I know how to attack the rest of what needs to be done, and I have a basic concept that does what I want it to. The notion of processing chords as chunks of data in Max seemed so impossible for a long time because I was approaching it the wrong way.

Don't we all wish that what we learn in one area can be extrapolated to apply to all other areas of life? Sometimes I think that it's starting to happen, and it's a great feeling. Thanks, life!

1 comment:

noxidgerg said...
This comment has been removed by the author.