The Sound Color Project was one of the main inspirations of the project but we wanted to create this in a tangible and inexpensive way that many more people will be able to access. Using other Arduino-based applications, ambient lighting, and color theory, we were able to seamlessly integrate all concepts into a program that turns music into its visual representation through an Arduino-backed LED strip.

What it does

SyneWave is a program that allows the user to visualize the sound of a song using an Arduino by analyzing the frequency and the pitch of the song. The playing music is streamed and converted into a workable waveform which will later be used for a mathematical/statistical model known as Fast Fourier Transform (FFT) to compute dominant amplitudes and prevalent frequencies. Using those two measurements, a color scheme format of an RGB value was then used to be displayed on an LED strip following a stringent set of criteria.

How we built it

Through numerous trials and errors as well as endless reading of the documentation, we were able to come up with a working solution. Through early-stage processes like hardware configuration, we used programs like TinkerCad as well as external libraries like FastLED for LED management. We built then the Arduino implementation using C++ and the computations and analysis through Python.

Challenges we ran into

During the course of building the hardware of the project, we ran into the issue of our LED strip having different connectors that match the Arduino board. To overcome this issue we soldered a Male to Female jumper cable to each one of the connections allowing us to hardwire it within the Arduino board. Converting the waveform to a quantifiable model like FFT became difficult due to a knowledge gap in mathematical and programming limitations. Also associating specific variables -- dominant amplitude and frequencies -- to a select color palette was also difficult because we were attempting to build the connection between hearing and visual principles.

Accomplishments that we're proud of

One of the accomplishments that we were proud of was having such a good dynamic working system. Between the 4 of us, allowing for splits in our work heightened the productivity of our project. Having specific skill sets and also having the confidence necessary to be vigilant and curious about technologies never seen before has not only promoted cooperation but was also essential for debugging opportunities.

What we learned

We came to BitCamp lacking the knowledge about Arduinos, but throughout the build, we were able to further develop that knowledge and gather a better understanding of how live inputs work with the Arduino Uno board. Aside from working with mathematical models like FFT and understanding color theory, we were also able to understand how to draw the connection between audio/signal processing to the psychology of mood and personality.

What's next for SyneWare

The next step in SyneWare journey would be to try and develop the project on a wider scale and create the source open for everyone to be able to access the code. The team would also need to improve on analysis on color palettes as it relate to specific frequencies of specific sounds, as well as bettering the music to computation to Arduino interface.

We see a lot of potential if SyneWare could be made into a more practical and more distributed solution. SyneWare could be used to aid people with hearing loss, could be used for visual arts, and could also be used as an educational tool.

Built With

Share this project: