Harmony is a command-line music player that streams audio directly from JioSaavn without data collection or user tracking. It uses the JioSaavn API to fetch search results and stream music through your terminal.
- Low resource usage - Runs with 1-5% CPU usage during playback
- Privacy focused - No data collection or user tracking
- High-quality audio - 320 kbps bitrate streaming
- Synchronized lyrics - Real-time lyrics display
- Session persistence - Queue saves automatically between sessions
- Local playlists - Create and manage playlists stored on your device
- Spotify integration - Import tracks, albums, and playlists from Spotify URLs
- Trending music - Browse currently trending tracks
- Last.fm scrobbling - Optional Last.fm integration for tracking listening history. See
Last.FM Integration
for more information.
- mpv - Media player for audio playback
- Linux system (Windows binaries not yet available)
Download the latest binary from the releases section or install it directly:
sudo wget https://github.com/ZingyTomato/harmonymusic/releases/latest/download/harmony -O /usr/local/bin/harmony
sudo chmod a+rx /usr/local/bin/harmony
Or, install it from the AUR
.
yay -S harmony
Single track:
1. Track1 - Artist1 (02:59)
2. Track2 - Artist2 (03:33)
3. Track3 - Artist3 (03:30)
4. Track4 - Artist4 (03:01)
[(P)lay, (S)how queue, (Q)uit, (E)dit, (C)lear, (V)iew playlists]: 1
Multiple tracks:
[(P)lay, (S)how queue, (Q)uit, (E)dit, (C)lear, (V)iew playlists]: 1 2 3
Range selection:
[(P)lay, (S)how queue, (Q)uit, (E)dit, (C)lear, (V)iew playlists]: 1..3
Selects tracks 1, 2, and 3
usage: harmony [-h] [-t] [-p] [-v] [-dl] [query ...]
Harmony - Terminal-based music streamer powered by MPV
https://github.com/ZingyTomato/Harmony-Music
positional arguments:
query Search query (e.g., 'harmony Never Gonna Give You Up')
or Spotify URL (e.g., 'harmony https://open.spotify.com/xxxx')
options:
-h, --help show this help message and exit
-t, --trending show top 20 trending tracks worldwide
-p, --playlist manage playlists (view existing or create new)
-v, --version display program version
-dl, --disable-lyrics disable synchronized lyrics in MPV
Harmony creates a config file at ~/.config/harmony
on first run. All settings can be modified in this file or overridden with command-line arguments.
Setting | Description | Default |
---|---|---|
SHOW_SYNCED_LYRICS |
Display synchronized lyrics in MPV | false |
PERSISTENT_QUEUE |
Save queue between sessions | true |
LOOP_QUEUE |
Loop tracks in queue | false |
LASTFM_API_KEY |
Last.fm API key for scrobbling | null |
LASTFM_API_SECRET |
Last.fm API secret | null |
LASTFM_USERNAME |
Last.fm username | null |
LASTFM_PASSWORD |
Last.fm password | null |
To enable Last.fm scrobbling:
- Create a Last.fm API account
- Add your credentials to the config file
- View existing API keys
Bug reports and feature requests are welcome. Please open an issue to discuss any problems or suggestions.