cnlohr/colorchord
FreeChromatic Sound to Light Conversion System
FreeFree tier
Inputs: audio
About cnlohr/colorchord
ColorChord is a chromatic sound-to-light conversion system that analyzes audio input by identifying musical notes rather than frequency ranges. It provides note-based lighting responses independent of octave, enabling complex and musically coherent light patterns. The system is optimized for CPU-based real-time processing and supports desktop platforms (Linux/Windows) as well as embedded systems (ESP8266, STM32F303, STM32F407). Output options include driving WS2812 LED strips and a voronoi-based visual debug display. The project is open-source and actively developed.
Key Features
Chromatic note detection (identifies notes not frequency ranges)
Real-time sound-to-light conversion with CPU-based processing
Supports desktop (Linux/Windows) and embedded platforms (ESP8266, STM32F303, STM32F407)
Optimized for dedicated FPU but avoids floating point in embedded pipeline
Output includes WS2812 LED control and voronoi-based DisplayShapeDriver visualization
Open-source (MIT license) with active development
Pros & Cons
Pros
- Responds to musical notes rather than broad frequency bands, creating more interesting patterns
- Works across octaves (e.g., an 'E' in any octave triggers the same light)
- Optimized for embedded systems, running on low-power microcontrollers like ESP8266
- Open-source with extensive documentation and build instructions
- Active project with ongoing improvements (ColorChord 2 rewrite)
Cons
- Requires a dedicated FPU for decent performance on desktop platforms
- Currently limited output options (primarily LED strips and a debugging visualization)
- Not feasible on 8-bit AVR microcontrollers without shifty tricks
- Embedded version is still in alpha stages and uses a separate codebase
Best For
Live music visualization and lighting showsInteractive art installations with sound-reactive LEDsEmbedded lighting systems for stage or event decorationAudio debugging and note visualization for musicians
FAQ
What makes ColorChord different from other sound-reactive lighting systems?
ColorChord uses chromatic note detection rather than frequency ranges. It identifies specific musical notes (e.g., 'E') regardless of octave, enabling more musically coherent light patterns.
What platforms does ColorChord support?
ColorChord runs on Linux and Windows desktops, and embedded versions target ESP8266, STM32F303, and STM32F407 microcontrollers.
Is ColorChord free and open-source?
Yes, ColorChord is open-source under the MIT license and available for free on GitHub.
How do I build ColorChord?
Build instructions are provided in the GitHub repository. For Linux, install dependencies (pulseaudio, alsa, X11, etc.) and use git clone with submodules. Embedded versions have separate build instructions in their respective folders.