-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MQA, HIFI Playback #33
Comments
Hey @bikebandit101 Yes, the dev branch contains some experiments that I did while testing pull request #27 on Python 3. This pull request adds support for MQA / master quality playback in addition to other improvements. However, I have not merged it, as it is currently not working correctly with Python 3 and it requires an unsupported fork of the tidalapi with OAuth login support. To answer your question, I would very much like to add support for MQA, but since it requires a different login method (OAuth), this feature would have to be added to the python-tidal/tidalAPI module first, before MQA support can be added to mopidy-tidal. I think a lot of inspiration can be taken from #27 and the forks by the PR auther, as theygives an idea of the changes required for both mopidy-tidal (this plugin) and the fork of python-tidal / tidalapi: If the above changes can be made into a pull request that can be merged into the python-tidal module, then we can finally have both MQA and OAuth support in python-tidal. Most of the legwork has already been done by @quodrum-glas I do not have a MQA subscription to test with at this point. If you have a subscription, you may be able to help by testing it, when more progress is made. :) |
Hey @tehkillerbee , |
The ability to test with MQA is definitely necessary, for sure. But I think the main issue is still the OAuth login. So that need to be fixed as the first thing. Your DAC project look very interesting. I would be glad to test a board. Since my main occupation is an EE, I do have the equipment to assemble it. I assume you collaborate with Ian Canada? |
Sure, I will send you a board and BOM when I get it done. I didnt really collaborate with Ian Canada rather brought his parts. By training I am R&D engineer in Med Device. |
I doubt that reaching out to Tidal would give us any more information. But there are a couple of instructions listed here: https://github.com/tidal-engineering/passport-tidal. There is also a discussion here regarding getting API access MusicPlayerDaemon/MPD#545 In any case, the tidalAPI has been reverse engineered by DerNuntius and others (see https://github.com/Fokka-Engineering/TIDAL/wiki for more information). I would probably look at https://github.com/Fokka-Engineering/TIDAL/wiki/auth-token for more information about the auth process and see if a similar approach can be implemented for the python-tidal plugin. |
FYI, the tidalapi has been updated with OAuth support in the latest 0.6.8 version. This makes it relatively straightforward to add support for High res playback. However, changes are needed in both tidalapi and this plugin to make it possible. |
Hey @tehkillerbee I saw your post sorry I have gotten back sooner, I moved back home and got new job. Needless to say things have been crazy. I saw all the back forth about the update. Looks promising. Let me know if there is something you need to do for help. Thanks, |
I use mopidy-tidal myself and really like it. I'm currently thinking about implementing the libopenTIDAL C library into a mopidy-tidal fork. A libopenTIDAL python wrapper (for a discord bot) is already in use so it's just a matter of rewriting tidal related calls in mopidy-tidal. MQA reverse engineering is complex and difficult. Only binary blobs and shared libraries are currently capable of decoding/unfolding MQA flacs. I've looked at a couple of implementations, one in java and the other in C++. There is a TIDAL Connect server binary with all the certificates and MQA decoding but understanding disassembled code of an decoder is not an easy task. This is an example of the bluesound shared library: https://code.videolan.org/mansr/mqa |
@DerNuntius Your suggestion about implementing a libopenTIDAL wrapper sounds like a very a good idea. This will also make the mopidy-tidal plugin less dependent on the python-tidal project, that is not always updated frequently. Also, I should clarify my earlier messages, as I have been confusing MQA and HIFI quality naming used by Tidal. While HIFI support has previously been added to a fork of mopidy-tidal as previously mentioned, MQA support has definitely not been available up to this point. HIFI quality is relatively easy to add support for, as far as I understand, but MQA is difficult and not something I have looked much into. I will probably start looking into HIFI support as the first thing. |
hi, I have MQA master subscription to tidal and I'd be very pleased to test anything you'd need. |
Hey Tehkillerbee,
Looking the the master and dev fork seems like you & your team(?) are working on getting access for MQA track into Mopidy? Is there anything you need to help this endeavor along? I have very limited programming skills, but if there is something you need to help you, please let me know. This feature would be really great. Thank you for maintaining this Git
Kyle
The text was updated successfully, but these errors were encountered: