strawberrymusicplayer / strawberry

:strawberry: Strawberry Music Player
https://www.strawberrymusicplayer.org/
GNU General Public License v3.0
2.7k stars 188 forks source link

Tidal no Masters #285

Closed olo81 closed 4 years ago

olo81 commented 4 years ago

Music in high technology is not used, its parameters are reduced to the use of 16bit

the problem appears on ubuntu, I don't know how it is on other systems

Zrzut ekranu z 2019-10-28 18-57-23 Zrzut ekranu z 2019-10-28 18-57-34

jonaski commented 4 years ago

It will only work with FLAC, because Tidal Masters uses a proprietary format (MQA), we can't support it. Also, the Tidal support in Strawberry is not official, so we don't have any API documentation or official access to the API. I've updated the README to reflect it. The alternative is to remove Tidal support entirely. Tidal won't give us official access, I've asked. https://github.com/jonaski/strawberry/commit/76c6f7e733b7228bd719ad203b26a3fe9634f118

RomanHargrave commented 4 years ago

@jonaski while I personally don't put much stock in to things such as MQA, I don't believe Strawberry needs to do anything special to support it. When you request MQA data from TIDAL, you will get a listenable FLAC file that has additional data encoded outside of audible range which is mean to be decoded by specialised hardware. If you want to request these files, just use the HIGH_RES quality instead of LOSSLESS. If you request a track that is not available in MQA this way, you will still get plain old FLAC. In order to do this, though, you will need a supported client ID. Android allows this.

jonaski commented 4 years ago

We already have the HI_RES option in the setting. I don't think it works though. Even though it probably can be decoded like a FLAC, it's sent differently, and I don't think gstreamer would recognize the stream. In that case we would need to write a gstreamer plugin for it, I'm not really interested in doing that, since it's a lossy and closed format. I have no API documentation, no information about MQA, and I don't even have a subscription to Tidal now, so not worth the time. But if anyone else want to fix it, their welcome. There is some info on reddit here: https://www.reddit.com/r/audiophile/comments/8itd0z/mqa_vs_plain_old_flac/

RomanHargrave commented 4 years ago

Even though it probably can be decoded like a FLAC, it's sent differently

What client ID were you using? TIDAL sends vastly different responses based on the client ID, I've noticed.

jonaski commented 4 years ago

I used the token1 one listed here: https://gist.github.com/artworked/3003fa0183b464a0b0d2ca2e77afe477 I didn't try MQA though. But your probably right, they need to use a token that has MQA support. Maybe they can try the audirvana one and see what happens.