Skip to content

Multithreaded TIDAL Media Downloader Next Generation! Up to HiRes Lossless / TIDAL MAX 24-bit, 192 kHz.

License

Notifications You must be signed in to change notification settings

exislow/tidal-dl-ng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฐ TIDAL Downloader Next Generation! (tidal-dl-ng)

Release Build status Commit activity License

This tool allows to download songs and videos from TIDAL. Multithreaded and multi-chunked downloads are supported.

โš ๏ธ Windows Defender / Anti Virus software / web browser alerts, while you try to download the app binary: This is a false positive. Please read this issue, PyInstaller (used by this project) statement and the alternative installation solution. โš ๏ธ

A paid TIDAL plan is required! Audio quality varies up to HiRes Lossless / TIDAL MAX 24-bit, 192 kHz depending on the song available. You can use the command line or GUI version of this tool.

App Image

$ tidal-dl-ng --help

 Usage: tidal-dl-ng [OPTIONS] COMMAND [ARGS]...

โ•ญโ”€ Options โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ --version  -v                                                                โ”‚
โ”‚ --help     -h        Show this message and exit.                             โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญโ”€ Commands โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ cfg    Print or set an option. If no arguments are given, all options will   โ”‚
โ”‚        be listed. If only one argument is given, the value will be printed   โ”‚
โ”‚        for this option. To set a value for an option simply pass the value   โ”‚
โ”‚        as the second argument                                                โ”‚
โ”‚ dl                                                                           โ”‚
โ”‚ dl_fav Download from a favorites collection.                                 โ”‚
โ”‚ gui                                                                          โ”‚
โ”‚ login                                                                        โ”‚
โ”‚ logout                                                                       โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

If you like this projects and want to support it, feel free to buy me a coffee ๐Ÿ™ƒโœŒ๏ธ

Buy Me A Coffee 61e11d430afb112ea33c3aa5_Button-1-p-500

๐Ÿ’ป Installation / Upgrade

Requirements: Python == 3.12 (other versions might work but are not tested!)

pip install --upgrade tidal-dl-ng
# If you like to have the GUI as well use this command instead
pip install --upgrade tidal-dl-ng[gui]

โŒจ๏ธ Usage

You can use the command line (CLI) version to download media by URL:

tidal-dl-ng dl https://tidal.com/browse/track/46755209
# OR
tdn dl https://tidal.com/browse/track/46755209

Or by your favorites collections:

tidal-dl-ng dl_fav tracks
tidal-dl-ng dl_fav artists
tidal-dl-ng dl_fav albums
tidal-dl-ng dl_fav videos

You can also use the GUI:

tidal-dl-ng-gui
# OR
tdng
# OR
tidal-dl-ng gui

If you like to have the GUI version only as a binary, have a look at the release page and download the correct version for your platform.

๐Ÿง Features

  • Download tracks, videos, albums, playlists, your favorites etc.
  • Multithreaded and multi-chunked downloads
  • Metadata for songs
  • Adjustable audio and video download quality.
  • FLAC extraction from MP4 containers
  • Lyrics and album art / cover download
  • Creates playlist files
  • Can symlink tracks instead of having several copies, if added to different playlist

โ–ถ๏ธ Getting started with development

๐Ÿšฐ Install dependencies

Clone this repository and install the dependencies:

poetry install --all-extras --with dev,docs

The main entry points are:

tidal_ng_dl/cli.py
tidal_ng_dl/gui.py

๐Ÿ“บ GUI Builder

The GUI is build with PySide6 using the Qt Designer:

PYSIDE_DESIGNER_PLUGINS=tidal_dl_ng/ui pyside6-designer

After all changes are saved you need to translate the Qt Designer *.ui file into Python code, for instance:

pyside6-uic tidal_dl_ng/ui/main.ui -o tidal_dl_ng/ui/main.py

This needs to be done for each created / modified *.ui file accordingly.

๐Ÿ— Build the project

To build the project use this command:

make install
# OR
make gui-macos

See the Makefile for all available build commands.

The CI/CD pipeline will be triggered when you open a pull request, merge to main, or when you create a new release.

To finalize the set-up for publishing to PyPi or Artifactory, see here. For activating the automatic documentation with MkDocs, see here. To enable the code coverage reports, see here.

โ€ผ๏ธ Disclaimer

  • For educational purposes only. I am not liable and responsible for any damage that happens.
  • You should not use this method to distribute or pirate music.
  • It may be illegal to use this app in your country.

๐Ÿซ‚ Contributors

Thanks to all, who have contributed to this project!

This project is based on: