Skip to content

Use Python to download from SoundCloud, Bandcamp, MixCloud and AudioMack.

License

Notifications You must be signed in to change notification settings

MasterFocus/SoundScrape

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoundScrape!

SoundScrape Build Status PyPI Python 2 Python 3

SoundScrape makes it super easy to download artists from SoundCloud (and Bandcamp and MixCloud and AudioMack) - even those which don't have download links! It automatically creates ID3 tags as well (including album art), which is handy.

Is it easy to use?

Install. Call it with the name of a SoundCloud artist. Done.

pip install soundscrape
soundscrape rabbit-i-am

General Usage (all supported websites)

Files are stored in the current folder:
" Artist Name - Track Title.mpX " (mp3 or mp4)

Using the -f argument will automatically download files into folders:
" Artist Name - Album Name / 02 - Second Song.mpX "

You can use the -n argument to only download a certain number of songs:

soundscrape rabbit-i-am -n 3

SoundScrape skips already downloaded songs, unless you use the -r argument.

Using a full URL usually works as well, identifying which website you're trying to download from:

soundscrape https://mississippibones.bandcamp.com/

As a convenience method, SoundScrape can automatically 'open' downloaded files, using your system's 'open' command for file associations:

soundscrape lorn -of

SoundCloud

Download a specific track (with -t or the track URL):

soundscrape foolsgoldrecs -t danny-brown-dip
soundscrape https://soundcloud.com/foolsgoldrecs/danny-brown-dip

Download an entire set (with the set URL):

soundscrape https://soundcloud.com/vsauce-awesome/sets/awesome

Download all of an artist's liked items (with -l or the likes URL):

soundscrape troyboi -l
soundscrape https://soundcloud.com/troyboi/likes

Download tracks from groups (with -g):

soundscrape chopped-and-screwed -gn 2

By default, SoundScrape will try to rip everything it can. However, if you only want to download tracks that have an official download available (which are typically at a higher-quality 320kbps bitrate), you can use the -d argument:

soundscrape sly-dogg -d

Bandcamp

Use the -b argument along with an artist's username to parse the "/music" page. SoundScrape will attempt to download each album and even orphan tracks.

Note: Currently, when using the -n argument, the limit is evaluated for each album separately (meaning soundscrape -b whalerider -n 4 will download 4 songs from each album).

Mixcloud

SoundScrape can also grab mixes from Mixcloud. This feature is extremely experimental and is in no way guaranteed to work!

It finds the original mp3 of a mix and grabs that (with tags and album art) if it can, or else just gets the raw m4a stream.

Mixcloud currently only takes an invidiual mix. Capacity for a whole artist's profile due shortly.

soundscrape https://www.mixcloud.com/corenewsuploads/flume-essential-mix-2015-10-03/ -of

Audiomack

Just for fun, SoundScrape can also download individual songs from Audiomack (with the -a argument). Not that you'd ever want to.

soundscrape -a http://www.audiomack.com/song/bottomfeedermusic/top-shottas

Issues

There's probably a lot more that can be done to improve this. Please file issues if you find them!

About

Use Python to download from SoundCloud, Bandcamp, MixCloud and AudioMack.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%