An open souce music streamer based on MPV.
Project description
🎶 Harmony Music
Stream music from your terminal without compromising your privacy.
📖 Table Of Contents
❔ What's this?
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.
🎧 Features
- 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 Integrationfor more information.
📜 Requirements
- mpv - Media player for audio playback
- Linux system (Windows binaries not yet available)
💻 Installation
Download the latest binary from the releases section or install 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
👨🔧 Usage
Track Selection
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
Command-line Options
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
🔨 Configuration
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.
Configuration Options
| 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 |
Last.fm Integration
To enable Last.fm scrobbling:
- Create a Last.fm API account
- Add your credentials to the config file
- View existing API keys
🏥 Contributing
Bug reports and feature requests are welcome. Please open an issue to discuss any problems or suggestions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file harmony_music-0.7.0.tar.gz.
File metadata
- Download URL: harmony_music-0.7.0.tar.gz
- Upload date:
- Size: 45.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1550574acb563e81666603321bb2da4bbaf125aa5a739a82466a498a0e8be31
|
|
| MD5 |
2cfbaef82a496153a21b33e877f7d280
|
|
| BLAKE2b-256 |
a2a935971f6a467b610c802604f34ac3396b43c9e46e80ce9051dfcc3ca75c1f
|
File details
Details for the file harmony_music-0.7.0-py3-none-any.whl.
File metadata
- Download URL: harmony_music-0.7.0-py3-none-any.whl
- Upload date:
- Size: 50.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09c03fbe4344c4ca5ed4dfb8097ac3d318927ede1274dd78677346a7bd72ac31
|
|
| MD5 |
5e93c3f8f8e4a7d42d63389ca36a8af4
|
|
| BLAKE2b-256 |
60f19b07ea50960680a94acd6fae67216d2fa7d8d6ed33ef102cc480ba32f15c
|