not sure, but this might fit the bill: http://labrosa.ee.columbia.edu/meapsoft/ > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Long rambling question here; it's late. > > I'm having fun making groove-like peices with various GNU/Linux tools > (ardour, fluidsynth, rosegarden, ams, whysynth, et al), but I'm finding I > just don't have a good feel for dance/DJ-style mixing. > > So what I've been doing is just keeping the number of tracks relatively > low, and keeping the peices very short, becuase they get boring after a > while. But that's not what I want. I'd like longer peices that evolve. > > In other words, I can layer loops on top of loops like there's no > tomorrow, but then the result is really too dense. I could sit here with > ardour fader automation or something like Freewheeling/tapeutape, and try > to randomly vary these and play around with mixes, but I don't have a good > feel for it, I don't have the time sit through or choose from many > iterations of 10-15 minute mixes, and there's no *audience* here to judge > the result, so the exercise would be useless. I can't rely on past > experience either: I've never done much live playing (and it's been 10 > years since I did), and I'm too old to have ever done any live DJ'ing. > That experience of "mixing" music live for an audience-- and varying > dynamics and textures in order to keep the humans listening to it engaged > and happy-- is priceless. And I just don't have it. > > The "social/human" answer would be: well, go find yourself a producer, > someone who has similar tastes and who has lots of experience DJ'ing. I > generally don't do well with collaboration, and finding the right people > is always challenging, but that's one option, and I looked into possibly > using ccmixter.com or splicemusic.com and letting "the group mind" do this > for me. > > The "DIY" answer would be: teach yourself how to do it. That's usually my > default answer for anything, and it may be what I end up doing. But trying > to find an audience to test the results, is difficult for me due to other > obligations and limitations. I have been looking into options, like asking > the owner of my local coffee shop if I can take control of his stereo for > a few hours a day, plug a laptop and keyboard controller into it, and thus > obtain an audience that has no idea they are an audience. But even then, I > need a starting point first. I was going to begin by mapping out the "mix > structure" of a few peices that I like (i.e., just about anything on > Groove Salad on somam.com), and then edit the ardour fader automation > visually to match. But I'd have to map out at a lot of mixes to try to > distill their common features and how/why they work as mixes. > > Finally, I thought, wait a minute, there's another answer: the "geek > answer". Instead of trying to find another human to mix for me, or trying > to train myself how to mix, why not train the computer how to do it? What > I'm on after is kind of a "mix algorithm", that I can execute. Why not > teach the compter how to do it? > > What I'd like to find or write, is a program that will take in lots of > loops, and will generate mixes, based on some rules or examples derived > from successful peices in this genre, and hopefully one which I can > "train" by basically using myself as the audience, or possibly actually > use in a live performance situation. I'd either manually tag the loop > samples, or ideally have it do some signal analysis to determine rhythmic > density, tonal density, frequency range, etc. of each loop, and "slot" it > in to the appropriate place in the mix. Even better if it does this in > real time, so I can sit here with a keyboard and play stuff, and have the > program decide on the fly where each loop might fit in the mix. > > So my question would be: > 1) Is there anything out there already (OSI licensed) which will do this? > 2) If I were to write it, what language/environment would be best suited > for it (i.e. csound, pd, supercollider)? > > Thanks. > > - -ken > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.1 (GNU/Linux) > > iD8DBQFF0uTFe8HF+6xeOIcRAnbEAJ9J2FBkj9cvYSZ2v5MiumAfrBxI5wCeMojx > E25KCxa49jSqXFt9I80o5VA= > =IxBJ > -----END PGP SIGNATURE----- >