yaronzz / Tidal-Media-Downloader

Download 'TIDAL' Music On Windows/Linux/MacOs (PYTHON/C#)
http://doc.yaronzz.com/post/tidal_dl_installation/
Apache License 2.0
3.27k stars 464 forks source link

[BUG]: Only 48/24 with Master subscription #881

Closed bombjack76 closed 2 years ago

bombjack76 commented 2 years ago

Which tool

Tidal Gui Tidal-DL

Version

Tidal GUI: 1.2.10 Tidal-DL: 2022.3.4.2

Platform

Windows (Tidal Gui and Tidal-DL) Windows WSL with Ubuntu 20.4 LTS (Tidal-DL)

Settings

Tidal-DL settings: AccessToken set to 1 FireTV Master only Also tried with Android Token from my Smartphone AudioQuality.Master

Tidal GUI settings: Master AccessToken refreshed while playing a MQA file on Tidal Desktop App

Player

Windows SW Player Audirvana (supports MQA Playback) DAP Hiby R2 (supports MQA Playback)

Describe the bug

Downloads only 44kHz/24bit files with Tidal HIFI Plus subscription. Even if Tidal Downloader says it downloads MQA the Output file is 48kHz 24bit .

Tested with Supertramp - Crime of the Century (192kHz /Remastered) true 192kHz/24bit record. https://listen.tidal.com/album/77676939 Both Player (Audirvana and DAP) play only 48/24.

Screenshots

Download from Tidal-DL Screenshot 2022-03-19 195359

Output Audirvana played from Download Screenshot 2022-03-19 195442

Output from mutagen-inspect for the downloaded file Screenshot 2022-03-19 210612

When streamed with Audirvana or Hiby from Tidal both player recognize and encrypt the MQA correct with 192kHz/24bit

Output Audirvana streamed by Tidal Screenshot 2022-03-19 195819

kur0tenh commented 2 years ago

This might have something to do with the particular access token you have configured. I've been playing with this program a little bit and I've found some interesting stuff and I have some theories.

I've been using this program via termux on a Walkman NW-A105 which supports MQA decoding but as far as I know sony's implementation is unclear, I suspected the prescence of an Xmos chip from some pictures of the internal components of this "DAP" which could mean that this Android Walkman can fully decode MQA but there's literally no documentation of it at all, maybe tearing it appart would give me a clear answer on that but I wont do it.

I've also used Tidal's app on Windows with an ifi Zen Dac v2 and I realized a long while ago that if you don't set "Passthrough MQA" Tidal will either serve you the files with 2 unfolds and stream them to the Zen dac to do the last one. I've realized that because the same songs on android with the Zen dac connected will show up with higher levels of MQA since there's no way to enable nor disable Passthrough MQA with a toggle since on android seems to do it according to the USB device that is connected.

Using this program first of all I realized that all songs are .flac and not .mqa.flac or even .mqacd.mqa.flac and are recognized as mere .flac files by the Walkman, but when you provide a proper .mqa.flac file the Walkman app treats it as an MQA file, and also changing the file extension does not work.

Why all of that matters?

Because when I connected the Zen Dac to the Walkman, the Zen Dac showed the same behavior as the Windows Tidal App without the Passthrough MQA option. Which means the Zen Dac recognized the files were proper MQA files contained into a .flac file but just had to do the last unfold.

Maybe is because of the nature of the program and the nature of how Tidal actually serves files.

My first theory is that Tidal serves the files according to the capabilities reported by the devices at any given moment, so it is possible that it assigns an access token to serve files pre-rendered (with 2 unfolds) when is just a standalone Android, windows or MacOS device, and it probably would assign a different access token that serves totally unrendered MQA files in order to offload the decoding to the external DAC that supports the full decoding.

Which might make sense since doing the first two unfolds on the device would probably cost more processing power and have an impact on battery life and overall user experience.

My second theory is probably wrong but that's because I haven't really had a deep dive in the source code of this program, and probably there are more parameters that have to be included in the program in order to select real mqa.flac files with no pre-rendering and that's why it defaults to 44kHz/24bit.

I would test the first theory on the Walkman, I will erase every bit of data from the android app and log in again an play a song with the Zen Dac connected and see what results I get with the access token that I find.

I'll be back with info later

bombjack76 commented 2 years ago

Hi and thx for your answer. I tried several ways using different Api keys but nothing seems to help. Ive used the api Key from my android device where MQA is enabled. Ive tried the basic Api key with Firetv set up. Ive tried with Audirvana and Tidal with first unfolding on PC on or off.

You are right that MQA unfolding depends if your hardware is a Renderer or a full Decoder. (Have no digged deep enough into the whole story) Afaik my Hiby is a full decoder but still 48/24.

It seems that ffmpeg from Tidal-DL converts ALLWAYS MQA files to 48/24 no Matter what the source of the MQA is! So there must be the Problem @ Tidal-DL. Dunno if its because of the API key thing and we only have no valid API Key for the FireTV login. Or as i said its because FFMPEG is converting wrong! Maybe some one else can write here who can Download higher than 48/24!

regendier commented 2 years ago

HI Guys, i do this use tidal-dl as anyone does download flac 44.1or 48 use audirvana to play the mqa (flac) files send them to Your Zen Dac and the Zen Dac will unfold them up to 192 khz.The light will turn purple , green is flac. But there is a small issue here,You need to rename Your Flac filles and example .'' Latto - Sunshine (feat. Lil Wayne & Childish Gambino)(Explicit)'' rename to '' Latto - Sunshine (feat. Lil Wayne & Childish Gambino)(Explicit).mqa'' Then Your Zen Dac will recognize the mqa because the encoder is absent for .mqa this is the old encoder from tidal Encoder: reference libFLAC 1.3.2 20170101 work as mqa without renaming the file the new encoder needs to rename to .mqa Encoder: Mutagen 1.45.1

Maybe i am wrong but i rename my files so You got stages off unfolding Audirvana 1 stage and second stage ( a Dac for rendering MQA, like Zen Dac)

On Fri, Mar 25, 2022 at 10:50 AM bombjack76 @.***> wrote:

Hi and thx for your answer. I tried several ways using different Api keys but nothing seems to help. Ive used the api Key from android where MQA is enabled. Ive tried the basic Api key with Firetv set up. Ive tried with Audirvana and Tidal with first unfolding on PC on or off.

You are right that MQA unfolding depends if your hardware is a Renderer or a full Decoder. (Have no digged deep enough into the whole story) Afaik my Hiby is a full decoder but still 48/24.

It seems that ffmpeg from Tidal-DL converts ALLWAYS MQA files to 48/24 no Matter what the source of the MQA is! So there must be the Problem @ Tidal-DL. Dunno if its because of the API key thing and we only have no valid API Key for the FireTV login. Or as i said its because FFMPEG is converting wrong! Maybe some one else can write here who can Download higher than 48/24!

— Reply to this email directly, view it on GitHub https://github.com/yaronzz/Tidal-Media-Downloader/issues/881#issuecomment-1078840450, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJ2LHW7IJQBK367NK5CWNK3VBWD6DANCNFSM5RELWDWA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

bombjack76 commented 2 years ago

so you rename the files to mysong.mqa.flac ?

Edit: I tried to rename the file to mysong.mqa.flac.....

loaded to my hiby DAP the DAP shows the MQA sign but still plays it only 48/24. I have a test MQA file with 352.8/24 if i play this one from my DAP the DAP shows bitperfect 352.8/24

So please can you tell me which Tidal-DL version do you use with which API Key and Access Token?

kur0tenh commented 2 years ago

I made some tests again. I realized that the Access token has the same effect as before even using the Zen Dac V2, I'm not sure but I even suspect that the Access token was the same when I got it again since it looked kind of similar, but I didn't compare.

I found an interesting behavior tho, but it has to do with the same stuff I mentioned before. When using the windows app, or using UAPP on android and even playing a file downloaded via tidal-dl the zen dac v2 shows the exact same colors on every single one while Tidal's Android App actually showed magenta on a vast majority of songs which according to the Zen Dac's user manual is "original sample rate" or "MQB" whatever that means.

image

So... according to previous answers here it is most likely an encoder matter, maybe the windows app, UAPP and tidal-dl use the same encoder and there's a different one used by Tidal's own app.

Even when renaming, I still can't get magenta on the songs Tidal's android app does but that just might be a thing with my setup, especially when using Walkman's player app.

There's also the posibility that tidal-dl is working alright and Tidal doesn't even serve files above 48/24 at all, and all the magic is a matter of presentation to the zen dac which would make sense since Tidal has bandwidth savings as a selling point and it relies on the apparent claim that CD quality MQA would be superior to normal FLAC cd quality even when playing through non MQA dacs due to harmonic mumbo jumbo that they always mention since at the end color coding on the Zen Dac is just mere authentication.... right?

For me is till an issue since even when adding .mqa before .flac on name songs strings doesn't make the walkman treat the files as MQA, at least at the end, since sony's implementation of MQA is a mystery i don't know how to proceed with this but may not be an issue with tidal-dl i guess.

EDIT/Update: Adding more craziness to the weirdness of FLAC MQA files, I discovered that this particular song is recognized as 96/24 by UAPP in android but 48/24 on the Walkman even though shows up blue on the Zen Dac and purple using Tidal's android app on it. Who's right? this tool also shows the song as 96/24 but I'm not sure about anything anymore

regendier commented 2 years ago

you rename the song open audirvana and send it to and MQA Dac for me the Zen Dac color is purple for an MQA, flac is green color (you need to stages for unfolding Audirvana and a MQA Dac)

On Fri, Mar 25, 2022 at 6:44 PM kur0tenh @.***> wrote:

I made some tests again. I realized that the Access token has the same effect as before even using the Zen Dac V2, I'm not sure but I even suspect that the Access token was the same when I got it again since it looked kind of similar, but I didn't compare.

I found an interesting behavior tho, but it has to do with the same stuff I mentioned before. When using the windows app, or using UAPP on android and even playing a file downloaded via tidal-dl the zen dac v2 shows the exact same colors on every single one while Tidal's Android App actually showed magenta on a vast majority of songs which according to the Zen Dac's user manual is "original sample rate" or "MQB" whatever that means.

[image: image] https://user-images.githubusercontent.com/7119526/160169667-c614105b-c91f-4de5-8987-fa39c2baf5a3.png

So... according to previous answers here it is most likely an encoder matter, maybe the windows app, UAPP and tidal-dl use the same encoder and there's a different one used by Tidal's own app.

Even when renaming, I still can't get magenta on the songs Tidal's android app does but that just might be a thing with my setup, especially when using Walkman's player app.

There's also the posibility that tidal-dl is working alright and Tidal doesn't even serve files above 48/24 at all, and all the magic is a matter of presentation to the zen dac which would make sense since Tidal has bandwidth savings as a selling point and it relies on the apparent claim that CD quality MQA would be superior to normal FLAC cd quality even when playing through non MQA dacs due to harmonic mumbo jumbo that they always mention since at the end color coding on the Zen Dac is just mere authentication.... right?

For me is till an issue since even when adding .mqa before .flac on name songs strings doesn't make the walkman treat the files as MQA, at least at the end, since sony's implementation of MQA is a mystery i don't know how to proceed with this but may not be an issue with tidal-dl i guess.

— Reply to this email directly, view it on GitHub https://github.com/yaronzz/Tidal-Media-Downloader/issues/881#issuecomment-1079258969, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJ2LHW7YAL4ZPG5ARKSKAE3VBX3QTANCNFSM5RELWDWA . You are receiving this because you commented.Message ID: @.***>

kur0tenh commented 2 years ago

you rename the song open audirvana and send it to and MQA Dac for me the Zen Dac color is purple for an MQA, flac is green color (you need to stages for unfolding Audirvana and a MQA Dac) On Fri, Mar 25, 2022 at 6:44 PM kur0tenh @.> wrote: I made some tests again. I realized that the Access token has the same effect as before even using the Zen Dac V2, I'm not sure but I even suspect that the Access token was the same when I got it again since it looked kind of similar, but I didn't compare. I found an interesting behavior tho, but it has to do with the same stuff I mentioned before. When using the windows app, or using UAPP on android and even playing a file downloaded via tidal-dl the zen dac v2 shows the exact same colors on every single one while Tidal's Android App actually showed magenta on a vast majority of songs which according to the Zen Dac's user manual is "original sample rate" or "MQB" whatever that means. [image: image] https://user-images.githubusercontent.com/7119526/160169667-c614105b-c91f-4de5-8987-fa39c2baf5a3.png So... according to previous answers here it is most likely an encoder matter, maybe the windows app, UAPP and tidal-dl use the same encoder and there's a different one used by Tidal's own app. Even when renaming, I still can't get magenta on the songs Tidal's android app does but that just might be a thing with my setup, especially when using Walkman's player app. There's also the posibility that tidal-dl is working alright and Tidal doesn't even serve files above 48/24 at all, and all the magic is a matter of presentation to the zen dac which would make sense since Tidal has bandwidth savings as a selling point and it relies on the apparent claim that CD quality MQA would be superior to normal FLAC cd quality even when playing through non MQA dacs due to harmonic mumbo jumbo that they always mention since at the end color coding on the Zen Dac is just mere authentication.... right? For me is till an issue since even when adding .mqa before .flac on name songs strings doesn't make the walkman treat the files as MQA, at least at the end, since sony's implementation of MQA is a mystery i don't know how to proceed with this but may not be an issue with tidal-dl i guess. — Reply to this email directly, view it on GitHub <#881 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJ2LHW7YAL4ZPG5ARKSKAE3VBX3QTANCNFSM5RELWDWA . You are receiving this because you commented.Message ID: @.>

Yeah, Actually you're completely right, I've been reading a lot about MQA recently. Seems that according to spec, 48/24 is the maximum an MQA .flac file would be, so the tool is indeed working properly even considering the stages of unfolding, there are some things to have in mind since there are not many programs that can really make the first two unfolds from the files and that's actually that generated a lot of confusion when I was fiddling around with the walkman and the windows app.

For my particular use case, it seems that the walkman I have is indeed a full decoder, but the walkman app has a not common implementation for taking advantage of the actual hardware since MQA being on a .flac container doesn't make use of any of the actual .flac capabilities because it can advertise to hardware as MQA just by the waveform of it. The walkman in the other hand makes use of classic metadata found on the .flac container to be able to detect MQA .flac files as MQA on the android walkman player, and that's why the walkman is detecting the files as FLAC instead of MQA as shown:

image image

Also for MQA there's technically no such thing as bitrate but just sampling rate since most apps that can make unfolding just give an approximate to represent the bit and sampling rate because if you were able to measure them would give you non standard rates like 17 bits or even 26 by how the proprietary and undisclosed psycho acoustics behave when fully decoding MQA. That may be why most Audiophiles do not believe on it on the first place since it introduces some things that are not really there on the original sample but make it sound better on most instances, kinda like how DSEE works for Sony.

The Walkman thing is probably not documented anywhere, but I would have yet to figure out which metadata would trigger MQA encoding for these files on it or if it's even possible to retrieve the full spectrum of metadata using tidal-dl, I would probably need to open a new issue on it.

That's what I've found at the end, technically we can probably close this issue since 48/24 is the spec for MQA files when playing through non MQA equipment.

github-actions[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity.