Easy to use music downloader and tagger for Tidal. For educational use only, and may break in the future. You still need a Tidal account, but you can just use the free trial month.
RedSea is a music downloader and tagger for the Tidal music streaming service. It is designed partially as a Tidal API example. This repository also hosts a wildly incomplete Python Tidal
API implementation - it is contained in config/tidal_api.py and only requires requests to be
installed.
- Python 3.6
- requests
- mutagen
- pycrypto
- opencv
- Run
pip install -r requirements.txtto install dependencies - Run
python redsea.py -hto view the help file - Run
python redsea.py urlsto download lossless files from urls
- Run
pipenv install --threeto install dependencies in a virtual env using Pipenv - Run
pipenv run python redsea.py -hto view the help file - Run
pipenv run python redsea.py urlsto download lossless files from urls
usage: redsea.py [-h] [-id IDENTIFIANT -pwd PASSWORD] [-p PRESET] [-o DIR] [-a ACCOUNT] [-s] urls [urls ...]
A music downloader for Tidal.
positional arguments:
urls The URLs to download. You may need to wrap the URLs in
double quotes if you have issues downloading.
optional arguments:
-h, --help show this help message and exit
-p PRESET, --preset PRESET
Select a download preset. Defaults to Lossless only.
See /config/settings.py for presets
-id IDENTIFIANT, --identifiant IDENTIFIANT
Pass the Tidal identifiant of your account. Must be use with -pwd.
-pwd PASSWORD, --password PASSWORD
Pass the Tidal password of your account. Must be use with -id.
-s, --skip Pass this flag to skip track and continue when a track
does not meet the requested quality
-o DIR, --outidr DIR
Set DIR as the outupt directory. By default it's the
same as redsea.py
-
Sometimes, tracks will be tagged with a useless version (for instance, "(album version)"), or have the same version twice "(album version)(album version)". This is because tracks in Tidal are not consistent in terms of metadata - sometimes a version may be included in the track title, included in the version field, or both.
-
Tracks may be tagged with an inaccurate release year; this may be because of Tidal only having the "rerelease" or "remastered" version but showing it as the original.
-
Downloading an artist URL actually downloads the content of "best tracks".
default: FLAC 44.1k / 16bit only
best_available: Download the highest available quality (MQA > FLAC > 320 > 96)
mqa_flac: Accept both MQA 24bit and FLAC 16bit
MQA: Only allow FLAC 44.1k / 24bit (includes 'folded' 96k content)
FLAC: FLAC 44.1k / 16bit only
320: AAC ~320 VBR only
96: AAC ~96 VBR only
keep_cover_jpg: Whether to keep the cover.jpg file in the album directory
embed_album_art: Whether to embed album art or not into the file.
save_album_json: save the album metadata as a json file
tries: How many times to attempt to get a valid stream URL.
path: Base download directory
Format variables are {title}, {artist}, {album}, {tracknumber}.
track_format: How tracks are formatted. The relevant extension is appended to the end.
album_format: Base album directory - tracks and cover art are stored here. May have slashes in it, for instance {artist}/{album}.