Sunday, January 22, 2012

Bandcamp Downloader

Summary

I made a downloader for Bandcamp (/SoundCloud). Check it out: http://bcdlr.yaheard.us / http://bandcampdownloader.yaheard.us

2013.05.17 Update:

I just took the site down. I may rename/appropriate it for SoundCloud usage only since it does that fairly well, too. The BandCamp portion has been removed. See the site for details and participate in the survey there.

2012.03.17 Update:

Just added -- basic SoundCloud support. Because SoundCloud hosts user uploads, however, naming is much less likely to be (as) accurate.

Detail

I like Bandcamp.  It is a clean site that straight-links offsite to a band's page of choice, enables streaming and purchase, makes use of HTML5, and has an impressive variety of music.

While I have a smartphone, I only have 100MB/month for my data.  I pay $30/month...give me a break.  So, I use a 16GB SD card to keep (some) music with me.  I'm also very much "try before you buy".  If I've bought the last 2 CDs by a band, I can do a blind buy...but otherwise, I want to know I'll listen regularly before I shell out my money.  I'm still hesitant of digital only purchases (i know, right?); even though the first thing I do when I get a CD is rip it (to .ogg).

So, I made a bandcamp downloader.  Because Bandcamp makes use of HTML5 (maybe flash fallback, for older browser support?) to play their audio, their source links are pretty much out and the open.  At first, I parsed through some source code to download the songs I wanted to listen to on my commute.  I rarely get the chance to listen at my house...sitting in front of my computer.  However, I was dissapointed that there was not an easier way.

I found a few pages that had bookmarlets, extensions, and js scripts to do the task...but they seemed a little more difficult then I prefer my user experiences to be, and some were browser-dependent.

After making my experiment, I ran across the following two solutions:

  1. Bandcamp Download (http://bandcampdownload.com/) is kinda similar to what I wanted to do...but excels more at entire album downloads because it compresses (to .tar.gz -- a linux format to scare off users after the server's done the downloading work, i guess) for a single download. It seems to be down alot, though.
  2. Offliberty (http://offliberty.com/) seems to grab A file from the referenced page.  Due to this, it works best on individual song pages.  It works on artist or album pages, but only grabs the first track, and the forced download doesn't name the download with artist/album/track information.  
I wanted something a little more obvious...and am glad my work wasn't totally pointless.

Here's the result...the Bandcamp Downloader (http://bandcampdownloader.yaheard.us / http://bcdlr.yaheard.us)

6 comments:

Moe said...
This comment has been removed by the author.
Moe said...
This comment has been removed by a blog administrator.
cloverlover said...

This is great! You're a genius for making this :)

Nick Chapman said...

Thanks! It used to be better when I didn't need or had found a proper proxy. Then, I named the downloads properly so that they didn't have to be done or arrive on your PC as non-obvious names.

One day, I'll find the time to track down a proxy that allows hotlinking.

Cee-cee said...

Hi Mr.Blogger! Haha. :') I'm glad I came across your blog, I was really desperate to download a good song out of Bandcamp (I've been trying to scour the internet for a free link, but to no avail). The Bandcamp downloader no longer works; it has been taken down recently by its developer. :) I used Offliberty after I read this, it works great. I just had to click on individual songs so I could download them. Thanks a buuunch!

Nick Chapman said...

Glad you were able to find an alternative.

My site (when it was up) was an improvement to offliberty, I think, because it named and titled downloads. The founder of Bandcamp requested I take it down (politely), though, so I complied.

Take care! Support the artists if you are able!