Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flyingrub/scdl
Soundcloud Music Downloader
https://github.com/flyingrub/scdl
downloader music python soundcloud soundcloud-music-downloader
Last synced: 3 months ago
JSON representation
Soundcloud Music Downloader
- Host: GitHub
- URL: https://github.com/flyingrub/scdl
- Owner: scdl-org
- License: gpl-2.0
- Created: 2014-10-02T19:37:42.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-18T15:57:11.000Z (3 months ago)
- Last Synced: 2024-08-18T17:22:00.637Z (3 months ago)
- Topics: downloader, music, python, soundcloud, soundcloud-music-downloader
- Language: Python
- Homepage:
- Size: 392 KB
- Stars: 3,253
- Watchers: 65
- Forks: 329
- Open Issues: 85
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
- best-of-web-python - GitHub - 22% open · ⏱️ 23.05.2024): (Third-party Web APIs)
- stars - flyingrub/scdl - Soundcloud Music Downloader (Python)
README
# Soundcloud Music Downloader
## DescriptionThis 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
-s [search_query] Search for a track/playlist/user and use the first result
-n [maxtracks] Download the n last tracks of a playlist according to the creation date
-a Download all tracks of user (including reposts)
-t Download all uploads of a user (no reposts)
-f Download all favorites (likes) of a user
-C Download all tracks commented on 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] Start downloading a playlist from the [offset]th track (starting with 1)
--addtimestamp Add track creation timestamp to filename,
which allows for chronological sorting
(Deprecated. Use --name-format instead.)
--addtofile Add artist to filename if missing
--debug Set log level to DEBUG
--error Set log level to ERROR
--download-archive [file] Keep track of track IDs in an archive file,
and skip already-downloaded files
--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 mp3 files
--path [path] Use a custom path for downloaded files
--remove Remove any files not downloaded from execution
--sync [file] Compares an archive file to a playlist and downloads/removes any changed tracks
--flac Convert original files to .flac. Only works if the original file is lossless quality
--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, not just 500x500 JPEG
--original-name Do not change name of original file downloads
--original-metadata Do not change metadata of original file downloads
--no-original Do not download original file; only mp3, m4a, or opus
--only-original Only download songs with original file available
--name-format [format] Specify the downloaded file name format. Use "-" to download to stdout
--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
--add-description Adds the description to a seperate txt file (can be read by some players)
--no-playlist Skip downloading playlists
--opus Prefer downloading opus streams over mp3 streams
```## 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