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.txt
to install dependencies - Run
python redsea.py -h
to view the help file - Run
python redsea.py urls
to download lossless files from urls
- Run
pipenv install --three
to install dependencies in a virtual env using Pipenv - Run
pipenv run python redsea.py -h
to view the help file - Run
pipenv run python redsea.py urls
to 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}.