cliamp
A full music player that lives in your terminal. No browser tab required.
Playlists, a 10-band equalizer, 31 visualizers, synced lyrics, podcasts, remote control, and Lua plugins. Stream from Spotify, Qobuz, Tidal, YouTube Music, Plex, Jellyfin, Emby, Navidrome, Lyrion, Yandex Music — plus podcast feeds and about 58,000 internet radio stations.
$ cliamp https://radio.cliamp.stream/lofi/stream.plsspace · < >Install
One line. Click any command to copy it.
then just run cliamp — cliamp setup walks you through streaming services and media servers. Optional: ffmpeg for AAC, ALAC, Opus and WMA, yt-dlp for YouTube, SoundCloud, Mixcloud, Bandcamp, Bilibili and NetEase. Windows builds are in Releases.
Every source, one interface
Streaming services, self-hosted libraries, local files, podcasts, and radio — all through the same playlist, EQ, visualizer, and lyrics pipeline.
What's inside
Parametric equalizer with 14 presets — Rock, Jazz, Classical, Bass Boost, Vocal, Podcast and more — or dial in your own curve. The Custom preset survives restarts.
31 built-in modes rendered in the terminal from live FFT data: spectrum bars, scope, wave, matrix, flame, and a true-stereo LED peak meter. v cycles, V goes full screen.
Embedded LRC first, then LRCLIB and NetEase. Time-aligned lines scroll with playback, and live radio refreshes on every ICY track change. Press y.
TOML playlists with live [[dir]] folder sources, M3U/M3U8/PLS import and export, cross-playlist favorites, a play-next queue you edit while the music keeps playing, and undo.
Newline-delimited JSON over a local Unix socket, with full state snapshots and push events for scripts, status bars, and GUIs. Media keys via MPRIS on Linux and Now Playing on macOS. Run --daemon for headless playback.
22 built-in color schemes that pass contrast checks — catppuccin, dracula, gruvbox, nord, tokyo-night, winamp and more — or drop a TOML file in ~/.config/cliamp/themes. Press t.
Apple's top charts and 19 genre categories, or any RSS feed. Browse episodes, subscribe locally with f, and skip in 30-second jumps. No account or API key.
Preloads the next track for seamless transitions. Plays URLs, HLS (.m3u8) and internet radio with jitter buffering and live ICY metadata, and cliamp:// links from a browser or chat.
cliamp radio
Fourteen channels we run ourselves — always on, no account. Play any of them in the player above, or pipe the URL straight into cliamp or any player of your choice.
Who's listening right now
Live connections to the cliamp radio channels, by country. Drag the globe to spin it, or hover a country for its count.
Keyboard first
Everything is one keystroke away — no mouse, no menus. Vim-style j/k movement, Tab cycles the controls, and ? or Ctrl+K shows the full keymap for the screen you are on. All keybindings ↗
Extend it with Lua
Hook playback events, add commands and key bindings, scrobble, post to a status bar, or draw a visualizer — plugins drop into ~/.config/cliamp/plugins/ and run in sandboxed Lua 5.1 VMs. A crashing plugin never takes the player down.
-- write the current track for Waybar, Polybar, tmux… local p = plugin.register({ name = "now-playing", type = "hook", }) p:on("track.change", function(track) cliamp.fs.write("/tmp/cliamp-now-playing", track.artist .. " - " .. track.title) end)
cliamp plugins install user/cliamp-plugin-name