Saturday, 12 July 2014

Recording Spotify songs to MP3 (with good quality)

I´m a huge Spotify fan, but although I have a premium account, I would like to download my music as MP3. Mostly because my car only accepts SD cards with MP3 inside (it has no bluetooth or ext-line where I could plug my phone).

Of course, there’s no way to do this (it would imply legal issues for Spotify). There was a Chrome extension to download songs while the web player had no encryption, but it no longer works.

So, what are our options? Basically, only one: recording songs from goes through the sound card of our PC. I was reluctant to do this because of quality matters, but MP3 itself means a quality loss, so I decided to give it a try. To my surprise, the quality obtained is damn good. More than enough to listen to some songs in the car…

You will need this:

  • Spotify Recorder: This tool has been developed by this guy, and can be downloaded here.
  • Enable Stereo Mix on your sound settings, so that Spotify Recorder can find a recording device that intercepts what goes through the sound card. To do this, follow this instructions.

Done!

application.png

What I like about Spotify Recorder?

  1. You can choose different audio bitrates
  2. It detects automatically what songs are currently being played in your Spotify app, and creates file names accordingly. It even saves song’s metadata, so the artist/album information is there…
  3. It detects the end/start of songs, so you don’t need to do anything but press “Start Recording” and play your favorite songs on Spotify. Each song will be saved as an individual file properly…
  4. You don’t even need a premium account, although I’d recommend you having one…

My car journeys will be much better now.

Thanks and GREAT JOB !!! 

2 comments:

Anonymous said...

Spotify Recorder is reborn!

http://spotifyrecorder2.codeplex.com/

Anonymous said...

Great!

On my PC it could not find the song, therefore I made the following adjustment, with it it works just great:

private string GetSpotifySong()
{
Process[] processes = Process.GetProcessesByName("spotify");
if (processes != null)
{
foreach (Process process in processes)
{
string song = process.MainWindowTitle;
if (song.Length > 7)
{
string name = song.Substring(10).Trim(' ', '-');
return name;
}
}
}
return string.Empty;
}