How to leech off EMusic

EMusic has been acquired and is discontinuing their unlimited download service. The new pricing starts at $9.99 for 40 tracks per month. If you’re an EMusic customer like me you’ll probably be doing a lot of downloading before the new system kicks in on November 8th. Unfortunately, the EMusic download manager is buggy and it limits the number of tracks you can put in the queue, which makes mass downloading difficult. So I thought I’d offer this short and slightly technical tutorial on an alternate EMusic download method that allows unlimited queue length and more reliable downloads.

What you’ll need:
A Linux or MacOS X system

or

A Windows system with Cygwin installed. Be sure to install Perl and wget with Cygwin.

and

This Perl script by Thomas Themel that decrypts EMusic’s .emp files and downloads the album with wget.

How to do it:

  1. Make a directory for your .emp files.
  2. Go to EMusic and click to download the albums you want. Instead of opening the .emp files with EMusic Download Manager, save them to the directory you created. You may have to futz with your browser’s filetype settings to accomplish this.
  3. Open up Cygwin or a shell prompt and go to your .emp directory.
  4. Run this command: for I in *.emp; do ./decrypt-emp.pl $I; rm $I; done (assuming you put the Perl script in your .emp directory).
  5. Repeat as desired.

13 thoughts on “How to leech off EMusic”

  1. I can’t get it to work, I keep getting “syntax error near unexpected token ‘./decrypt-emp.pl'” Anyone help? I’m on WinME.

  2. sos emusic!
    Hi Plastic Boy,
    I subscribed for a month to emusic, and right now, you know, whats up.
    I am a Mac 9.2.2 user and the download manager of emusic dosn´t work. I only get errors, slowly I am worried about my mac.. but I would like to get still some music. Could you help me? Please!Thank you, greetings, Beate

  3. I’ve finding that the perl script only downloads teh first track in any album .emp

    I’m running cygwin under Windows 2000

  4. Beate: Have you tried emusic tech support? My only suggestion would be to get MacPerl (http://www.macperl.com/) and try to run the Perl script with that. I’m not a Mac person so I can’t really help you there.

    Tom: I don’t know, I didn’t write the script. You might try contacting the author, his email is in the script.

  5. I figured out what the problem was: the original script passes the output filename as the /last/ argument to wget.

    Under wget 1.8.x (the lastest) options must come before the url to get, so wget interprets the argument “-O” and the file name as additional urls, and fails to retreive either.

    So wget’s return code is non-zero, which causes the perl script to die, not when it gets the mp3, that just prints an error, but when it gets the album cover jpeg.

    Since the url does come first, the mp3 /is/ gotten, so we get only the first mp3, and we get an error message saying that we didn’t get it.

    To fix it, just move the url $trackurl to be the last argument to wget in the sytem calls at lines 323 and 330 of the script.

  6. Hmm, the script has supposedly been fixed by the author, but it’s still failiing after the first tune, and the jpg.

  7. What problem are you having, Bruce? Be sure to get the latest version of the script, as the author has made some fixes since I posted this.

  8. The
    % “for I in *.emp; do ./decrypt-emp.pl $I; rm $I; done”
    isn’t really necessary; using
    ./decrypt-emp.pl *.emp
    will work too.

    An useful change to the perl script is to retry failed or partial downloads. To do so, you’ll have to capture wget’s output and parse it to discover whether or not the download suceeded.

    As emusic.com will sometimes give 404s for existing music, it makes sense to try each file once, then cycle through any failures, up to some maximum number of tries.

    I’ve made such a modification, but am not publishing it as I’m don’t know under what conditions the orignal perl script can be redistributed.

  9. Did you know that even with the new fascist Emusic policy you can download music from old emp’s without it counting towards your monthly total- someone should start sharing emp’s, because fuck Emusic’s new greed.
    Please post any news about this here- I’ve saved most of the hundreds of emp’s (mostly punk shite) and, in fact, they’re small enough to email, even…

Comments are closed.