This live music visualizer aims to provide a more interactive and entertaining live music experience for music lovers. I love music, and enjoy going to concerts, livehouse shows and listening to music at home. So I would like to make the experience of these music-related activities more interesting and interactive. The amount of neopixels on LED strips will be changed according to the frequency of the music. If every person in a concert or livehouse show puts on the LED music visualizer, they will be able to see the visualizer on the back of the person in front of them. Along with live music, the change of LEDs can provide a more immersive experience for users. It can also work at home. Individuals can put it upon the wall, play music, and enjoy the visualization.
My prototype consists of four functional parts: LED strips, Arduino UNO, battery and sound sensor. There are 10 LED strips and each strip is composed of 6 neopixels. Each strip connects to another by wires. The battery is a 12V dry cell. In order to prevent damage to the circuit board, LED strips and the sensor, a 12V-to-5V converter has been used. The final prototype is in a backpack shape. It is made of non-woven fabric, and there is a window to see the neopixels. I used semi-transparent TPU to make this window because I think it can slightly cover the strips, which affect the appearance of the prototype, and still can let the light of neopixels pass the window. Other parts are stored in a pocket under the window. Switching on the prototype, the leftmost LED strip will light up. Other strips are controlled by the frequency and loudness of the music. So the libraries used in this project are FastLED and ArduinoFFT.
Video of the interaction
Arduino UNO, battery and converter are stored in this pocket.
I used non-conductive thread to fix the strips onto the non-woven fabric.The sound sensor.
Parts & Materials List
- (1)Arduino UNO
- (1)Sound sensor LM386
- (1)One-meter long LED strip WS2812B
- (1)DC-DC 12V to 5V converter
- (1)12V battery
- (1)Battery holder with button
- Glue gun
- Non-woven fabric
- Translucent TPU
- Non- conductive Thread
- Solder Iron
My major research project is related to musical experience. So I would like to explore a multi-sensory way to participate in musical activity in this final project.
The first inspiration was an audio visualizer using Arduino FFT by Chris Parker. It was made with ws2812b addressable LED strips controlled by an Arduino UNO. It was composed of a frame which was made with acrylic, plywood, and 3D Printed parts. The neopixels on the LED strips were controlled by the frequency and loudness of the music played. There were ten rows and ten columns of neopixels to constitute the colorful spectrum bands. The code of my project was based on this project, and I was inspired by his way of connecting LED strips — wires were soldered between strips, so I used the same approach to connect my LED strips.
The second inspiration was the SubPac. SubPac is a tactile audio wearable device that transfers low frequencies directly to users’ bodies and provides them with a new physical dimension to the music experience. The SubPac allows users to feel the bass, like being in a live music show. It addresses the problem that hearing intense bass for a long time may damage hearing and offers a more immersive experience for users. Furthermore, it can potentially help people with hearing impairment to enjoy music and prevent the sound from annoying their neighbours — they may hear music in a high volume in order to feel the vibration. I was inspired by the technological appearance and features of the SubPac. I intended to make a prototype that has both haptic and visual modules, however, my programming level was still not advanced and I lack the knowledge of how to translate frequency to vibration in code. So that will be the next step of this project.
The music to LED strip tutorial by Yolanda Luque H. also inspired me a lot. This tutorial introduced how a RGB strip works, how to translate music to light and the idea of the code. Her LED strip changes its color according to different frequency bands. When making the prototype, I first tried this tutorial, to learn how to use an RGB strip to make a music visualizer. I used similar parts to build the prototype. However, the code didn’t work — The LED strip keeped glowing red even if I made sound beside the sound sensor. But though it was not a successful experience, it is good to know the knowledge of mapping and FFT.
The last thing that inspired me was the LED backpack. A LED backpack ofter has an LED screen, which can be controlled by bluetooth or an app, on its body. I liked the idea of putting the LED screen on the back and thought that if every audience in a live music show wore something like it would be a cool and more immersive experience.
Challenges & Successes
- The lack of programming knowledge prevent me from making a prototype with haptic components.
- The solder joints on the voltage converter keep peeling off and wires are easy to break.
- The sensitivity of the sound sensor is not adjustable. So the music have to be played out loud if I want to see the change of the spectrum composed by neopixels.
- The appearance of the final prototype looks well and the circuit works well.
- Learn more about how to translate frequency to vibration. Add vibrating module to the prototype.
- Change sound sensor to an adjustable one and improve its sensitivity.
Yolanda Luque H. (2020, August). Music to LED strip tutorial (using the Fourier Transform). https://medium.com/@yolandaluqueh/music-to-led-strip-tutorial-using-fourier-transform-3d203a48fe14
Chirst Parker (2020, July). Easy Audio Visualizer Using Arduino FFT. youtube.com/watch?v=OPvW9lefkqE&list=LL&index=1&t=605s