AirPlay volume limited to Volumio UI volume setting

Problem:
Playback volume with AirPlay is limited to the volume setting in the Volumio Web UI.

Example:
If the volume is set to 25% in the Volumio Web UI, music playback with AirPlay will not go louder than 25%, even if the volume is set to maximum on the AirPlay device.

Expected correct behaviour:
I think the correct behaviour should be that the volume setting of the AirPlay device is independent of the Web UI setting.

This bug is a problem if I listened using Volumio Web UI and left the volume at a very low setting (say 5% or so). My kids will then not be able to set the volume high enough for their purposes from their iPods via AirPlay. They would have to fuss around with a web browser to change the volume in the Web UI, which is not an option (for various reasons).

This issue has already been reported a while back, but it seems nothing has changed since then (see https://volumio.org/forum/#p25133).

1 Like

No one?

I have the same issue.

This is a feature which I would really like to see. I really like Volumio but this issue lowers the usability quite a bit.

It would be just so much more convenient if a volume change on the iPhone / iPad would result in a direct change of the volume in Volumio. This behaviour works already with the Spotify Connect plugin. I do not want to change two different volume levels in two different locations.

Can this be implemented or is there someone who could tell me how to change the shairport-sync config file in order to make it work? I use the HifiBerry DAC+ Pro. I guess shairport-sync itself already supports this feature. The shairport-sync.config file has the following part:

alsa =
{
  output_device = "hw:0,5";
  mixer_device = "hw:0";
  mixer_control_name = "PCM";
  // ... other alsa settings
};

Could this be somehow modified to make it work? I have no idea how to find out the correct names for mixer_device and mixer_contorl_name. How can I find out those settings which I guess are already somewhere made inside Volumio?

Another option would be that the Volumio volume is automatically set to a certain value when activating Airplay and after it’s deactivated it would revert to the original Volume.

It’s been a while since this thread got a bump. I’m hitting this issue nightly now. Would love to see this as a feature.

1 Like

going to the volumio settings and turning on “MPD Clients Volume Control” solved this problem for me.
Airplay is still not changing the volume in the volumio UI, but it seems i can now crank up the volume to whatever i want using airplay.

Are there still no news on this issue here?

Hello fdei, I tried your proposed solution but it did not work for me. Does this still work on your setup?

I’m still challenged by this issue, makes airplay far less useful.

1 Like

I found a way to modify the shairport-sync.conf to make it work. Thanks to @ph265701 for the right inspiration.

  1. Volumio creates a shairport-sync.conf file in /tmp/.
    I assume that this gets updated or deleted regularly. To avoid this I copied the file into /etc/. Maybe someone here has a better solution?

  2. I updated the service description in /lib/systemd/system/shairport-sync.service to the new /etc/ path accordingly:

[Service]
ExecStart=/usr/local/bin/shairport-sync --configfile=/etc/shairport-sync.conf

  1. I changed the alsa parameters in /etc/shairport-sync.conf according to my needs (I have a digiamp+ and use the stereo2mono plugin). You need to adjust output_device, mixer_device and mixer_control_name. Using alsamixer, aplay -l or aplay -L in the terminal can help you identifying the correct parameters:

alsa =
{
output_device = “plughw:Loopback,0”;
mixer_device = “hw:0”;
mixer_control_name = “Digital”;
};

  1. Restart the shairport service:

sudo systemctl restart shairport-sync

Naturally, this does not visually update the volume in the web frontend but that is just a cosmetic issue for me.

I’m faced with the same issue but struggle to identify proper ALSA settings.
I’m running a Hifiberry AMP2 attached to an RPi Zero (GPIOs not USB).
I tried all configurations I found in this forum, but none of them works for me.
Is there a config for my setup found somewhere?
If not, how may I identify proper settings? Is there a guideline available?

For completeness and maybe it is usefull for others:
My system (RPI Zero + Hifiberry AMP 2) provides 2 ALSA cards and control devices:

volumio@volumio:~$ ls -ls /dev/snd/
total 0
0 drwxr-xr-x 2 root root       80 Jan 17 16:23 by-path
0 crw-rw---- 1 root audio 116,  0 Jan 17 16:23 controlC0
0 crw-rw---- 1 root audio 116, 32 Jan 17 16:23 controlC1
0 crw-rw---- 1 root audio 116, 16 Jan 17 16:23 pcmC0D0p
0 crw-rw---- 1 root audio 116, 48 Jan 17 16:23 pcmC1D0p
0 crw-rw---- 1 root audio 116,  1 Jan 17 16:23 seq
0 crw-rw---- 1 root audio 116, 33 Jan 17 16:23 timer

I used alsamixer via F6 to identify what is what:

lqqqqqqqq Sound Card qqqqqqqqk
x-  (default)                x
x0  bcm2835 HDMI 1           x
x1  snd_rpi_hifiberry_dacplusx
x   enter device name...     x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

So in my case card 1 is the one to chosse.
Last but not least the volume control/mixer is labelled “Digital”.
This leads to the following sairplay config:

{
  output_device = "hw:1,0";
  mixer_device = "hw:1";
  mixer_control_name = "Digital";
};

To persist I applied it the following file:
/volumio/app/plugins/music_service/airplay_emulation/shairport-sync.conf.tmpl