Final Documentation – Music Visualizer

Here is the final documentation for my music visualizer. I had a lot of fun working on this project the past seven weeks and am very satisfied with the way it turned out. The sculpture was designed to look like an audio signal so that the lights respond to the music and travel through the signal. The channels used for the sculpture were made out of thin pieces of wood and canvas. The wood forms the channel structure to hold the LED strips and the canvas covers each channel as a light diffuser. The hardware design was fairly simple with the LED strip connected to a digital pin of an Arduino through a resistor, a capacitor across a 5V power supply, and a potentiometer connected to an analog input pin on the Arduino. The software for this project was done using the FastLED library for Arduino and the Minim library for a software program called Processing. I modified code originally written by Stephen Singh, which can be found on GitHub at the following link.

Project Code

Below is a video and pictures of the completed project.

Polish and Present – Music Visualizer

This week was the time to focus on making my project look as best as it could. I had decided on designing a sculpture for the LED strip that looks like an audio signal. To make this design I decided to build wooden channels to hold the LEDs. These wooden channels are covered by a light diffuser. For the diffuser I used an old window shade, that is a white canvas material. A picture of one of the channels is shown below.

Once all the channels were constructed, I screwed them onto a thin, long pice of wood in the shape of the signal I wanted. A picture of the final piece and a video of it in action can be seen below. The final documentation will come later, but this video is good for now.


Everything Working – Music Visualizer

This week I worked to finalize all of the technical aspects of my music visualizer. My original plan was to use an audio jack to input music to the Arduino. After implementing the circuitry and trying to write the software I couldn’t figure out how to process the signal at the analog input of the Arduino. With more time and some more research I could have eventually figured it out, but wanted to take a safer approach to guarantee I had a working project. Instead of input from an audio jack, I decided to use an input from my computer.

With audio coming from the computer, the computer can be used to process the audio before sending it to the Arduino. I did this using the program Processing and some open source code. The hardest part about this was that the minim  library for Processing takes in whatever the default recording device is on the computer as its audio input line. Windows computer used to have something called stereo mix, but it has been removed with Windows 10. It took me a while to figure out a fix for this, but eventually found a program that acts as a virtual aux cord and connects the computer’s output device (the speakers) to the computer’s audio input. With this program I was able to use the processing software and implement a functioning music visualizer with a strip of LEDs. The working technical part can be seen in the video below.

The next step for the upcoming week is just building a finished design. For this design, I want to build a sculpture that looks like an audio signal and can be hung on a wall. A sketch of the design can be seen below.

Failure, Recalibration & Iteration

I want to start off by giving a little bit of a project update. I have come up with a final design for my LED Music Visualizer. The design is supposed to resemble an audio signal, and can be seen in the figure below. Next, I really wanted to get a lot of the coding for my project done this week. Unfortunately, I am still waiting for one critical piece, an audio jack, to test and debug the software. I will be getting that in tomorrow and should be able to get everything working by next Thursday. Finally, I need to start working on the construction part of my project and will be getting everything I need to make it this week.

For this week, I ran into a couple challenges that I will discuss. First, it was difficult to find a way to interface the Arduino with an audio jack and be able to process the signal from the connected device. I spent a lot of time looking at the minim library for Processing, but eventually discovered that this software is only able to process an audio signal that comes from the computer or is input to the computer. Instead of using the limited processing power of an Arduino, this library takes advantage of the processing power of a computer, and then sends the data to the Arduino. I was not going to be able to create a standalone system with the audio jack connected to an analog port on the Arduino, so I needed to look at other options. After doing some more research I found an Arduino shield made by SparkFun that was perfect for my project. This shield takes in an audio signal and processes the data into seven frequency bands. It then sends the magnitude of each band to the Arduino. This shield had more features than I need for my project, and was more expensive than I would have liked. Because of this, I decided to buy individual parts used in the design of the shield and will be following the schematic in the datasheet to recreate only the part I need.

