After attending a concert that used radio-wave-synchronized bracelets to light up an entire stadium, we decided it would be cool to implement this in a smaller, more accessible way.
What it does
Our project utilizes individuals' cell phones (or computers) to light up a room. We have the sound playing on a Bose SoundTouch 10, and coordinate a light show by broadcasting color patterns that correspond to the speed and sound of the music playing to all devices synchronously. One individual would act as the DJ, responsible for selecting the sound and controlling playback. Everyone else would then connect to a respective website where the information is being broadcast. In the end, it's all about enjoying the music and having fun!
How we built it
DJ portion of 'Turn Up the Lights' is coded in Python and runs on Flask. Devices connect and sync to the server through Twilio Sync. Track information is retrieved through a combination of Echo Nest and Spotify. To provide visualizations, 'Turn Up the Lights' uses WaveSurfer.
Challenges we ran into
Challenges include but are not limited to: issues connecting speaker and 'DJ' due to network problems and deadlock in Flask due to multiple HTTP requests.
Accomplishments that we're proud of
Visual synchronization across devices and ability to programatically determine certain musical characteristics/properties of the song being used.
What we learned
Integration with Twilio Sync, Bose SoundTouch 10, and finding new APIs to help accomplish otherwise difficult tasks.
Special Note: Don't plug the router back into the router unless you're willing to break the internet.
What's next for Turn Up the Lights