Winamp for your shell.
Play music straight from a terminal window. Playlists, a 10-band EQ, visualizers, synced lyrics, remote control, and a Lua plugin system — streaming from Spotify, Qobuz, YouTube Music, Plex, Jellyfin, Emby, Navidrome, and 30,000+ radio stations.
One command and the music starts — no browser tab required.
$ cliamp ~/Music/playlists/mixtape.m3u$ curl -fsSL …/install.sh | sh
COPIED
$ brew install bjarneo/cliamp/cliamp
COPIED
$ yay -S cliamp
COPIED
$ nix run github:bjarneo/cliamp
COPIED
$ go install github.com/bjarneo/cliamp@latest
COPIED
HOME is unset, config lives under %APPDATA%\cliamp.
Stream from everywhere. Every provider runs through the same playlist, EQ, visualizer, and lyrics pipeline — your config follows you across services. Run cliamp setup for an interactive wizard that walks you through Navidrome, Plex, Jellyfin, Emby, Audiobookshelf, Spotify, Qobuz, NetEase, and YouTube Music.
client_id for a private Web API quota; playback is authorized separately. Search with Ctrl+F; Development Mode paging is automatic.[qobuz] enabled = true. Stream lossless FLAC up to 24-bit/192kHz from your subscription. Browse favorites & playlists, search with Ctrl+F.cookies_from in your config.[soundcloud] enabled = true. Search with Ctrl+F, browse curated genre playlists, or add user for your profile.cliamp setup after signing in at music.163.com, then choose your browser. Browse liked songs, account playlists, and charts.Parametric EQ presets plus a persistent Custom curve that survives preset changes and restarts.
21 contrast-checked built-in themes and spectrum, waveform, particle, and true-stereo modes. Stereo provides dedicated L/R horizontal LED peak meters. Hot-swap with t / v.
TOML playlists with dynamic directory sources (--dir), M3U/M3U8/PLS import/export, duplicate-safe writes, and TUI/CLI sort tools.
Auto-recorded listening history. Browse it as a virtual playlist or run cliamp history from the shell.
Play from URLs, internet radio, remote M3U playlists, and HLS (.m3u8) streams, with decoded-audio jitter buffering for live radio.
Embedded local lyrics first, then LRCLIB/NetEase fallback. Auto-scrolling for timestamped lyrics.
Seamless transitions with preloaded next-track buffering.
Desktop integration. Hardware media keys, playerctl, and embedded local cover art.
Drop-in Quickshell now-playing card with a Winamp 2-style spectrum, tracking your active Omarchy theme.
Configurable sample rate (22kHz–192kHz), up to 5 seconds of buffering, and resampling.
ICY/Shoutcast metadata for the current song on internet radio, plus API-based now-playing for FIP and NTS.
ID3v2, Vorbis comments, MP4 atoms — artist, album, genre, year, lyrics, cover art.
Override volume, shuffle, repeat, theme, EQ, sample rate per-session.
Generate completion scripts for Bash, Zsh, Fish, and PowerShell.
File logs at ~/.config/cliamp/cliamp.log. Set log_level in config or --log-level on the CLI: debug, info, warn, error.
Run cliamp upgrade for stable releases, or cliamp upgrade --prerelease to test betas.
Reference any string in config.toml from the environment with ${VAR} or $VAR. Keep passwords and tokens out of the file.
Control a running instance or build a GUI with local-socket IPC. Run with --daemon for headless playback driven by scripts or a desktop widget.
Lua 5.1 sandboxed plugin system. Hook events, add visualizers, push data. Publish namespaced events with p:publish().
Press Ctrl+S to save the current track to ~/Music.
Full, compact, and minimal layouts keep playback usable in terminal splits and small SSH sessions.
Restore the last playlist removal or queue clear with Ctrl+Z.
Search, URLs, playlist names, and jump prompts support cursor movement, paste, word deletion, and clear-line editing.