Playlists in, no keys
Public Spotify and YouTube playlists work out of the box. An optional login unlocks the private ones.
Paste a Spotify or YouTube playlist, download every track, and let it land in your library as tagged files, an M3U file, or a Jellyfin playlist - no accounts to hand your data to.
$ mkdir melodybridge && cd melodybridge
$ wget https://melodybridge.app/compose.yml
$ docker compose up -d
melodybridge is up - open http://localhost:3333
Docker or Podman, state in one ./data folder, listens on 127.0.0.1 only.
Paste a public Spotify or YouTube link. The tracks land in the local database; log in for private playlists and liked songs.
The waterfall tries each plugin until one returns a good file, then tags it and measures what it really contains.
A sync job writes an M3U file into data/playlists or pushes the playlist straight to Jellyfin, on an interval if you want.
Public Spotify and YouTube playlists work out of the box. An optional login unlocks the private ones.
Lucida, SoundCloud, Internet Archive, YouTube - tried in order, first good file wins.
A spectrum check reads what a file actually contains, so a rebranded 128 kbps never passes as 320.
Title, artist, album and track number from the playlist, plus a MELODY_ID that ties a file to its track.
Keep removed tracks as history, or match the source exactly. Each playlist picks its own mode and interval.
M3U files with metadata, or Jellyfin playlists pushed through the API - favorites included.
Everything MelodyBridge keeps lives in ./data: the music, the written playlists, and a single SQLite database. The web UI listens on 127.0.0.1:3333, so nothing is exposed until you put a reverse proxy in front of it. yt-dlp and ffmpeg are in the image; FlareSolverr runs beside it as an optional sidecar for Lucida.
Every page of the UI is documented in the user guide, and the architecture is laid out in the developer guide.
MelodyBridge is a one-person project under AGPL v3. If it saves you an evening of clicking download buttons, you can back the work on GitHub - it covers the domain and the coffee.
Sponsor on GitHub