Skip to main content

A fast, all-in-one music ripper for Qobuz, Deezer, Tidal, and SoundCloud

Project description

streamrip logo

Downloads Code style: black

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

downloading an album

Features

  • Fast, concurrent downloads powered by aiohttp
  • Downloads tracks, albums, playlists, discographies, and labels from Qobuz, Tidal, Deezer, and SoundCloud
  • Supports downloads of Spotify and Apple Music playlists through last.fm
  • Automatically converts files to a preferred format
  • Has a database that stores the downloaded tracks' IDs so that repeats are avoided
  • Concurrency and rate limiting
  • Interactive search for all sources
  • Highly customizable through the config file
  • Integration with youtube-dl

Installation

First, ensure Python (version 3.10 or greater) and pip are installed. Then install ffmpeg. You may choose not to install this, but some functionality will be limited.

pip3 install streamrip --upgrade

When you type

rip

it should show the main help page. If you have no idea what these mean, or are having other issues installing, check out the detailed installation instructions.

Streamrip beta

If you want to get access to the latest and greatest features without waiting for a new release, install from the dev branch with the following command

pip3 install git+https://github.com/nathom/streamrip.git@dev

Example Usage

For Tidal and Qobuz, you NEED a premium subscription.

Download an album from Qobuz

rip url https://www.qobuz.com/us-en/album/rumours-fleetwood-mac/0603497941032

Download multiple albums from Qobuz

rip url https://www.qobuz.com/us-en/album/back-in-black-ac-dc/0886444889841 https://www.qobuz.com/us-en/album/blue-train-john-coltrane/0060253764852

Download the album and convert it to mp3

rip url --codec mp3 https://open.qobuz.com/album/0060253780968

To set the maximum quality, use the --max-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 url --quality 3 https://tidal.com/browse/album/147569387

Using 4 is generally a waste of space. It is impossible for humans to perceive the between sampling rates higher than 44.1 kHz. It may be useful if you're processing/slowing down the audio.

Search for albums matching lil uzi vert on SoundCloud

rip search tidal playlist 'rap'

streamrip interactive search

Search for Rumours on Tidal, and download it

rip search tidal album 'fleetwood mac rumours'

Download a last.fm playlist using the lastfm command

rip lastfm https://www.last.fm/user/nathan3895/playlists/12126195

For more customization, see the config file

rip config open

If you're confused about anything, see the help pages. The main help pages can be accessed by typing rip by itself in the command line. The help pages for each command can be accessed with the -help flag. For example, to see the help page for the url command, type

rip url --help

example_help_page.png

Other information

For more in-depth information about streamrip, see the help pages and the wiki.

Contributions

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

Issues

If you're opening an issue use the Feature Request or Bug Report templates properly. This ensures that I have all of the information necessary to debug the issue. If you do not follow the templates, I will silently close the issue and you'll have to deal with it yourself.

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.

The Wiki

To help out streamrip users that may be having trouble, consider contributing some information to the wiki. Nothing is too obvious and everything is appreciated.

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.

Sponsorship

Consider becoming a Github sponsor for me if you enjoy my open source software.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamrip-2.0.5.tar.gz (71.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamrip-2.0.5-py3-none-any.whl (87.6 kB view details)

Uploaded Python 3

File details

Details for the file streamrip-2.0.5.tar.gz.

File metadata

  • Download URL: streamrip-2.0.5.tar.gz
  • Upload date:
  • Size: 71.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

File hashes

Hashes for streamrip-2.0.5.tar.gz
Algorithm Hash digest
SHA256 6eb6c75eda786b473fb060747d9afe516374e741e06632675e5c181e5c68e7ae
MD5 24b76adbd7c117141d97e36df7a3e881
BLAKE2b-256 e1dc25ad09d8bcd9864eb78cc681c4f40d0a8d07069aa5672566af08f4b12308

See more details on using hashes here.

File details

Details for the file streamrip-2.0.5-py3-none-any.whl.

File metadata

  • Download URL: streamrip-2.0.5-py3-none-any.whl
  • Upload date:
  • Size: 87.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1018-azure

File hashes

Hashes for streamrip-2.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 808ef8310e1d54f6d2e899c5b0f10e244dd31c238a77c54f918e8da93ab08198
MD5 6698f760b3e84f5c0ddb6ee7afaaccfe
BLAKE2b-256 794c9912282dea3b83549b856f69301798ea5c90bcbb3f2a319883909d4c2cba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page