nathom / streamrip

A scriptable music downloader for Qobuz, Tidal, SoundCloud, and Deezer
GNU General Public License v3.0
2.34k stars 209 forks source link

[BUG] A 24 bits 44.1khz album is falsely recognized as 16 bits on Tidal #691

Open CXwudi opened 1 month ago

CXwudi commented 1 month ago

Describe the bug

https://listen.tidal.com/album/340171505 is an album with 24 bits precisions. However, streamrip download it into 16 bits even if I specify --quality 3

Command Used

rip -vvv --quality 3 -ndb url https://listen.tidal.com/album/340171505

Debug Traceback

streamrip log.txt

Config File

I didn't touch the config file (although I know its presence)

Operating System

Debian 12

streamrip version

2.0.4

Screenshots and recordings

No response

Additional context

Interesting that the debug log shows that tracks are in 16 bits, but on the website it clearly shows 24 bits. image

mortalis13 commented 1 month ago

My suggestions to track down the problem: try without quality in parameters but set it in the config, in [tidal] section (and download just 1 track for easier reading) try downloading some other random tracks you know are 24bit download using the lastest code

Then check if the Tidal API tells you about the quality of those tracks and if there's a difference between them (seems you can use your credentials to try the API directly in the browser)

As I checked the code, it sends correctly the quality specified, "HI_RES" but Tidal responds with "LOSSLESS". Or it's all Tidal can offer, or the quality name has changed, as in the metadata I see "HIRES_LOSSLESS". Don't know their API definitions so can't help with that.

CXwudi commented 1 month ago

I will investigate when I have time, so far I think this is related: https://github.com/yaronzz/Tidal-Media-Downloader/issues/1161

Also is there a guidance how to setup a dev env for streamrip, I wanna run streamrip from source code

mortalis13 commented 1 month ago

I think on the wiki you have some info. And in the readme you have an example of how to install from dev branch, if you need just the tool from the latest code. If you need to run it with python, I used poetry for that as it reads the pyproject.toml. Don't know if you're familiar with it, but it's basically poetry install, poetry run rip to run the tool locally.

mortalis13 commented 1 month ago

Don't know what is MQA from that ticket. But maybe it's some limitation/misconfiguration of the Tidal API itself, of the API endpoints used in these tools...