Wearable Arduino mod for your headphones. Non-invasive procedure for headphones that don't have room inside the drivers or you don't want to hack apart your high end cans.
Adafruit just put out a tutorial for adding pattern blinking LED lights to headphones. This instructable takes it one step further.
This project is really the Adafruit Ampli-tie project morphed into a cool sound reactive LED light appliance for your headphones. It provides a visual audio meter or color organ that responds to the volume/amplitude of the audio heard in your headphones.
Daft Punk, call me.
Update Feb 2015: Look into the Adafruit Trinket, Gemma or Trinket Pro for a smaller microprocessor to use.
Step 1: Here kitty, kitty...
You can actually use any Arduino but I am using the Adafruit Flora. It is their wearable Arduino platform which I have used for many of my other ibles.
You need the microphone amplifier breakout module.
Instead of many sewable NeoPixel boards, you need to get two NeoPixel rings. A ring contains 16 RGB LED units with each pixel having its own constant current limiter chip built in. No need for external resistors. The pixel units are already chained together, individually addressable and controlled by one data pin by I2C.
A battery pack for your Flora(4.5v, 3xAAA)
Hookup wire to get everything connected.
Male header pins and female header sockets to make detachable cables.
Zip-ties and tape to put everything together
And a set of headphones you want to mod.
CAUTION: Know how to work with electronics. Use care in soldering.
Step 2: When my eyes were stabbed by the flash of a neon light...
I used the Dynamic sketch for the Ampli-tie.
Mod the code if you want to change the animation of the lights.
The only major change is that I will not be connecting my components with conductive thread. Instead, I am using real wire from ribbon cable.
The connected row of 16 individual NeoPixel boards will be replaced with a set of two NeoPixel rings controlled by the same pin. Note that they need 5 volt power so they are connected to vBatt. The 3.3 v is not enough to power the NeoPixels and they will act wonky, I tried.
Note that I have modded my Flora to have leads from the pin outs and terminated with female headers. The power supply pins and GND have a ganged female header to accomodate the multiple common connections.
The microphone amplifier breakout board came with a set of 6 male header pins. I soldered 3 into the board (+3, GND, data). The other 3 unused pins I wasn't sure of what to do with. Spare or were they to make your own cable? I just soldered them perpendicular to the ones on board and made a right angle connector. Clip off the excess leads. You can then terminate a cable with a female header connector for use. It makes for a flatter connector. Connect this to the 3.3v pin of the Flora.
Test your circuit.
I haven't looked at the code closely yet but you can create multiple instances of the Adafruit_neopixel strip commands to run off of different pins. I wasn't sure of how to do that yet but you can just put the data pin inputs together so that the driving signal goes to both Neopixel rings in parallel. The original code was to graphically convert for 16 pixels and not a chained strip of 32 for both rings if you put the data out pin to the data in pin of the other.
Step 3: Rig it all up...
The ring will float outside one of the earcups. The LED elements will face inside since they are so blindingly bright, maybe too bright for some standing next to you but that is your choice to have it face outward. Facing it in creates that halo effect with the light bouncing off of your headphones. You can tape the wire mount to the headphones or screw for a more permanent solution.
Route your wires through to the headband.
Mount your battery pack and your Flora. I think I should have made some kind of web or fabric piece to bridge the open headband to better support the components. I just tie-wrapped them in place.
The microphone amplifier board is pretty small. I lifted the earpad cover up to snake in the cable for the mic module. The mic module rests inside the earcup where there is room and can pick up the sound directly from the headphones. Someone else would know better how to integrate it electronically with the direct output or split from the audio signal. The electret microphone capsule can even be separated from the board if the breakout is too big for the earcup or you can feel it through the cushion, maybe a piezo pickup would work.
Try to tidy up all the loose cables and wires.