Lately I've been very interested in electronic dance music and the production of club environments. I just started learning how to mix as a DJ. For my final project, I want to create a device which is useful for live performance, possibly portable enough to bring around with me to gigs.
The basic idea would be to use the BPM of a currently playing track to control some LED visuals. I could get the BPM information into the Arduino either:
via MIDI on my computer → serial data
by detecting beats in an analog audio signal recorded with a small microphone
As far as device outputs, the important part would be programming interesting LED patterns over time. I haven't done this before but I have seen a lot of inspiring work in this area which I hope to imitate.
I imagine the main interaction loop with this device will be as follows:
If I have time, I'd also like to program a secondary collection of LED patterns which are slower and better suited to an ambient set. One practical feature of this might be that instead of pulsing some lights at 1x or 0.5x the BPM rate, this collection of patterns would pulse / change the lights at 0.5x or 0.25x the BPM rate.
Ultimately, I will measure the success of this device by using it at a party and verbally gauging audience reactions.
Some preliminary research on beat detection:
Some artists & engineers whose live performance installations I admire: