Skip to content

mak-simgithub/lightsynth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lightsynth

lightsynth is a project that creates sounds from a solar cell that is illuminated by a RGB LED stripe. At the heart of the lightsynth sits a Raspberry Pi Zero that reads a MIDI signal from an arbitrary source. An algorithm then converts the MID notes into the corresponding frequencies. At this step the operator can influence the still digital part of sound generation with various parameters such as PWM duty-cycle and wave cycle length. These can be locked to the BPM on the MIDI signal. As there are three light channels this synthesizer offers 3-voice polyphony, meaning that at most three notes can be played at the same time. The generated waveforms are then used to drive current through the LED. The LED will alter between the on and off state at high frequencies, mostly undetectable by the human eye. By adding resistors, capacitors or inductances to the signal path, this conversion from the digital to the analog domain can be influenced and filtered. Finally, a solar cell picks up the resulting light from the LED and surrounding and converts it to an electric signal that can be used as an audio source. Depending on how well the solar cell is isolated from the venue, the sound this instrument creates is influenced by the already existing light and therefore sounds different everywhere.

To run on a Raspberry Pi Zero project, clone repo and install dependencies:

sudo apt install python-dev
sudo apt install libatlas-base-dev
sudo apt-get install libopenblas-dev
sudo apt install jackd2
sudo apt install python-gpio python3-pigpio
sudo apt-get install libopenjp2-7

then set up virtaulenv with:

python3 -m venv virtualenv
source virtualenv/bin/activate
pip3 install -r requirements.txt

then

python3 lightsynth.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors