100 lines
4.5 KiB
Markdown
Executable File
100 lines
4.5 KiB
Markdown
Executable File
# 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
|
|
|
|
## 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
|
|
|
|
# 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
|
|
--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
|
|
```
|
|
|
|
|
|
## 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.)
|
|
* Set the tags with mutagen (Title / Artist / Album / Artwork)
|
|
* Create playlist files when downloading a playlist
|
|
|
|
|
|
## License
|
|
|
|
[GPL v2](https://www.gnu.org/licenses/gpl-2.0.txt), original author [flyingrub](https://github.com/flyingrub)
|