Skip to main content
← projects

April 23, 2026

Glow Bird Protocol

Real-time audio-to-WLED light sync for Linux

PythonLinuxPipeWireWLEDFFT

Objective

Create a Python tool that captures system audio on Linux and syncs it to WLED LED strips in real time.

Tools & Technologies

NumPy

PulseAudio/PipeWire

WLED (UDP)

Share This

Details

I have an LED strip behind my desk running WLED, and it mostly just sat there showing static colors. So I wrote Glow Bird Protocol: a Python tool that listens to whatever audio is playing on my Linux system and makes the strip react to it in real time.

The audio is captured through PulseAudio/PipeWire and analyzed with an FFT (Fast Fourier Transform) using NumPy, which splits the sound into 16 frequency bands. Those bands get packed into a UDP packet and sent to the WLED device. The latency is low enough that the lights genuinely feel like they react the moment a beat hits.

Configuration is just a simple conf.txt file, and the tool runs as a systemd service so it starts automatically in the background. Set it up once and never think about it again.

While making this project I learned a lot about signal processing, how real-time audio capture works on Linux, and how the UDP protocols behind WLED actually work.

Source Code


Take a closer look at the source code here: GitHub

Gallery

WLED Effects page

WLED Effects page

WLED Reactive setup

WLED Reactive setup

WLED Glow Bird Daemon service

WLED Glow Bird Daemon service

// related writing

Read the full write-up