Skip to content
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

volume control #71

Open
Lkzky opened this issue Dec 20, 2023 · 13 comments
Open

volume control #71

Lkzky opened this issue Dec 20, 2023 · 13 comments

Comments

@Lkzky
Copy link

Lkzky commented Dec 20, 2023

not really a big issue for me, because my DAC has a volume control.
Is it possible to get Tidal App volume control working for a USB DAC?

@GioF71
Copy link
Owner

GioF71 commented Dec 20, 2023

Hello, as far as I know, it's not possible to control the volume of the Tidal Connect endpoint from the applications.
I just tried with android and windows app and these are my observations unfortunately.

However, a tool like alsamixer can regulate the volume. Not ideal, I know.

You might already know that the app is closed source and there is no room for modifications.
If you want to be able to control the volume e.g. from your mobile phone, you might want to use BubbleUpnp.
On the Pi, you would need to create a stack composed of mpd and upmpdcli (I have images for both): example stack here.

If you only use the hi-fi plus, with upmpdcli you can also create a media server (to be used with any upnp control point), but if you need/want to play the new flac hires, you need a supported app like e.g. BubbleUpnp which directly supports Tidal.

Let me know if this helps.

Cheers

@GioF71
Copy link
Owner

GioF71 commented Dec 21, 2023

Hello, I recently acquired a WiiM Pro, and I have tried its Tidal Connect functionality.
Even using the WiiM as a Tidal Connect device (an official implementation of Tidal Connect I would say), I cannot change the volume from the Tidal App.

Of course instead I can change the volume from the WiiM app itself, using its own Tidal functionality.
Also, I can change the volume using BubbleUpnp and the WiiM as a UPnP renderer.

About the Tidal Connect functionality, with the WiiM I can stream up to 24bit/192kHz, something that is not possible with the Tidal Connect application available with the docker image we are using in this project.

With the mediation of BubbleUpnp, there are no particular issues streaming up to 24/192 on the WiiM and also to a mpd+upmpdcli combination as mentioned in the previous reply.

Hope this helps.

@GioF71
Copy link
Owner

GioF71 commented Jan 6, 2024

Hello, do you have any feedback about this issue?

@Lkzky
Copy link
Author

Lkzky commented Jan 18, 2024

I have used a Wiim Mini and was perfectly able to change system volume straight from the tidal app. But it was painfully slow in comparison to my Pi Setup.
Still looking for possiblities to make Hi Res work though. BubbleUpnp is a nightmare in my mind. Last time i checked it was basically the worst experience overall.
I seriously consider using the Wiim Mini again...

@GioF71
Copy link
Owner

GioF71 commented Jan 18, 2024

I don't have a tidal subscription running, but when (and if) I reactivate it, I will check the volume control again. Maybe there have been updates.

About hires, there is hope, but not for this specific Tidal Connect implementation: see this post
When this is implemented (new ticket here), two things will probably happen:

  1. Mopidy plugin for Tidal (same author or contributor I believe) will be probably updated for hires support
  2. I will try and update my upmpdcli plugin for hires support

For the latter case, you will still need an UPnP control point like BubbleUpnp, but you will also be able to use the upmpdcli plugin in LMS (via external libraries) if you don't like BubbleUpnp and similar applications.

UPnP control points tend to be complicated apps but overall some of them are great, especially BubbleUpnp (THE best IMO).
My advice is to give BubbleUpnp another shot, maybe get rid (hide) some unused renderers and libraries, which can clutter the interface.

@GioF71
Copy link
Owner

GioF71 commented Jan 25, 2024

Hello, I restarted my tidal subscription (hifi only) and just tested the WiiM Pro, and yes the volume control actually works either from the windows app and the Android App.
Previously I only tried the Android app but I was using the volume keys of the phone, which obviously don't act on tidal connect device volume. I just had not noticed that slider in the screen that lets you choose the output device.

@GioF71
Copy link
Owner

GioF71 commented Jan 25, 2024

Hello again, I took a look a this page.
With the latest changes to my repository (I updated it today), I have been able to setup software volume.

The asound.conf file I put in the userconfig directory:

pcm.tidal-d10 {
  type plug
  slave.pcm {
    type hw
    card 1
    device 0
    format S32_LE
  }
}

pcm.tidal-d10-softvol {
    type            softvol
    slave {
        pcm         "tidal-d10"
    }
    control {
        name        "Master"
        card        0
    }
}

The .env file:

FRIENDLY_NAME=Kodi Living Pi4 D10
MQA_PASSTHROUGH=false
MQA_CODEC=false
FORCE_PLAYBACK_DEVICE=tidal-d10-softvol

and yes, I get volume control working on both the Tidal android app and the Windows app.
This configuration is for my Topping D10 DAC, but probably you can adapt it to your device.
I assume that in the case of MQA, a 100% volume will be required. But I couldn't test it.

@Lkzky
Copy link
Author

Lkzky commented Jan 26, 2024

Thank you, i will check this weekend and report back.

@GioF71
Copy link
Owner

GioF71 commented Jan 26, 2024

Ok good.
I have added sample configurations in the userconfig folder for my topping d10, with and without softvol, those might be helpful I hope.

@dashzg
Copy link

dashzg commented Jan 31, 2024

Hi, I managed to make the volume control work in Tidal Connect on Volumio, by using custom asound.conf for the usb dac.
However, I have a question - is it possible to change the mixer channel on dac for the volume control? No matter what i tried within this custom asounc.conf, Tidal Connect keeps controlling the 1st, Master mixer channel.
Now, in most cases that's fine, since most cards put the Master mixer channel 1st, but on one usb dac I have, the first mixer channel doesn't do anything, I'd need to address the second or the third.
The same goes for hifiberry-dacplus or similar DAC hats, where the first channel is Analogue volume - a volume boost, not a volume control. Instead of that one, Tidal Connect should use mixer channel named "Digital". So far, I haven't been able to address this, however my knowledge is sparse. Maybe this is out of reach?

And thank you a lot for this Tidal docker installation, it helped a lot!

@GioF71
Copy link
Owner

GioF71 commented Jan 31, 2024

Hello, thank you for the kind words.
About your question, I also tried doing something similar. If you read the alsa article I mention, there is a situation where the solution works but relies on the fact that the downstream application can be instructed to use a specific volume control, and that happens when a mixer named "Master" already exists. You can check this with

amixer controls | grep Master

On one of the devices I tried, I am exactly in this situation, and I couldn't create an asound.conf file that would make Tidal Connect use a different mixer device. But maybe some real alsa expert might help us :-)

@GioF71
Copy link
Owner

GioF71 commented Feb 24, 2024

Hello @Lkzky, see the latest changes. If possibly, the entrypoint script will try to setup software volume automatically.
Cheers

@GioF71
Copy link
Owner

GioF71 commented Apr 10, 2024

Hello @Lkzky, can we close this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants