hifi-download
Original:🇺🇸 English
Translated
28 scripts
Discover music, get personalized recommendations, and download high-fidelity audio files. Use when user wants to find new music based on their taste, search for songs/albums/artists, get recommendations similar to artists they like, or download lossless audio (FLAC/Hi-Res) from Qobuz or TIDAL. Trigger phrases include "find music like", "recommend songs", "download album", "lossless", "Hi-Res", "FLAC", "music discovery", "similar artists", "setup music".
4installs
Sourcepsylch/media-master
Added on
NPX Install
npx skill4agent add psylch/media-master hifi-downloadTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →MusicMaster
Music discovery (Spotify, Last.fm) and Hi-Res audio downloads (Qobuz, TIDAL) through a unified CLI.
All commands use , which activates the venv and runs the corresponding Python script. Output is human-readable by default; use where supported for structured output.
bash ${SKILL_PATH}/run.sh <script> [args...]--jsonFirst-Time Setup
Step 1: Check Dependencies
bash
bash ${SKILL_PATH}/scripts/setup.sh checkOutput is key=value pairs. If , run install first.
VENV=missingStep 2: Install
bash
bash ${SKILL_PATH}/scripts/setup.sh install [--with-qobuz] [--with-tidal]Creates , installs core dependencies (, , , ), and optionally installs download backends.
.venvspotipypylastrequestspython-dotenvStep 3: Configure Credentials
IMPORTANT: Do NOT ask the user for credentials in chat. Instead:
- Create from template if not exists:
.envcp ${SKILL_PATH}/.env.example ${SKILL_PATH}/.env - Tell user to edit with their credentials
${SKILL_PATH}/.env - Wait for confirmation, then verify
Alternatively, use the config script:
bash
bash ${SKILL_PATH}/run.sh setup_config --lastfm-key=KEY [--spotify-id=ID --spotify-secret=SECRET] [--qobuz-email=EMAIL --qobuz-password=PASS]Where to get credentials:
- Spotify: https://developer.spotify.com/dashboard (free)
- Last.fm: https://www.last.fm/api/account/create (free)
- Qobuz: Requires Studio/Sublime subscription
- TIDAL: Run in venv for OAuth
tiddl auth login
Step 4: Verify
bash
bash ${SKILL_PATH}/run.sh statusShows which services are READY, DISABLED, or need setup. Only use services marked READY.
Service Types
| Type | Services | Purpose |
|---|---|---|
| Discovery | Spotify, Last.fm | Search, recommendations, similar artists |
| Downloads | Qobuz, TIDAL | High-quality audio (FLAC, Hi-Res) |
Discovery Commands
Last.fm — Similar Artists
bash
bash ${SKILL_PATH}/run.sh lastfm_artists "Radiohead"Returns a list of similar artists with match scores.
Last.fm — Similar Tracks
bash
bash ${SKILL_PATH}/run.sh lastfm_tracks "Karma Police" "Radiohead"Arguments: track name, then artist name.
Last.fm — Taste Profile
bash
bash ${SKILL_PATH}/run.sh lastfm_tasteReturns the user's top artists and tracks from listening history.
Spotify — Search
bash
bash ${SKILL_PATH}/run.sh spotify_search "OK Computer"Searches Spotify catalog for tracks, albums, and artists.
Spotify — User Library
bash
bash ${SKILL_PATH}/run.sh spotify_user tracks|artistsGets the user's saved tracks or followed artists (requires OAuth).
Spotify — Track/Album Info
bash
bash ${SKILL_PATH}/run.sh spotify_info SPOTIFY_URI_OR_IDDownload Commands
Search Platform Catalog
bash
bash ${SKILL_PATH}/run.sh platform_search "Album Name" -p qobuz|tidalSearches the download platform's catalog. Returns IDs for use with download command.
Download (async — returns immediately)
bash
bash ${SKILL_PATH}/run.sh platform_download ID -p qobuz|tidal -t album|trackQueues the download in a background process and returns a immediately. The agent is free to continue other work. Use to poll progress.
download_iddownload_statusTo block until the download completes (legacy behavior):
bash
bash ${SKILL_PATH}/run.sh platform_download ID -p qobuz -t album --syncCheck Download Status
bash
bash ${SKILL_PATH}/run.sh download_status DOWNLOAD_ID
bash ${SKILL_PATH}/run.sh download_status --all
bash ${SKILL_PATH}/run.sh download_status --active
bash ${SKILL_PATH}/run.sh download_status --jsonPoll the status of a specific download or list all downloads. Use to show only pending/in_progress tasks. Use for structured output.
--active--jsonOpen Download Dashboard
bash
bash ${SKILL_PATH}/run.sh download_uiOpens a web dashboard at showing real-time download status with progress bars. Auto-refreshes every 3 seconds.
http://localhost:8765Service Management
Disable a Service
bash
bash ${SKILL_PATH}/run.sh disable_service spotify --reason "No account"Enable a Service
bash
bash ${SKILL_PATH}/run.sh enable_service spotifyWorkflow — Music Discovery
- Run to check available services
status - Use or
lastfm_artiststo find similar musiclastfm_tracks - Use to look up specific tracks/albums
spotify_search - Present results to user in a clear table format
- If user wants to download, use →
platform_searchplatform_download
Workflow — Download Hi-Res Audio
- Run to confirm download service is READY
status - Search:
platform_search "Album Name" -p qobuz - Present results with quality info
- Download: (returns download_id immediately)
platform_download ID -p qobuz -t album - Tell user download is queued, optionally open for visual monitoring
download_ui - Poll with until completed
download_status DOWNLOAD_ID - Report download path and file size to user
Error Handling
| Error | Detection | Resolution |
|---|---|---|
| Venv missing | | Run |
| Service not configured | | Guide user to edit |
| Spotify OAuth expired | Spotify commands fail with auth error | Run |
| TIDAL token expired | | Run |
| Service disabled by user | | Run |
| No results | Search returns empty | Try different keywords or check service availability |
Important Notes
- Spotify requires OAuth browser flow on first use (script handles this)
spotify_auth - TIDAL auth is managed by CLI tool, not stored in
tiddl.env - Qobuz credentials are stored in (sensitive — ensure file is in
.env).gitignore - Download paths default to and
~/Music/Qobuz~/Music/TIDAL - Quality settings: Qobuz 27=Hi-Res 24-bit (highest), TIDAL HiFi=lossless