-
Notifications
You must be signed in to change notification settings - Fork 4
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
[Question] Does this support Tidal Master MQA / FLAC through BubbleUPnP ? #368
Comments
What I Basically want to achieve is tidal connect like connection : Any help how I can achieve this ? |
Hello, with BubbleUpnp you will be able to play hires flac (so up to 24/192) to upmpdcli (renderer mode). In this case, there is no need that the dac is MQA enabled because there won't be any mqa unfolding happening. About Tidal Connect, if you mean my repository which uses this docker image, yes it should support MQA, will execute the first unfolding and a MQA enabled DAC will do the rest. You can also avoid the unfolding at the software level an leave it entirely to the DAC. About curl errors in Tidal Connect, yes it has been reported in the past by other users. It seems to be related to DNS issues. I use PiHole with unbound on my network and this issue has never occurred to me. Edit: typos |
I hope this was clear enough. If you chose a solution, I can help you configure mpd-alsa-docker, upmpdcli-docker and/or tidal-connect. I consider mpd/upmpdcli/bubbleupnp a more reliable setup though. |
@GioF71 First of All... I want to Thank you soooo much for your response ! You are sooooo prompt ! You are absolutely amazing !
The signals sent to the DAC will be digital I presume ? I specifically want to use the USB input of the DAC.
Volume is definitely one of the problem. But not being able to fast forward the track is actually more cumbersome.
Personally, I don't think its a DNS issue. The issue is with mismatched headers because at the start of playing the file, the file starts playing. In case of DNS, that would not have been the case. It is particularly happening when you fast forward the song to a different time point (not skip the song). The error is related to file header with which states that there is a mismatch in file length. |
I think I'll go by your suggestion for mpd/upmdcli/bubbleupnp. Just a few clarifications here :
|
Ok I tried to install -> https://github.com/shawaj/HiTide directly on my pi (non docker). I was able to make it work and even the volume in the app seems to work(after changing a few settings and the certificate) (Tidal App) not Android Volume. But the track gets stuck if you fast forward or rewind it (mid song). Seems that this is related to the 'curl' issue. The volume started working once I added : maybe libcurl version can be updated ? If curl can somehow be fixed, I would go by the Tidal Connect method, mainly as I think it would use less phone battery compared to BubbleUPnP since decoding would be done at rPi level and not phone level. |
Wow, many thanks for the kind words!
Yes, the stream which travels on the network is always digital, the conversion to analog only happens inside the DAC.
Understood, is there a way for replicating the issue?
Well you might be right... I might not have done a lot of fast forward in the same song, I will try. But I currently have a hi-fi plan (so limited to 16/44) |
Yes
BubbleUPnP in fact does not support MQA audio. It can transport MQA-encoded flac fies as they are, leaving the decoding to the DAC. But BubbleUPnP now support Hires flac, so flac files up to 24/192, without MQA encoding. See here for the announcement from the developer. Considering that MQA is phasing out (albeit slowly) I believe the way to go in the medium-long term is to adopt a solution that support full hires flac.
It's totally possible, even advisable. In the player device, you can run upmpdcli in renderer mode with mpd. |
The problem with that image is that it is that it is stuck with an old version of raspbian. If you take a look at the dockerfile here you will see that a specific version of curl is downloaded and installed manually instead of relying on apt-get install. The binaries are old (you might know how they were sourced), for sure the original author has updated his/her application over time, but we don't have access to a newer version. The version we have now might stop working at any time, that's why I believe using BubbleUPnP is a more reliable solution. |
I guess just fast forward the song (by clicking on the song progress bar) which is MQA/Flac (it also occurs in some of the songs of 16/44 but very rarely)
I absolutely agree, but its not the same function as tidal connect since the song is being served by the phone which eats up the phone battery. Also no MQA (at least till its replaced completely). I am hoping spotify launches FLAC which they have been 'announcing' since 2021 soon. Till then, I think I'll go by your suggestion for mpd/upmdcli/bubbleupnp. So, can you help me get the sample configuration for upmdcli & mpd only for tidal connect & dlna rendering? |
Sure, please post the output of
and
and I will try to provide some info
I might be imprecise here, but openhome is a superset of upnp. The most obvious difference is that with OpenHome, the playlist resides in the player, while for UPnP it resides on the control point |
In the meantime you can have a look at this other repository. Cheers |
Output of
So I noticed that you need to combine the docker compose; what I was doing was that I was running the 2 dockers separately with |
Well it's not strictly needed. The upmpdcli instance can also be on another machine, but I don't see many reasons for doing so. The upmpdcli instance would be indefinitely trying to connect to the mpd when the player machine is off. I suppose you want to use the "Speaker" card. Which model of dac is it, just for information? |
As per the simplest configuration, I would create a
or
a little more adventurous but should work. Fall back to the index if it doesn't, if that happens, we can investigate. and start it with
The second command would pull the images anyway if they are not available locally. Do you have local music on that device, or it is just going to be a pure renderer? |
I agree making it into a single docker compose would be better.
Yes. Its a Chinese speaker that I am testing. It has a built in DAC and AMP.
I'm planning to make this as a pure renderer and the music can be put on a different device which can act as a server. (Another instance of upmpdcli or LMS or .... (open to suggestions) .. Thank you sooooo much once again ! I'll test everything and post back in a few days ! |
As a media server, there are many options. You can use Minidlna but it's kind of old and limited now... I use it for temporary small folders, downloads, etc. Edit: typos |
If you want to use Logitech Media Server, it would be better to also use SqueezeLite as the player. I have a container image for that here |
Hi ! Now, coming to mpd/upmpdcli, I am getting the following error :
Any idea how to solve this ? Thanks once again ! Using your docker-compose.yaml mostly with some environment variables changed. (hw:0 set) |
Hello, the log indicates failure in connecting to mpd. But it might be transitory. IIRC it doesn't say when it manages to connect to mpd after a failure.
|
Please post your .env file as well |
It finally works ! my .env file:
Docker Compose ENV:
Btw, I ran your docker on a pi (using pi as a renderer to output bit perfect to the DAC) and connected it to a pair of LS50W for testing.... The results are OMG Amazing !! I will now start saving money to buy a pair ! 😄 Once again many many thanks! |
Glad it's working for you and even more that you like the results. |
Starred BOTH your repos ! |
Many thanks!
Uhm, from what I see, volume_normalization is independent from replaygain. Pay attention to the fact that it only works for 16 bit PCM:
Replay Gain on the other hand requires that the appropriate tags are set in the files you play, see here |
Just to let you know mysqueezbox.com servers are shutting off. This may impact Tidal / Deezer Users as they would not be able to install plugins. Also, I noticed, that in the current setup which is Bubble-Upnp -> upmpdcli -> MPD, the mpd player actually streams off from the Bubble-Upnp device. What server do you recommend so that the Renderer can directly stream from server and bubble-upnp can act only as the control ? Here are the options :
This can work for local files, but I would prefer something which can index the files too.
Does not work with Bubble-UPnp. (Didn't test it, but its not mentioned in the list of compatible apps in NaviDrome site). Also no tidal I think ?
No Tidal option Basically what a want to achieve is
Another method could be -> I think I misunderstood, the refresh token will automatically get another token when the first one has expired so I wont need to set this up again ? Do you think Bubble Upnp Server has tidal ? (From what I know it only converts renderer to OpenHome format which we dont need since upmpdcli is already doing it.) |
Yes that's really unfortunate. A few days ago I saw that QR code on the tidal plugin. We'll see how the community will react.
Well, it depends.
As an alternative, if, instead of BubbleUpnp, you use upmpdcli as a media server with its Tidal and Qobuz plugins, and you won't need BubbleUPnPé server. You just need a OpenHome renderer (done by upmpdcli with OPENHOME or BOTH, or done with BubbleUpnp, does not matter).
But it will index the files and provide views by author, genre, etc. Just like MinimServer, maybe a little less sophisticated but quite good actually.
Yes it does, Upmpdcli has a plugin for Subsonic and Navidrome exposes a Subsonic API.
Like Navidrome, Lightweight Media Server will host your own files, it has nothing to do with streaming services.
You can. With these plugins, MPD will directly stream from Tidal, Navidrome, etc. With Tidal we currently have a limitation to max 24/48 but there is hope we can support 24/192. However it will never be supported by Tidal and that is why BubbleUpnp + BubbleUPnP server is currently the best solution IMO. Not open source of course, but still...
Why would you need to change the token every week? I am running my tidal plugin in upmpdcli and never had to change the token.
Yes, you won't need to bother with this. The process of getting the credentials is one-time. Of course, until Tidal changes something, but that is out of our control. Again a reason to consider the BubbleUPnP + BubbleUPnP server option: I believe the author has support from Tidal and thus the solution is much more future proof.
Think of BubbleUPnP Server as a companion for BubbleUPnP, it solved all the issues related to the fact that a phone can discharge, go in standby mode, etc... I hope this answers your questions! Edit: a few corrections/integrations |
P.S.: about bubbleupnpserver and openhome renderer: yes, upmpdcli can create openhome renderers on its own. But BubbleUPnP server is useful is when you want to use BubbleUPnP as a control point. The BubbleUPnP server takes all the requests from the BubbleUPnP app and then 'talks' to the renderer, feeing the phone from any burden (to stay on, alive, connected). But for this to work, the mandatory thing is that the OpenHome renderer is created through BubbleUPnP server. |
Hello, a preview of the Tidal HiRes functionality is here |
@GioF71 |
Hope you get soon better! Let me know what you think |
Hello @gb-123-git, did you try this? |
@GioF71 - Hi ! I am back today. Will test this over the coming weekend! :) |
Is your feature request related to a problem? Please describe.
Just a question : Does this support Tidal Master MQA / FLAC through BubbleUPnP ? If not BubbleUPnP then maybe through mconnect Player Lite? I am asking about full decoding like Tidal connect docker and not MQA passthough.
Describe the solution you'd like
Proper Tidal Streaming solution like Tidal-Connect Docker used to work.
Describe alternatives you've considered
Tidal-Connect Docker - But this one has 2 problems :
The text was updated successfully, but these errors were encountered: