• Stars
    star
    119
  • Rank 297,930 (Top 6 %)
  • Language
    Python
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Python project that downloads tracks from soundcloud.com, complete with metadata and album art

soundcloud-dl

Downloads

A small command-line program to download tracks from soundcloud.com You'll need to get an API key since there are rate limits on streams

Installation

Using Pip

  • Run pip install soundcloud_dl

From Source

  • Clone the repo or download the zip
  • Make sure you have pip installed
  • cd to the folder
  • pip install -r "requirements.txt"

Getting an API key

  • SoundCloud has stopped registering apps so the only way to get an API key is from the dev console Navigate to soundcloud.com and check for any XHR request params to find a client_id that can be used
  • Use sc-dl --set-api-key <CLIENT_ID> to set the API key

Usage

usage

Options

usage: sc-dl [-h] [-t | -n | -u [URL]] [--set-api-key SET_API_KEY] [-s]
            [-d DIR] [-a] [-l] [-e EXCLUDE [EXCLUDE ...]]
            [-i INCLUDE [INCLUDE ...]] [--limit LIMIT] [-r RANGE RANGE]
            [-g [GENRE]]

optional arguments:
  -h, --help            show this help message and exit
  -t, --top             Downloads the top 10 tracks across all genres
  -n, --new             Downloads 10 new tracks across all genres
  -u [URL], --url [URL]
                        URL to download tracks from. If this is a user's
                        profile, all uploads are fetched unless -a/--all or
                        -l/--likes are specified
  --set-api-key SET_API_KEY
                        sets the soundcloud API key
  -s, --similar         Downloads 10 tracks similar to the track in the URL
  -d DIR, --dir DIR     Directory to save tracks in. Defaults to current
                        working directory
  -a, --all             Download all tracks (Uploads and likes). Should be
                        used along with -u/--url with a user's profile URL
  -l, --likes           Download only liked tracks. Should be used along with
                        -u/--url with a user's profile URL
  -e EXCLUDE [EXCLUDE ...], --exclude EXCLUDE [EXCLUDE ...]
                        Enter track numbers to exclude.
  -i INCLUDE [INCLUDE ...], --include INCLUDE [INCLUDE ...]
                        Enter track numbers to include
  --limit LIMIT         Maximum number of tracks to download
  -r RANGE RANGE, --range RANGE RANGE
                        Enter range of tracks to download.
  -g [GENRE], --genre [GENRE]
                        use with --top to get top tracks from a specific genre
  • sc-dl can be used instead of soundcloud-dl
  • The -u/--url option can be a link to a user, a track or a user's playlists. If it's a user profile, all uploads are fetched unless --all or --likes options are specified
  • --top, --new and --url arguments are mutually exclusive
  • Adding the --include option overrides the --exclude option
  • Example : sc-dl https://soundcloud.com/aaasrith --dir D:\Music
  • Example : sc-dl https://soundcloud.com/aaasrith --dir D:\Music --exclude 1 2 3
  • Example : sc-dl https://soundcloud.com/aaasrith/closurewithaclause -s

Contributions

If you want to add features, improve them, or report issues, feel free to send a pull request!

More Repositories

1

WiktionaryParser

A Python Wiktionary Parser
Python
350
star
2

SoftwareOscilloscope

A software oscilloscope for Arduino made with Python and PyQtGraph
Python
119
star
3

wordbot

A Telegram dictionary bot written in Python
Python
50
star
4

LeapProjects

Experiments with the Leap Motion API for Python
Python
33
star
5

autoindex

A command line tool to automatically create a navigable index for e-books
Python
5
star
6

greenscreen

A tool for video meetings which adds a virtual webcam that blurs backgrounds
JavaScript
4
star
7

enjoyable-learning

A collection of resources on various topics that are not just thorough but also fun
3
star
8

twilio-audio-streaming

JavaScript
2
star
9

MCUProjects

Microcontroller projects
C
2
star
10

ActivityClassification

Final year B.Tech project on activity classification using a wrist worn wearable
Arduino
2
star
11

lumos-app

A react-native for the Lumos project
TypeScript
2
star
12

lumos

A Bluetooth Controlled LED Strip Project
C++
2
star
13

blog

JavaScript
1
star
14

nptel-dl

A small command-line program to download video lectures from nptel.ac.in
Python
1
star
15

Flask_Microblog

Microblog created with Flask. (Standard tutorial)
Python
1
star
16

aoc-2020

Solutions to Advent of Code 2020 in Rust
Rust
1
star
17

autoindex-site

Web app for the autoindex project
TypeScript
1
star
18

rust_exercism

Solutions to problems on the Rust track from Exercism
Rust
1
star
19

termscope

A command line tool that plots data from sockets/serial ports
Rust
1
star
20

weekly-clock

A beginner vanilla JS project that shows how long you (probably) have left to live in weeks
JavaScript
1
star