Soundcloud-syncer is a tool to synchronize soundcloud user’s favorites and tracks locally.
- Python 3.x
- stagger (for id3 tag support)
- pydub (for mp3 conversion)
- python-dateutil
- python-magic
To run tests you need some packages:
- tox
- mock
- nose
- pep8
- coverage (optional)
The recommended way to install soundcloud-syncer is from Pypi.
pip install soundcloud-syncer
sc-syncer --help
git clone https://github.com/Sliim/soundcloud-syncer.git
cd soundcloud-syncer
scripts/sc-syncer --help
- Download user’s likes:
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY
- Download user’s tracks:
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -t
- Download user’s playlists:
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -p
- You can download tracks recursively:
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -t -r
- To set offset and limit for tracks list:
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -L LIMIT -O OFFSET
/!\ Limit can’t be greater than 200.
You can ignore some tracks you don’t want to sync locally.
To do this create a file in OUTPUT_DIRECTORY named .ignore
.
Each track in this file will be ignored.
- Example:
To ignore https://soundcloud.com/trapmusic/vexed-goodbye-by-j-nitrous add in .ignore
file:
trapmusic/vexed-goodbye-by-j-nitrous
soundcloud-syncer support id3 tag from version 0.2.
It writes ID3 tag after each downloaded mp3 file. You can disable this feature with --without-tag
option:
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY --without-tag
You can re-write mp3 tag with sc-tagger
tool. This tool expect a file or directory as first argument.
File’s name format must be “{id}-{permalink}.mp3” to be tagged. Track ID is necessary to retrieve data from soundcloud’s API.
- for a file, it will write id3 tag if it’s a mp3 file.
sc-tagger /path/to/1337-file.mp3
You can specify track ID for a single file:
sc-tagger /path/to/file.mp3 --id 1337
- for a directory,
sc-tagger
find all mp3 file and tags them (–id option is not supported).
sc-tagger /path/to/directory/
It may be useful to update tracks downloaded with soundcloud-syncer 0.1!
You can convert non-mp3 files with `–convert` option. This feature requires pydub package that depends to `ffmpeg` or `avconv`. See pydub’s readme for more informations.
To convert non-mp3 files after each download:
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY --convert
This will create a backup directory at `OUTPUT_DIRECTORY/backups/` where will be placed original files before conversion, nothing is deleted.
- Download user’s favorites / likes tracks list.
- Download user’s tracks list.
- Download user’s playlists.
- Possibility to set offset and limit for tracks list.
- Auto find client_id when not passed to sync script.
- Possibility to ignore some tracks to sync.
- Recursive download.
- ID3 Tag support.
- MP3 conversion.
See COPYING file