Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Sliim/soundcloud-syncer
Synchronize user's favorites tracks from soundcloud
https://github.com/Sliim/soundcloud-syncer
music python soundcloud soundcloud-music-downloader
Last synced: 27 days ago
JSON representation
Synchronize user's favorites tracks from soundcloud
- Host: GitHub
- URL: https://github.com/Sliim/soundcloud-syncer
- Owner: Sliim
- License: gpl-3.0
- Created: 2013-02-27T00:37:18.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2017-04-20T18:49:03.000Z (over 7 years ago)
- Last Synced: 2024-11-22T00:53:07.689Z (about 1 month ago)
- Topics: music, python, soundcloud, soundcloud-music-downloader
- Language: Python
- Homepage:
- Size: 455 KB
- Stars: 36
- Watchers: 4
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.org
- Changelog: CHANGELOG.org
- License: COPYING
Awesome Lists containing this project
README
* Soundcloud Syncer | [[https://pypi.python.org/pypi/soundcloud-syncer][https://img.shields.io/pypi/v/soundcloud-syncer.svg]] [[http://travis-ci.org/Sliim/soundcloud-syncer][http://secure.travis-ci.org/Sliim/soundcloud-syncer.png?branch=master]]
Soundcloud-syncer is a tool to synchronize soundcloud user's favorites and tracks locally.
** Requirements
*** Python version
- Python 3.x
*** Packages dependencies
- stagger (for id3 tag support)
- pydub (for mp3 conversion)
- python-dateutil
- python-magicTo run tests you need some packages:
+ tox
+ mock
+ nose
+ pep8
+ coverage (optional)
** Installation
The recommended way to install soundcloud-syncer is from Pypi.
*** Pypi
#+BEGIN_SRC shell
pip install soundcloud-syncer
sc-syncer --help
#+END_SRC
*** Github
#+BEGIN_SRC shell
git clone https://github.com/Sliim/soundcloud-syncer.git
cd soundcloud-syncer
scripts/sc-syncer --help
#+END_SRC
** Basic usage
- Download user's likes:
#+BEGIN_SRC shell
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY
#+END_SRC- Download user's tracks:
#+BEGIN_SRC shell
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -t
#+END_SRC- Download user's playlists:
#+BEGIN_SRC shell
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -p
#+END_SRC- You can download tracks recursively:
#+BEGIN_SRC shell
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -t -r
#+END_SRC- To set offset and limit for tracks list:
#+BEGIN_SRC shell
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY -L LIMIT -O OFFSET
#+END_SRC
*/!\ Limit can't be greater than 200.*** Ignoring tracks
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:
#+BEGIN_SRC txt
trapmusic/vexed-goodbye-by-j-nitrous
#+END_SRC
** Tag support
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:
#+BEGIN_SRC shell
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY --without-tag
#+END_SRCYou 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.
#+BEGIN_SRC shell
sc-tagger /path/to/1337-file.mp3
#+END_SRC
You can specify track ID for a single file:
#+BEGIN_SRC shell
sc-tagger /path/to/file.mp3 --id 1337
#+END_SRC
- for a directory, ~sc-tagger~ find all mp3 file and tags them (--id option is not supported).
#+BEGIN_SRC shell
sc-tagger /path/to/directory/
#+END_SRCIt may be useful to update tracks downloaded with soundcloud-syncer 0.1!
** MP3 conversion
You can convert non-mp3 files with `--convert` option.
This feature requires [[https://pypi.python.org/pypi/pydub][pydub]] package that depends to `ffmpeg` or `avconv`. See pydub's readme for more informations.To convert non-mp3 files after each download:
#+BEGIN_SRC shell
sc-syncer -u USER_TO_SYNC -o OUTPUT_DIRECTORY --convert
#+END_SRCThis will create a backup directory at `OUTPUT_DIRECTORY/backups/` where will be placed original files before conversion, nothing is deleted.
** Features
- 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.
** License
See COPYING file