this post was submitted on 09 Jun 2025
86 points (98.9% liked)

Selfhosted

46672 readers
1002 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I ditched most streaming services well over a year ago now, but Spotify has clung on because I have a playlist of around 2000 songs. I've set up Navidrome but now need to transfer all my music in the highest quality possible as efficiently as possible.

I tried lidarr some time ago, but it seemed to be based more around artists than individual songs and my indexer failed to find most of my library.

I've seen a couple of apps that will look at a playlist and then try to yt-dlp the song from YouTube but I'm worried about having a lower quality or different version. I've wondered if automating an "analog hole" type approach where I just pipe the audio of each song to a file and leave it playing overnight for a couple of weeks might actually be the best approach but that does seem a bit insane at this scale.

top 34 comments
sorted by: hot top controversial new old
[–] dabe@lemmy.zip 18 points 14 hours ago

Here’s my “low complexity, medium effort, full legal, full quality” solution:

Start actually buying your music. I go down the list in descending order of convenience:

  • Bandcamp
  • Qobuz
  • Apple iTunes (not Apple Music)
  • Physical CDs (for ripping)

Tag all your music with Picard (or wrtag if you only buy full releases, there’s a GH issue for other cases) or beets. Picard is the simplest and most feature complete right now and has a nice GUI. Then upload your tagged music to your Navidrome.

Then use a tool like

  • https://github.com/WilliamNT/tunesynctool
  • https://github.com/blastbeng/spotisub (check my fork for a better functioning version) These will match songs from your spotify playlists to songs in your subsonic-compatible server (which Navidrome is) and recreate your spotify playlists using the music it finds in your Navidrome. These syncing tooks can have misses and you may need to do some log-digging or issue-opening to find out why, but I’ve gotten them working fairly decent and plan on doing some work to improve them some day.

It’s a nice, fully legal, fully self-hosted stack. Not NEARLY as convenient as having them auto-ripped for you from youtube, but like you said, there are quality and metadata concerns when ripping from youtube.

[–] themakara@lemmy.world 11 points 21 hours ago* (last edited 21 hours ago) (2 children)

Here's the not really legal way I have heard of

  1. Get a Deezer trail and cancle the sub right after. Migrate your relevant playlists to Deezer.
  2. Use Deemix to download the playlist any anything you are interested in in the quality you desire. Make sure the DL settings are also what you want. You can also use other tools to download from Qobuz.
  3. (Optional) Use Musicbrainz to identify and tag your files with unique IDs. You can also use custom scripts to give the artist field seperate entries for every artist. Makes it more convenient then separation by a ; or something. You can use ChatGPT for the script.
  4. (Still optional) Import the music to a Lidarr instance for better management and automatic naming. The IDs make this step easier. This allows you too track new or missing releases from artists.
  5. Import to Navidrome.

The optional steps can be more involved and need a lot of manual work. Also, the migration to Deezer will have issues, it's not perfect.

If you want lyrics, I recommend using LRCGET or importing to Jellyfin and using it's lyric plugin to automatically download them that way. The app SongSync on android also allows downloading lyrics automatically and manually from a variety is sources, including Apple and Spotify. Not on FDroid or Play, use GitHub or IzzyOnDroid.

As for a music player on android, I'm currents trying Symfonium. Not FOSS and actually paid, but so far it's the best I have seen.

EDIT: Minor clarification.

[–] gitamar@feddit.org 4 points 12 hours ago

I can recommend https://beets.io/ to auto Tag your library. It's work but works better than Picard or other MusicBrainz tagger IMHO.

[–] Appoxo@lemmy.dbzer0.com 3 points 18 hours ago (1 children)

Theres tools like Zotify (and I am sure several others) to directly download the music files from Spotify.
No need to get yet another subscription.
They may not be lossless but who really cares when the first priority is getting away from it at all.

[–] themakara@lemmy.world 4 points 18 hours ago (2 children)

In my experience, most of these tools usually only search the equivalent song on YouTube ans download it from there. Which can cause some trouble when the algorithm finds some cover etc instead of the original thing. Plus the lossless issue. For me personally, it was easier to just get the better version outright instead of upgrading afterwards.

[–] winkerjadams@lemmy.dbzer0.com 8 points 17 hours ago

Zotify pulls from Spotify and uses your Spotify account to get your actual playlists and download the songs directly

[–] Appoxo@lemmy.dbzer0.com 3 points 15 hours ago (1 children)

Before commenting on a tool and saying it's bad, at least do your homework :(

[–] themakara@lemmy.world 2 points 14 hours ago

I commented that I have experience with similar tools and that is why I chose others. I never said anything about this particular one.

Why would I need to look into this particular tool right now? I don't need it and it has no real relevance to what I was saying either.

[–] fossilesque@mander.xyz 23 points 1 day ago* (last edited 1 day ago) (1 children)

You can script download stuff via Soulseek. There's a script on the sidebar of !soulseek@lemmy.dbzer0.com

