Hacker News new | ask | show | jobs
by aksss 1947 days ago
Lately I’m starting to miss the utility of MP3’s because reasons. So haven’t tried it yet, but it seems pretty trivial to pirate from Spotify, just a bit of a time suck to play an album/playlist, chop up the tracks, look up the metadata. There are tools to make all of this easier, virtual audio patch cables, audacity, metadata downloaders. No?
1 comments

Is it? I've been unsuccessful so far with the obvious exception of ripping the output stream and reencoding that. If you find a way to rip music from spoitfy, i'd be interested
Maybe I’m not saying anything different - you play the music and use virtual audio cables to harvest it into an mp3 file (or whatever format) with no DAC/ADC conversion. Digital to digital. https://shop.vb-audio.com/en/win-apps/19-hifi-cable-asio-bri...
yeah that will probably work but since spotify is already sending a lossy compressed audio file, you'll still get some quality loss due to compressing it twice. Also seems really inconvenient, especially since i'd want to do this for mobile use to save on bandwidth. That quickly becomes really annoying if you want to do it for thousands of files.
Yep it works fine. Three basic steps - 1) configure your environment; 2) record; 3) process. Steps 1 & 3 take the most effort here, but once set up you don't really have to sweat over any of it again. Step 2 takes the most duration since it's realtime. But the cool thing is there's no DAC happening.

1) Configure Environment

* In Spotify set quality to Very High (nominally 320kbps)

* Using some virtual patch cabling (I use Voice Meeter Banana), set Windows to use it's VAIO input as the Spotify output device.

* Make sure B1 channel (the virtual output) is enabled in VMB

* Set A1 channel (hardware out) in VMB to your speakers if you want to monitor music, otherwise set to nothing if you want it to do all this in the background

* Set Audacity to to use the VAIO Output as the recording source

2) Record

* hit play in spotify, hit record in audacity

* Audacity should stop recording after prolonged silence when playlist ends - you can tweak the sensitivity of this.

3) Process * Select all in Audacity, then Analyze/Detect Sounds, set silence threshold to whatever (e.g. -60). Spot check your results for accuracy.

* Export this track list from Audacity (txt file)

* Use a tool like https://watsonbox.github.io/exportify to export your playlist details from Spotify (csv file)

* Use Excel or Python (or whatever your hammer of choice is) to merge your spotify playlist data with the audacity label export file, basically creating a new label file for audacity. For example, your audacity label name could be "artist-trackname".

* Import your new label file to update the track names;

* "Export Multiple" from Audacity using track name as file name.

* Use some media management tool to clean up and download all the metadata for the file. I used MediaMonkey for this. Basically imported detecting artist and track name from filename, then let it do its thing to look up additional metadata and album covers.

Got this compiled and can confirm it works. https://git.rip/mirror/gitlab/fuck-capitalism/spotifykeydump...

I'd suggest downloading it now before it inevitably gets nuked again

All this talk is probably going to force me to try it this weekend cuz science, right?

I don’t know if I’d really notice quality[0] degradation too much, my use case would be the local storage in my vehicle for long trips with dodgy cell coverage. I’ve been burned a couple times by Spotify auto-clearing previously downloaded playlists, only to find out after I’m without data coverage / in the air.

I have a couple ideas about making the process more efficient, as in process running in the background. You are essentially restricted to a 1x rip speed, but I shouldn’t think I’d need to babysit it much and the post processing can be largely automated, perhaps less time than I remember it taking to find equivalent torrents, dl and clean those up. I mean, duration would be longer but level of effort on par or less.

Will report back.

[0] https://support.spotify.com/us/article/high-quality-streamin...