Visualization of Realtime Sound Frequency and Intensity using Raspberry Pi 3B+ and WS2812b LED Strip
This repository contains the fork of scot lawson library of audio reactive led strip. I have implemented the library with multiprocessing and GPIO inputs. GPIO pins are connected with the pushbutton to change the visualization from frequency to intensity and vice versa.
- Raspberry Pi 3B+
- USB Microphone
- Individually Addressable LED Strip (WS2812b)
- Strip case (optional)
- Breadboard + connectors
- Push Buttons
- Some Resistors and Capacitors for Debouncing Circuit for Push Buttons
- pyaudio
- neopixel
- numpy
- scipy
- sys
- multiprocessing
- RPi.GPIO
- platform
python main.py frequency or python main.py intensity
With the device bootup the raspberrypi starts waiting for the GPIO input. When user push a button connected to GPIO pin then update function gets called and corresponsing visualization gets displayed on the led strip as a separate process. So one process checks on the GPIO pins and other takes the audio input and create a display on the led strip.
Here is the device flow diagram which tells how push buttons are communicating with the raspberrypi.
Here are some examplary visualizations.