isi-music
[v2.0.0]

> isi-music_

Terminal audio player, built in Rust. Blazing fast, memory safe, and designed for keyboard-centric workflows.

isi-music --play
Now Playing: Lie To Me by Lil Peep [=======>.......] 1:12 / 2:19

Core Features

// Built for Power Users

speaker

Spotify Streaming

Stream via librespot, no official Spotify app required. Seamless authentication with PKCE flow.

audio_file

Local Playback

Lightning-fast playback for FLAC, WAV, MP3, OGG, and AIFF with automatic metadata extraction.

equalizer

Audio Visualizer

Real-time spectrum analyzer using braille characters. Works for both Spotify and local files.

lyrics

Synchronized Lyrics

Auto-fetched multi-source lyrics with synced support from LRCLIB and Musixmatch.

search

Full-text Search

Search across tracks, albums, artists, playlists, and podcasts with instant results.

queue_music

Queue Management

Cross-player queue mixing Spotify and local tracks. Shuffle and repeat modes included.

image

Album Art

Cover art rendered via Kitty, Sixel, or half-block with automatic terminal detection.

cast

MPRIS2 Integration

Full Linux desktop integration: media keys, Waybar widget, and playerctl support.

dns

Daemon Mode

Run in the background and control via CLI. Persist playback after closing the terminal.

Installation

// Linux • Windows

terminal

Linux

bash
$ 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

desktop_windows

Windows

powershell
PS> Invoke-WebRequest -Uri .../isi-music-windows-x86_64.exe -OutFile isi-music.exe
PS> mkdir "$env:LOCALAPPDATA\Programs\isi-music" -Force
PS> move isi-music.exe "$env:LOCALAPPDATA\Programs\isi-music\"

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

cast

MPRIS2

Registers as org.mpris.MediaPlayer2.isi_music. Media keys, Waybar widgets, and playerctl support in both TUI and daemon mode.

json
"player-icons": { "isi_music": "" }
music_note

Last.fm

Automatic scrobbling. "Now playing" on track start, scrobbles at 50% or 4 minutes. Configure via isi-music setup-lastfm.

group

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.

  1. Go to the Spotify Developer Dashboard and click "Create app"
  2. Set the Redirect URI to http://127.0.0.1:8888/callback
  3. 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.