[–] Appoxo@lemmy.dbzer0.com 8 points 18 hours ago* (last edited 18 hours ago) (2 children)

Don't be a leech and download several thousands of songs from other without sharing.
If you don't share back, at least only get hard to aquire content.

[–] SwampYankee@mander.xyz 17 points 15 hours ago

get hard to aquire content

Okay, I'm hard... now what?

[–] fossilesque@mander.xyz 5 points 17 hours ago

I have an auto message that asks people to share, but a lot of people are returning to collecting their own media, so you have to start somewhere sometimes! :)

[–] Zachariah@lemmy.world 7 points 23 hours ago* (last edited 23 hours ago)

https://soundiiz.com/ is so good at transferring playlists or exporting them to standard csv or playlist file. It’s $5 for one month—which is all you’ll need for this specific transfer. But I pay yearly (there’s a discount) because I like to export my playlists throughout the year. There are a bunch of other great features.

Edit: Oh, you meant the audio, too. In that case I’d say transfer/export your playlist. Then go find FLAC files of the songs from various sources.

[–] harsh3466@lemmy.ml 8 points 1 day ago (3 children)

Ytdlp works with Spotify too iirc, and there are Spotify downloaders out there too.

[–] dabe@lemmy.zip 3 points 14 hours ago (1 children)

Every spotify downloader I’ve seen just matches to youtube and uses yt-dlp in the backend. I may have missed a new one though.

[–] HereIAm@lemmy.world 2 points 11 hours ago

I've used Zotify. It downloads from Spotify directly in .ogg format. It fails a bit here and there, so requires you to watch that everything actually downloaded, but it beats any random YouTube quality video other programs would find otherwise.

[–] Appoxo@lemmy.dbzer0.com 2 points 18 hours ago

Spotify is not supported.

[–] dbkblk@lemmy.world 2 points 18 hours ago

Is it? I've just tried and it doesn't:

❯ yt-dlp "https://open.spotify.com/intl-fr/album/2NsGk9oBBBMfblYdLcjYhu"
[generic] Extracting URL: https://open.spotify.com/intl-fr/album/2NsGk9oBBBMfblYdLcjYhu
[generic] 2NsGk9oBBBMfblYdLcjYhu?si=5c3b12c1e70948a6: Downloading webpage
[redirect] Following redirect to https://open.spotify.com/album/2NsGk9oBBBMfblYdLcjYhu
[DRM] Extracting URL: https://open.spotify.com/album/2NsGk9oBBBMfblYdLcjYhu
ERROR: [DRM] The requested site is known to use DRM protection. It will NOT be supported.
       Please DO NOT open an issue, unless you have evidence that the video is not DRM protected
[–] gedaliyah@lemmy.world 6 points 1 day ago

I have used any number of Spotify downloader apps to back up my music accumulated from other sources.

[–] westingham@sh.itjust.works 6 points 1 day ago
[–] theskyisfalling@lemmy.dbzer0.com 4 points 23 hours ago (1 children)

You are only going to be able to get 320 mp3s from Spotify at the very best, I use soggfy to intercept the audio and rip the tracks so you need to let the playlists run (although you can up the speed they play at) and there will also consequently be some organisation needed of the files afterwards so it is far from automated but works fairly well.

A lot of the tools around take your playlists and find what it thinks are the correct tracks on YouTube and then rip from there so be wary of the quality you might get from those.

I compared a track I ripped from Spotify with a 320 mp3 of the same track I had bought with a spectrometer (I think that is the correct name) and they looked identical

[–] Appoxo@lemmy.dbzer0.com 1 points 18 hours ago (1 children)

What good is it to rip the audio?
Use tools like zotify to just dl the stuff.

[–] theskyisfalling@lemmy.dbzer0.com 1 points 17 hours ago (1 children)

Soggfy was just the first thing I tried that worked without crawling for shitty yt downloads of the same things and so I stuck with it. If the audio quality is the same then I really don't see what difference it makes in the grand scheme of things.

I will try out zotify so thanks for the name but it isn't like it will be any quicker as I'll still do everything in "real time" as I want to maintain my account and not get banned as it is a family plan and I don't want to negatively impact the other people that use the same plan.

Also I know people love to use command line but soggfy is just a modified Spotify client so I can just open it up and start what I need in a couple of clicks

[–] Appoxo@lemmy.dbzer0.com 1 points 15 hours ago

I just created a dummy account that is part of the family plan.
If it get's banned: So what. I'll create another ;)

Regarding Zotify (the last time I used it was quite some time ago), authenticating was the only difficult task. After that it was just plugging in the playlist link, pressing enter and waiting.

And I am not one that breathes the CLI.

[–] damnthefilibuster@lemmy.world 3 points 21 hours ago

Spotify scrobbles to LastFM. Maybe they have an API or export solution? All you would have to do is play your playlist straight through once after connecting to LastFM.

I don’t know about importing it further as I don’t know what Navidrome is.