> isi-music_
Terminal audio player, built in Rust. Blazing fast, memory safe, and designed for keyboard-centric workflows.
Core Features
// Built for Power Users
Spotify Streaming
Stream via librespot, no official Spotify app required. Seamless authentication with PKCE flow.
Local Playback
Lightning-fast playback for FLAC, WAV, MP3, OGG, and AIFF with automatic metadata extraction. Works standalone: no Spotify account required in local-only mode.
Audio Visualizer
Real-time spectrum analyzer using braille characters. Works for both Spotify and local files.
Synchronized Lyrics
Auto-fetched multi-source lyrics with synced support from LRCLIB and Musixmatch.
Full-text Search
Search across tracks, albums, artists, playlists, and podcasts with instant results.
Queue Management
Cross-player queue mixing Spotify and local tracks. Shuffle and repeat modes included.
Album Art
Cover art rendered via Kitty, Sixel, or half-block with automatic terminal detection.
MPRIS2 Integration
Full Linux desktop integration: media keys, Waybar widget, and playerctl support.
Daemon Mode
Run in the background and control via CLI. Persist playback after closing the terminal.
Windows Media Controls
Native SMTC overlay and global media hotkeys on Windows. Play, pause, and skip from anywhere.
Radio Mode
Continuous playback seeded by the current track, powered by Spotify recommendations. Press one key and let it flow.
Reactive Theme
UI colors adapt to the album art palette on every track change. Eight presets and full theme.toml customization.
Installation
// Linux • Windows
Linux
$ curl -L https://github.com/glrmrissi/isi_music/releases/latest/download/isi-music-linux-x86_64 -o isi-music
$ chmod +x isi-music
$ sudo mv isi-music /usr/local/bin/
Dependencies: sudo apt install libasound2t64 libpulse0
Or via Homebrew: brew tap glrmrissi/isi-music && brew install isi-music (x86_64 and ARM64)
Windows
PS> irm https://raw.githubusercontent.com/glrmrissi/isi_music/master/scripts/install.ps1 | iex
No dependencies needed. Windows Terminal recommended for true color and mouse support.
Or build from source: git clone https://github.com/glrmrissi/isi_music.git && cd isi_music && cargo build --release
Vim-Inspired Keybindings
// Keep your hands on the keyboard
| Shortcut | Action |
|---|---|
| Tab / Shift+Tab | Next / Previous panel |
| Space | Play / Pause |
| n / p | Next / Previous track. With shuffle, previous goes back through play history. |
| s | Toggle shuffle |
| r | Cycle repeat (off → queue → track) |
| = / - | Volume up / down |
| / | Search |
| a | Add to queue |
| A | Add to playlist |
| z | Fullscreen player |
| v | Visualizer |
| y | Lyrics |
| l | Like current track |
| t | Settings panel |
| d | Debug overlay (CPU, memory, logs) |
| 1 / 2 / 3 / 4 | Focus library / playlists / tracks / queue |
| q | Quit |
Integrations
// Desktop • Scrobble • Social
MPRIS2
Registers as org.mpris.MediaPlayer2.isi_music. Media keys, Waybar widgets, and playerctl support in both TUI and daemon mode.
"player-icons": { "isi_music": "" }
Last.fm
Automatic scrobbling. "Now playing" on track start, scrobbles at 50% or 4 minutes. Configure via isi-music setup-lastfm.
Discord
Rich Presence showing current track. Enable in config.toml with [discord] enabled = true.
Spotify Setup
// Client ID Required
The February 2026 Spotify Web API changes require a Client ID for all API requests.
- Go to the Spotify Developer Dashboard and click "Create app"
- Set the Redirect URI to
http://127.0.0.1:8888/callback - Copy the Client ID and run
isi-music setup-spotify
The setup command performs a single unified authentication that chains the Web API OAuth (PKCE) and the streaming OAuth (librespot) in one flow. You only need to authorize once through the browser.