jwallace.us

tech, tunes, and other stuff

Music Vendors Still Using DRM

Digital Rights Management (DRM) is still being used by music vendors. What vendors would do in the past was to make it impossible to own music. Windows based WMA and Apple based AAC files could not be transferred from device to device without using iTunes or Windows Media Player.  In other words, you couldn’t simply transfer music to another computer using a USB drive or something similar.  There was an uproar about that, and so vendors convinced music labels that that form of DRM was a bad idea and hurting sales. With the removal of that specific DRM scheme music sales have soared, but the record labels are at it again with a more sneaky approach. While music files are now more easily distributed,  they are now encoding information into the MP3 files (and in Apple’s case, AAC files) themselves which would make it possible to trace which vendor a specific file was downloaded from, who downloaded it, and when it was downloaded. Essentially your music can be now traced to you. You may say you don’t mind that, but what if you lose your music player or MP3 stick with gigabytes of your music on it. What if someone finds that device and decides it would be really cool to share your music with thousands of internet friends? If the RIAA then downloaded your music from the punk that found your music device, do you suppose the RIAA would care HOW that guy was in possession of YOUR music? Of course not. The RIAA has proven to be fairly unscrupulous when it comes to such matters, even to the point of suing grandmothers who don’t have an internet connection or own any digital music for thousands of dollars! So how can you protect yourself?

There are only a couple of steps you need to take.  The first step is to identify which music contains your private data, and the next step is to remove that data without affecting the music.

So, how does one identify which music contains their personal data information?   First we need to know what to look for.  I have found that both eMusic, 7digital, and Amazon (and probably others) encode the personal DRM data into an MP3 id3v2 header field with a PRIV label. All you have to do is scan your MP3 files for this PRIV field.

Before we go any further, lets see what one of these PRIV fields look like.  This PRIV field is from a track downloaded from eMusic:

1
2
3
4
5
6
<?xml version=”1.0″ encoding=”UTF-8″?>
<uits:UITS xmlns:uits=”http://www.udirector.net/schemas/2009/uits/1.1″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”><metadata><nonce>5ZwmfSmK</nonce><Distributor>eMusic</Distributor><Time>2012-07-12T14:34:49-06:00</Time><ProductID type=”UPC” completed=”false”>00049377181536</ProductID><AssetID type=”ISRC” >NZF050181529</AssetID><TID version=”1″>XDxzK4HApNvssOHLQ4hvaw==</TID><Media algorithm=”SHA256″>b34a9d293826dd3e46ddc7c774f058b6221dea5cff4bc0df6bd993526e3140092</Media></metadata><signature algorithm=”RSA2048″ canonicalization=”none” keyID=”VKgH48vE88xoM7lVQm+b9B031TQ=”>hxQQxC9ex6h1UXjzJ1kSPCeR9D/q+TaFb2mijIeAkqcN5dnLIei0xzF3
Irs58NJByFScJhCZYe6G54xUAzYlvWOHb/klEAcnAxW5IHMKGLuqybZrC8B0jrUTQ9+Ezad8eFrDoKCsGZLTag9Uc
TptffpYrCroSGp4nvMqm/p/9bpCiiq2xxA7ad5SSvwELuTgIj2s44SlKtLqij854UohlJMMcrp+c//sFZAF2niwDMvLQfh8
0lG7weKVJgxPAnKpb4GgaIprOvvzU4xhGK56spRRDyPQ/SJ+/gnUsgPMyHv4RF8zZiVeathLGyJuRoT2BXXiJnPAyyOU
hk6l4yhug==</signature></uits:UITS>

I changed a bunch of the numbers and letters around to take my specific information out, but you can get the idea here. This one was from an eMusic MP3 file that I downloaded as part of my subscription that I pay for.

Not all MP3 files have this PRIV field encoded into them.  Most do not as it appears the PRIV field is included into the files on a per-contract basis – probably paid for by the record label at an additional cost (and probably at the artist’s expense).  I’ve found that if one track from an artist has DRM encoded into it, then all tracks from the same artist will as well.

I have written a PHP based command line utility which will scan your MP3 music folders searching for these DRM PRIV fields in your MP3s. You can download it from here:  mp3_info_v10.zip  You will also need the open source getID3 library as my utility needs it to run.  Once you have it, you can type mp3_info.sh -h for help.

You’ll need PHP installed on your machine to run this utility.  If you are running Windows, you can download PHP here:  PHP for Windows.  If you are running Mac OSX you will need to have the XCode  development package installed.  (It should be on your Mac OSX installation disk.)  If you’re running Linux, you’ll have to make sure you have the PHP package installed for your Linux distribution.  FYI, I developed this on a PHP 5.3 system, but it will not run using PHP 5.4 because the getID3 library is not currently 5.4 compatible..

If you don’t want to do all this geeky PHP stuff, then you would be safe simply deleting the id3 headers (tags) from ALL of your purchased MP3 files.  It might be a little more trouble as you would need to add the non-DRM data back such as artist, album, genre, year, track number, etc – but thats all easy to do.  I’ll explain that next.

Once you have identified which tracks have DRM, the next step is to remove the DRM.  If you’re running Windows, the best software I have found for manipulating MP3 (and other formats) metadata is to use a free program called mp3tag.  Using mp3tag simply delete the entire id3 tag.  Its the only way I know to do it, but it is also very effective.  It will wipe the song information, the album cover, and anything else including the DRM.  So, you’ll have to add  all that back if you want it back in there, but mp3tag has the ability to fill in those fields automatically using free online music databases.  You can also add the cover art back using mp3tag.  I know this isn’t much help, but if you’re running OSX or Linux I have no idea which tool to use.  I just boot Windows using Oracle Virtualbox running on my OSX or Slackware Linux system and use the Windows based mp3tag tool mentioned above.