Mid Term Project


My light project was inspired by the reflection of plants reflected on the curtains on sunny days. They are swaying with the wind according to the wind speed, and they seem to be swaying with the melody. The color of the reflection will change according to the plant itself and the light.

I choose to use the Demucs module to train my music files. Demucs is based on U-Net convolutional architecture, it can separate drums, bass and vocals from the rest with state-of-the-art results, surpassing previous waveform or spectrogram based methods . I successfully decomposed my wav file (music named Piano Form II by Jesse Woolston) in Codelab into separate audios files (bass.wav, other.wav, vocal.wav, drums.wav)

Then I import these audio files into P5 Sketch and analyze and process some of the data. For example, I map the amplitude of the drum file to light ring 2, and the amplitude of the other file to light ring 1, and the amplitude of the piano file controls the motor's speed.

​Then I use Serial communication to transfer the data in P5 to Arduino.
Selection of physical components:
L298N motor driver
JGB37-3530 12V 300RPM gear motor
24-Bit WS2812 5050 RGB LED Ring

​Arduino UNO


  • there are some delays in motor and LEDS response, it may have bugs with the programming of the Serial communication part.

  • Only one song can be played. Now I use python to separate the uploaded audio, then download it locally, and then import it into P5 for data processing. Consider whether these can be integrated into a web page.

  • The color change design of LEDS and the rotation design of motor can be improved more.

©2020 by Siyuan Zan. Proudly created with Wix.com