Skip to main content

Download Music from Souncloud

Project description

Soundcloud Music Downloader

Description

This script is able to download music from SoundCloud and set id3tag to the downloaded music. Compatible with Windows, OS X, Linux.

System requirements

  • python3
  • ffmpeg

Installation Instructions

https://github.com/flyingrub/scdl/wiki/Installation-Instruction

Configuration

There is a configuration file left in ~/.config/scdl/scdl.cfg

Examples:

# Download track & repost of the user QUANTA
scdl -l https://soundcloud.com/quanta-uk -a

# Download likes of the user Blastoyz
scdl -l https://soundcloud.com/kobiblastoyz -f

# Download one track
scdl -l https://soundcloud.com/jumpstreetpsy/low-extender

# Download one playlist
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship

# Download only new tracks from a playlist
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship --download-archive archive.txt -c

# Sync playlist
scdl -l https://soundcloud.com/pandadub/sets/the-lost-ship --sync archive.txt

# Download your likes (with authentification token)
scdl me -f

Options:

-h --help                       Show this screen
--version                       Show version
-l [url]                        URL can be track/playlist/user
-n [maxtracks]                  Download the n last tracks of a playlist according to the creation date
-s                              Download the stream of a user (token needed)
-a                              Download all tracks of user (including reposts)
-t                              Download all uploads of a user (no reposts)
-f                              Download all favorites of a user
-C                              Download all commented by a user
-p                              Download all playlists of a user
-r                              Download all reposts of user
-c                              Continue if a downloaded file already exists
--force-metadata                This will set metadata on already downloaded track
-o [offset]                     Begin with a custom offset
--addtimestamp                  Add track creation timestamp to filename,
                                which allows for chronological sorting
--addtofile                     Add artist to filename if missing
--debug                         Set log level to DEBUG
--download-archive [file]       Keep track of track IDs in an archive file,
                                and skip already-downloaded files
--error                         Set log level to ERROR
--extract-artist                Set artist tag from title instead of username
--hide-progress                 Hide the wget progress bar
--hidewarnings                  Hide Warnings. (use with precaution)
--max-size [max-size]           Skip tracks larger than size (k/m/g)
--min-size [min-size]           Skip tracks smaller than size (k/m/g)
--no-playlist-folder            Download playlist tracks into main directory,
                                instead of making a playlist subfolder
--onlymp3                       Download only the streamable mp3 file,
                                even if track has a Downloadable file
--path [path]                   Use a custom path for downloaded files
--remove                        Remove any files not downloaded from execution
--sync [file]	                Compare an archive file to a playlist and downloads/removes any changed tracks
--flac                          Convert original files to .flac
--no-album-tag                  On some player track get the same cover art if from the same album, this prevent it
--original-art                  Download original cover art
--original-name                 Do not change name of original file downloads
--no-original                   Do not download original file; only mp3 or m4a
--only-original                 Only download songs with original file available
--name-format [format]          Specify the downloaded file name format
--playlist-name-format [format] Specify the downloaded file name format, if it is being downloaded as part of a playlist
--client-id [id]                Specify the client_id to use
--auth-token [token]            Specify the auth token to use
--overwrite                     Overwrite file if it already exists
--strict-playlist               Abort playlist downloading if one track fails to download

Features

  • Automatically detect the type of link provided
  • Download all songs from a user
  • Download all songs and reposts from a user
  • Download all songs from one playlist
  • Download all songs from all playlists from a user
  • Download all songs from a user's favorites
  • Download only new tracks from a list (playlist, favorites, etc.)
  • Sync Playlist
  • Set the tags with mutagen (Title / Artist / Album / Artwork)
  • Create playlist files when downloading a playlist

License

GPL v2, original author flyingrub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scdl-2.7.11.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

scdl-2.7.11-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

Details for the file scdl-2.7.11.tar.gz.

File metadata

  • Download URL: scdl-2.7.11.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for scdl-2.7.11.tar.gz
Algorithm Hash digest
SHA256 998afd9f79042428be8bc938f3ff9802942888c9137bb776b799889c123951b2
MD5 107475ebaa29f2a6672539d1c307e0f5
BLAKE2b-256 9bf17844ffc040cc73d990f9af0c9decc386c09c22e73d4d9a7d3b18597251f5

See more details on using hashes here.

File details

Details for the file scdl-2.7.11-py3-none-any.whl.

File metadata

  • Download URL: scdl-2.7.11-py3-none-any.whl
  • Upload date:
  • Size: 21.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.4

File hashes

Hashes for scdl-2.7.11-py3-none-any.whl
Algorithm Hash digest
SHA256 096c6c2cf56fff231d41622e309d9c96bf6a6a21c25b6f9b3be38a8eac0e4f0d
MD5 09034e3548f53558fc76d6d543ac872c
BLAKE2b-256 e4cf9c20cf7cb568eaf941ffc8affe1f53336f05d286df52a5b1d9f2dabc90b6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page