Inspiration
We both have played instruments for many, many years, and are interested in different ways for music to interact for the environment. This paired with the idea for the structure of the lantern to create L.A.M.P.
What it does
The L.A.M.P. displays colors in correspondence with the chords in a song being played.
How we built it
We built the L.A.M.P. using acrylic, thread, an Arduino Uno, and a Neopixel RGB LED strip. The inner structure of the L.A.M.P. is a tensegrity structure, where certain elements (the acrylic) experience only compression and the other elements (thread) experience only tension. The outside is wrapped by an origami fold that makes paper easier to flex to that shape, and gives it a more visually distinct texture. The audio processing runs on an attached laptop that places the song of choice. The laptop directs the Arduino to display certain colors on the LED strip by calculating the chords with various signal processing algorithms. The signal processing is based on a GitHub repo for Python chord recognition, which in turn uses the librosa Python library. Communication to the Arduino is done with pyserial, and the Arduino drives the Neopixel strip with the FastLED library.
Challenges we ran into
The initial plan was to have the lamp function as a Bluetooth speaker, but due to the lack of time, we reverted to playing audio files directly on a computer. That option ended up with much higher sound quality.
Accomplishments that we're proud of
The tensegrity structure at the core of the L.A.M.P. is an interesting mix of thread, which can only act in tension, and acrylic, which easily breaks under tension. The structure is wrapped by an origami fold that makes paper more flexible, which serves to diffuse the light from within.
What we learned
We learned the challenge of writing embedded software in a hurry, where there is limited time to debug complicated networking protocols, such as Bluetooth audio.
What's next for L.A.M.P. - Lantern with Automated Music Processing
The next step is to include a microphone so instead of playing a music file it can react to the music currently playing in the room, or make the L.A.M.P. into a Bluetooth speaker.
Log in or sign up for Devpost to join the conversation.