A scriptable music downloader for Qobuz, Tidal, SoundCloud, and Deezer
Find a file
2021-04-14 11:54:29 -07:00
.github/workflows Delete python-publish2.yml 2021-03-29 18:10:50 -07:00
demo Update interactive search demo image 2021-04-05 21:16:02 -07:00
streamrip Support for qobuz interpreter urls for artists 2021-04-14 11:21:38 -07:00
.flake8 initial commit 2021-03-22 09:21:27 -07:00
.gitignore Update .gitignore 2021-04-12 11:55:29 -07:00
.isort.cfg initial commit 2021-03-22 09:21:27 -07:00
LICENSE initial commit 2021-03-22 09:21:27 -07:00
README.md update README 2021-04-14 11:54:29 -07:00
requirements.txt last.fm working 2021-04-09 16:20:03 -07:00
setup.py Bump version 2021-04-12 17:22:09 -07:00

streamrip

A scriptable stream downloader for Qobuz, Tidal, Deezer and SoundCloud.

Attention

The Deezloader server is currently down. This means Deezer downloads are currently not working. Stay posted for updates.

Features

  • Super fast, as it utilizes concurrent downloads and conversion
  • Downloads tracks, albums, playlists, discographies, and labels from Qobuz, Tidal, Deezer, and SoundCloud
  • Automatically converts files to a preferred format
  • Has a database that stores the downloaded tracks' IDs so that repeats are avoided
  • Easy to customize with the config file

Installation

First, ensure pip is installed. Then run the following in the command line:

macOS/Linux:

pip3 install streamrip simple-term-menu --upgrade

Windows:

pip3 install streamrip windows-curses --upgrade

If you would like to use streamrip's conversion capabilities, or download music from SoundCloud, install ffmpeg.

Example Usage

For Tidal and Qobuz, you NEED a premium subscription.

Download an album from Qobuz

rip -u https://open.qobuz.com/album/0060253780968

Streamrip downloading an album

Download the album and convert it to mp3

rip --convert mp3 -u https://open.qobuz.com/album/0060253780968

To set the quality, use the --quality option to 0, 1, 2, 3, 4:

Quality ID Audio Quality Available Sources
0 128 kbps MP3 or AAC Deezer, Tidal, SoundCloud (most of the time)
1 320 kbps MP3 or AAC Deezer, Tidal, Qobuz, SoundCloud (rarely)
2 16 bit, 44.1 kHz (CD) Deezer, Tidal, Qobuz, SoundCloud (rarely)
3 24 bit, ≤ 96 kHz Tidal (MQA), Qobuz, SoundCloud (rarely)
4 24 bit, ≤ 192 kHz Qobuz
rip --quality 3 https://tidal.com/browse/album/147569387

Search for albums matching lil uzi vert on SoundCloud

rip search -s soundcloud 'lil uzi vert'

streamrip interactive search

Search for Rumours on Tidal, download it, convert it to ALAC

rip -c alac search 'fleetwood mac rumours'

Qobuz discographies can be filtered using the filter subcommand

rip filter --repeats --features 'https://open.qobuz.com/artist/22195'

Want to find some new music? Use the discover command (only on Qobuz)

rip discover --list 'best-sellers'

Avaiable options for --list:

  • most-streamed
  • recent-releases
  • best-sellers
  • press-awards
  • ideal-discography
  • editor-picks
  • most-featured
  • qobuzissims
  • new-releases
  • new-releases-full
  • harmonia-mundi
  • universal-classic
  • universal-jazz
  • universal-jeunesse
  • universal-chanson

Troubleshooting

If you're having issues with the tool, try the following:

  • Consult the help pages and their example commands.
    rip --help
    
    rip filter --help
    
    rip search --help
    
    rip discover --help
    
    rip config --help
    
    rip lastfm --help
    
  • Update streamrip with by running pip3 install streamrip --upgrade
  • Reset the config file with rip config --reset

If none of the above work, open an issue.

Contributions

All contributions are appreciated! You can help out the project by opening an issue or by submitting code.

Guidelines for opening issues

  • Include a general description of the feature request or bug in the title
  • Limit each Issue to a single subject
  • For bug reports, include the traceback, command (including the url) you used, and version of streamrip

Contributing code

If you're new to Git, follow these steps to open your first Pull Request (PR):

  • Fork this repository
  • Clone the new repository
  • Commit your changes
  • Open a pull request to the dev branch

Please document any functions or obscure lines of code.

Acknowledgements

Thanks to Vitiko98, Sorrow446, and DashLt for their contributions to this project, and the previous projects that made this one possible.

streamrip was inspired by:

Disclaimer

I will not be responsible for how you use streamrip. By using streamrip, you agree to the terms and conditions of the Qobuz, Tidal, and Deezer APIs.