Terminal Radio & YouTube Player with a Real Equalizer
CLIRadio plays internet radio and YouTube music right in your terminal, in the spirit of Winamp/CLIAMP – with a real, colored spectrum analyzer that reacts to the actual decoded audio, not an animation.
A spectrum analyzer that actually listens
Every frame runs a 2048-point FFT with a Hann window over the decoded PCM audio, split into logarithmic bands from 32 Hz to 16 kHz, with fast attack, soft decay, and gravity-driven peak caps. Four visualizer modes – bars, mirror, waveform, and spectrogram – all in animated rainbow colors.
What's Inside
CLIRadio has no audio library and no cgo dependency at all – ffmpeg alone decodes, analyzes, and plays back the audio, so it builds cleanly everywhere.
Real FFT Equalizer
-
Live Spectrum Analysis
2048-point FFT with a Hann window over the actual decoded PCM stream, logarithmic band split from 32 Hz to 16 kHz, fast attack, soft decay, gravity peak caps.
-
Four Visualizer Modes
Bars, mirror, oscilloscope waveform, and spectrogram — switch anytime with a single key, all rendered in animated rainbow colors.
Radio & YouTube
-
40 Preset Stations + Search
Curated DACH and international stations out of the box, plus live search across roughly 50,000 stations via the Radio-Browser API.
-
YouTube Search, Videos & Playlists
Search, play, and queue YouTube videos and playlists via yt-dlp, with live ICY-style now-playing titles scrolling in the header.
Favorites, History & MP3
-
Favorites & History
Star any station or track and revisit your listening history, stored locally in a simple config file — no account, no cloud.
-
One-Key MP3 Download
Press D on a YouTube result to download it as an MP3 via yt-dlp, with a live progress spinner right in the footer.
Runs Everywhere
-
No cgo, No Audio Library
The sound card is driven entirely through a second ffmpeg process — no Xcode headers, no ALSA dev packages, builds cleanly on any machine with Go and ffmpeg.
-
macOS, Linux & Windows
Native audio output on macOS (audiotoolbox) and Linux (pulse/alsa); on Windows, ffplay drives the sound card since ffmpeg has no output device there.
Install CLIRadio
Pick your platform below. CLIRadio always needs ffmpeg to decode and play audio; yt-dlp is only required for YouTube.
Homebrew (macOS & Linux)
The fastest way to get CLIRadio — Homebrew also runs on Linux (Linuxbrew) with the exact same tap.
1. Add the tap and install
brew tap CodeNinjaGuy/cliradio
brew install cliradio
This also installs ffmpeg automatically as a dependency.
2. (Optional) YouTube support
brew install yt-dlp
Only needed if you want to search and play YouTube videos and playlists.
3. Run it
cliradio
Press ? inside the app any time for the full key reference.
Windows
There's no Windows package yet, so CLIRadio is built from source with Go. On Windows, ffplay (bundled with ffmpeg) drives the sound card, since ffmpeg itself has no audio output device there.
1. Install the prerequisites
winget install GoLang.Go
winget install Gyan.FFmpeg
winget install yt-dlp.yt-dlp # optional, for YouTube
Gyan.FFmpeg includes ffplay.exe, which CLIRadio uses automatically as the audio output.
2. Clone and build
git clone https://github.com/CodeNinjaGuy/CLIRadio.git
cd CLIRadio
go build -o cliradio.exe .
Produces a single cliradio.exe with no further runtime dependencies beyond ffmpeg/ffplay.
3. Run it
.\cliradio.exe
Build from Source (any OS)
CLIRadio is a single static Go binary with no cgo. All you need is Go 1.24+ and ffmpeg.
1. Clone the repository
git clone https://github.com/CodeNinjaGuy/CLIRadio.git
cd CLIRadio
2. Build
go mod tidy
go build -o cliradio .
Or simply make run — the included Makefile wraps build, run, and test.
3. Run the test suite (optional)
go test ./...
Verifies the FFT against known signals and renders every visualizer mode across many terminal sizes.
Free, Open Source, No Account Needed
CLIRadio is developed in the open. Star it, file an issue, or read the source on GitHub.