Next, the second issue was found when trying to program some animations on the LED strip. I was originally trying to use the FastLED library to control my LEDs. After trying to debug the demo code to get it to work for me and failing multiple times to figure out the problem, I decided to switch to Adafruit’s neopixel library. When I looked at the code for this library, it was easier to edit the setup portion of the code to match my hardware setup. With this library, I was able to run a demo program that cycles through some cool animations. This can be seen in the video below. Upon further inspection of the neopixel library, I was able to figure out the problem I was having with FastLED. My LED strip consists of WS2812b LEDs, but for some reason, the software does not work when I specify that as the type. Instead, I realized I needed to define the LEDs as WS2811, and the software was able to work. Unfortunately, I have not been able to test any animations that are controlled by an audio signal, but I will be looking forward to experimenting with this in the near future.

Maquette for Music Visualizer

My project is to make a display that reacts to music and creates a light show. For my maquette I have completed a project tutorial on making LEDs light up to music. This is a simple and  small version of what I would like to implement on a larger scale. The maquette was completed using an Arduino Uno, three LEDs, three 100-ohm resistors, and some jumper wires. The code was written using Aruino software and Processing software. The maquette can be seen below in a video demonstration.

One major difference between this model and my final project will be that this one uses individual LEDs and my larger scale project will use LED strip lights. The strip lights with WS2812B LEDS allow for each LED to be programmed independently and will require less wiring, resulting in a more practical implementation. Another slight difference is that this maquette runs off of an mp3 file. My final project will run off of an audio signal coming from an aux cord.

Next, I am still working on an idea for my display design. I have drawn up a few concepts, but would like to continue working on the ideas to come up with my final design. My rough sketches can be seen in the picture below.


Finally, I will discuss a rough timeline that I would like to follow to complete my project. In the next week or so I will be trying to write all the software for my project. Once I get all of my supplies, I will spend another week testing and debugging the software interface with the hardware. Once everything is working properly, I will spend the last week and a half to make my project display and complete final touches.

Project Proposal: Music Visualizer

For my project I want to create something that reacts to music or sound. Looking at projects online for inspiration, I saw that there were a lot of people who have created what is called a music visualizer or spectrum analyzer. Most of these projects have been done using an LED grid, such as the one shown in the video below.

There is also a tutorial that I found on adafruit for a smaller version using their  8-by-8 LED grid. Since this one does not use as many frequency bands, it does not provide as much information about the music and is less responsive to small frequency changes. This project is shown in the video below.

Instead of using an LED grid, I found LED strips with individually programmable LEDs, which I would like to use for my project. One person made a spectrum analyzer with five bands and LED strips, pictured below. The project could use some finishing touches to make it a visually appealing piece of art.

In my project, I want to create a music visualizer, and have come up with a couple designs that I want to choose from. The first design would be a 16 band spectrum analyzer with the LED strips. This design would adhere to the traditional look of a spectrum analyzer, but I would add finishing touches to create a clean, simplistic and modern looking design. For this, I would like to create a frame for the project, painted black, and cover each strip of LEDs with fogged glass or a similar material. In addition, I would like to look into adding a mirror along the bottom to provide a reflection. The design is sketched out below.

My second design for a music visualizer would use the light intensity to represent each frequency band. This design would have 8 frequency bands represented by circles, each illuminated by LEDs. I would play around with using fogged glass or infinity mirrors for each circle. This design is sketched out below.

Jim Campbell: Engineer and Light Artist

Jim Campbell was born in Chicago in 1956. He went to college at Massachusetts Institute of Technology (MIT) and graduated in 1978 with Bachelor degrees in Electrical Engineering and Mathematics. Out of college, Campbell began working as a filmmaker and has since transitioned into working as an engineer. He mainly works with image processing and holds over 12 patents in the field. In 1988, Campbell decided to showcase his talents with film, electronics and image processing by creating light art.

