What Is cliamp and What Can You Do With It?
Updated
cliamp is a full music player that runs inside your terminal instead of a browser tab or desktop app. It plays local files, podcasts, streaming services (Spotify, Qobuz, Tidal, YouTube Music, SoundCloud, Mixcloud, NetEase, Yandex Music), self-hosted libraries (Plex, Jellyfin, Emby, Navidrome, Lyrion), and roughly 58,000 internet radio stations — all through one playlist, equalizer, visualizer, and lyrics interface. It's MIT licensed, written in Go, and available for Linux, macOS, and Windows, plus an Android mobile app. It fits you if you already work in a terminal and want your music there too, or if you want a single player that unifies streaming services and self-hosted libraries without switching apps.
What you actually get
The core promise is one interface for every source. Instead of separate apps for Spotify, your Jellyfin library, and radio, cliamp routes them all through the same playback pipeline:
- Playlists with shuffle and repeat modes
- 10-band equalizer with presets (the demo shows an "EQ [Rock]" state)
- 31 visualizers
- Synced lyrics
- Podcast feeds
- Remote control and Lua plugins for extending behavior
- Radio catalog browsable by country and genre, with favorites saved locally
The header shows playback state, source, volume, and playlist position, so you can see what's playing at a glance.
How to install it
Installation is one line, and the site offers several package-manager routes:
| Platform | Command |
|---|---|
| Linux / macOS | curl -fsSL https://cliamp.stream/install.sh | sh |
| Homebrew | brew install bjarneo/cliamp/cliamp |
| Arch (AUR) | yay -S cliamp |
| Nix | nix run github:bjarneo/cliamp |
| Go | go install github.com/bjarneo/cliamp@latest |
Windows builds are distributed through Releases. After installing, run cliamp — the cliamp setup flow walks you through connecting streaming services and media servers.
Optional dependencies matter here:
- ffmpeg is needed for AAC, ALAC, Opus, and WMA playback.
- yt-dlp is needed for YouTube, SoundCloud, Mixcloud, Bandcamp, Bilibili, and NetEase.
If a source won't play, check whether the matching optional tool is installed before troubleshooting anything else.
A concrete example: playing a radio station
The site's own demo shows the radio workflow:
$ cliamp --provider radio
Then pick a station from the catalog and press play. You can browse by country or genre, and press f in the Catalog, in search results, or in the playback playlist to favorite a station. Favorites are stored locally under Radio → Favorites by URL, keyed by station name rather than the current song, and station details (including region) survive a restart. If you have a direct stream URL, you can pass it too — the demo uses cliamp https://radio.cliamp.stream/lofi/stream.pls.
A few behaviors worth knowing if you favorite a lot of stations:
- The header's star badge counts all starred rows, including ones scrolled offscreen.
- Playlists with no favorited stations don't reserve a star column.
- M3U/PLS wrappers keep their original station URL after playback resolution.
- Toggling a favorite doesn't interrupt an in-progress station load or fetch more catalog pages.
- On Linux and macOS, favorite changes from multiple cliamp instances are preserved through a shared file lock.
Who it's for — and when to look elsewhere
cliamp makes sense if you're comfortable in a terminal, want streaming services and self-hosted servers under one roof, and value keyboard-driven control over a graphical UI. The plugin system and remote control suggest it's aimed at people who like to tinker.
It's a weaker fit if you want a polished graphical interface, or if you'd rather not manage optional dependencies like ffmpeg and yt-dlp for certain formats and sources. The site doesn't publish pricing details, so check the install and source pages directly if licensing or cost matters to your decision — the project is listed as MIT licensed, but confirm current terms yourself.
To try it, install with one of the commands above, run cliamp setup to connect your sources, and start with a single provider (radio is the lowest-friction entry point) before wiring in streaming accounts.