Automated DJ based on microphone input.

    Dec 13 2011 | 11:02 pm
    Looking for a way to import a playlist of music files into Max, and have Max select them based on volume input into a mic (higher volume-> higher tempo track). I realize I'll have to probably manually tell Max what the tempo of each track is, and that's fine. Right now I'm planning on importing each song using sfplay~. I just need help with something that will analyze the volume level of the mic input. Thanks!

    • Dec 13 2011 | 11:40 pm
      Check out the objects [pitch~], [fiddle~], [bonk~] and [sigmund~] ( ).
      Depending on the kind of music, you may be able to track the beat via maxmsp. One way to do it would be to set up a 'tap tempo' bit that receives 'taps' whenever there is a signal over a particular amplitude within a particular range of frequencies (e.g. the bass in techno, or whatever) - but I am sure this is something that has been done before so you can look it up and see what you find.
      You can even use [meter~] and [scale] to make an association between volume levels and tempos.
      Do you want something absolute (e.g. "if volume is 80db, then tempo is 120bpm; if volume is 100db then tempo is 200bpm" etc) or relative? (e.g. "if volume is higher than before, then next tempo should be higher than before")
    • Dec 14 2011 | 9:54 pm
      I think it would be easier for me to do something absolute. Thanks for your help! Also I'm looking for only let the program change songs when the previous one has finished.