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.

Free & Open Source macOS · Linux · Windows No cgo, no audio library
cliradio — zsh
▄▀ C L I R A D I O ▀▄                      ▶ PLAY ● LIVE 12:04
[FM] SomaFM · Groove Salad  ♫  Bonobo — Kong (Album Version)
    ▂▂ ▅▅ ██ ██ ▇▇ ▆▆ ██ ██ ▅▅ ▃▃
VOL ▰▰▰▰▰▰▰▰▱▱ 80%    MP3 · 44100 Hz · stereo
1 SENDER 40 · 2 FAVORITEN 3 · 3 VERLAUF 12 · 4 SUCHE 0
s radio  y youtube  D mp3  v visualizer  f favorite  q quit

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.