In his pieces he likes to use low resolution LED displays or screens. On these displays, Campbell likes to incorporate live video and video recording. He also likes to use re-imaging techniques that he learned as an engineer. In addition, almost all of his artwork requires custom electronics and programming that he develops on his own in his studio. More recently, Campbell has been experimenting with what he calls topographic works, which transform 2-D video into 3-D light sculptures. He does this by projecting 2-D video onto a 3-D surface.

Campbell also has focused on some concepts and ideas that are captured in his artwork. These concepts include interactive art or viewer control, memory and time, desire and power, and simple forms, figures and shapes. His following creations will showcase these different concepts.

The first piece, shown below, is titled “Shadow.” Campbell created this piece from 1993 to 1994 and was inspired by viewer control, desire, and simple forms. The display consists of a Buddhist statue enclosed inside a glass box with a light source. From far away, the glass box is clear and the viewer can see inside. Looking for more detail, the viewer can approach the box, but as you get closer, the glass becomes foggy and clouded, forcing the viewer to only focus on the silhouette of the figure. This piece challenges viewer control and plays with what the viewer desires to see in the piece.





The next creation is titled, “Home Movies David,” and was created by Campbell in 2014. This is a more recent version of similar pieces he has done before. In this work he uses a low resolution LED screen and displays a series of home videos of a child growing up. In this particular piece, the child’s name is David, and he was born a year before Campbell was. Campbell likes this work because he can relate to many of the things shown in the video. The concept and idea behind this creation was to illustrate memory and time. Although Campbell creates his works for personal satisfaction, he hopes that other viewers may feel the same way and be able to relate to his artwork.


Campbell’s following art sculpture is an example of one of his  topographic works. The sculpture itself is a topographic reconstruction of a wave in the ocean. Additionally, a video of a moving wave is projected onto the 3-D surface from behind the piece using a programmed, low-resolution LED screen. In this art sculpture, Campbell focuses on a simple form, a wave, and transforms it into this mesmerizing display of art and creativity.


Lastly, the installation shown in the picture below was designed by Campbell in 2014. It is currently on display in the San Diego Airport. This visually impressive artwork is about 700 feet long and captures travelers’ attention as they walk through the airport. The piece is a massive low-resolution LED screen. For this piece, Campbell displays videos of a few different things. He shows videos of swimmers, filmed from the bottom of a pool, birds flying in the sky, and other images of people walking or jogging. This is another example of a piece that focuses on simple figures and shapes that can be identified on the low-resolution display.


The following video provides more information about Jim Campbell. Campbell also describes some of his inspirations and techniques that he uses to create his artwork and explains why he creates his pieces.

Thomas Scaplen Intro & Art Portfolio

Hi everyone!

My name is Thomas Scaplen and I am a Junior undergraduate student at WPI studying electrical and computer engineering. As far as my experience with art making I never really worked on any art projects individually before college but was something I wanted to explore. At WPI I have taken courses in digital art, which intrigued me because of my interests in technology. As an ECE major I have had some experience with programming and electronics. In particular I have programming experience in C, java, and python. In addition, I have used an Arduino a couple times before so I have done some programming with that.

Below I have attached an image from one of my most recent projects and a video of a second one. The first one is a 3D character model of Jordan Spieth, who is a professional golfer, and the second one is a short animation of the “Who’s on First?” comedy skit by Abbott and Costello.

The video below is a project I completed at WPI in Animation 1.

Outside of school I enjoy athletics, outdoor games such as Frisbee and Spikeball, and listening to music. In high school I played soccer, golf and baseball. My involvement with sports is where my inspiration for the two projects above came from.

In addition to the art projects I have attached some pictures from ECE projects I have done that involve things like LEDs, LED screen displays, light sensors, and programming that might be useful for this class.

My hope for this class is to combine art, music and electronics to create a fun and entertaining project.