github.com/fhennig/nightfire

Blazingly fast audio to light processing!

Open this visualization on its own page →

Contributors

1

Lines of Code

1,404

From

2020-01-01

To

2020-12-23

About fhennig/nightfire

Nightfire is a Rust-based audio-to-light visualization project designed to create expressive light displays that respond to sound input. It combines automatic audio processing with user input to control LED lighting in real time. The project is organized as a workspace containing five crates, with the core nightfire crate handling audio processing and light modeling, while nf_lichtspiel manages hardware interfacing including LED control via pi-blaster, gamepad input handling, and audio input through JACK audio server integration.

The project is particularly suited for Raspberry Pi deployment, with detailed cross-compilation instructions for ARM targets and systemd service setup. Configuration is handled through YAML files where users specify audio input sources, the pi-blaster device path, and GPIO pin mappings for RGB light groups. The workspace also includes supplementary tools like mixxx_data for feature extraction from DJ software, beat_trainer with experimental neural networks, and bpm_tapper for manual tempo input.

The codebase emphasizes performance and is built with Rust's safety guarantees while targeting embedded Linux systems. It requires pi-blaster for GPIO control and the JACK audio library, making it well-suited for permanent light installation setups or interactive sound-reactive displays. Complete documentation includes build instructions for standard and cross-compilation scenarios, as well as sample configuration files for getting started.

Share this video