The output volume level is very weak when I play Roon through DietPi/Shairplay. Is there some sort of pre-amp level setting I’m missing?
I have RoonBridge installed on the same DietPi image, and when I play the same song through RoonBridge (at the same volume setting), it is much louder. (I’d rather just use RoonBridge, but I need Shairplay for grouped playback with other endpoints around the house.)
Hardware is a Raspberry Pi 3, wifi in, onboard 3.5mm audio out. DietPi soundcard setting: rpi-bcm2835 (tried both standard and forced 3.5mm). PSU noise reduction enabled in DietPi.
Is there any way to get a stronger output signal without purchasing an external sound card?
Thanks! It seems that alsamixer is only responding to RoonBridge and not to ShairPort Sync. ShairPort still adjusts the volume, but the changes are not reflected in alsamixer and are limited by the last alsamixer gain setting. So if I use RoonBridge and set the volume at, say -2.0dB, then I switch to ShairPort Sync, the maximum gain available to ShairPort is -2.0dB. (The alsamixer gain number never changes, just the sound output.) I will try uninstalling Roon, ShairPort, and ALSA, then reinstall ShairPort and ALSA to see what happens.
Even after uninstalling uninstalling Roon, ShairPort, and ALSA, then reinstalling ShairPort Sync (and with it ALSA), the problem is the same. The default volume for ALSA seems to be 85, or -0.38dB, so this becomes the absolute limit for ShairPort. Adjusting volume in Roon just sets the output in relation to this maximum and does not change alsamixer. The work-around, obviously is to just go into alsamixer and set it at 100, or about +4dB. However, it would be nice if ShairPort could control alsamixer directly, so DietPi could function as both a RAAT endpoint and an AirPlay device.
P.S. I looked to see if there was a “hardware volume control” setting in Roon for the ShairPort endpoint, but I didn’t see this as an option.
P.P.S I also tried AirPlay from my iPhone, and it works the same. Volume is limited to whatever alsamixer is set to, and the AirPlay volume doesn’t change alsamixer.
Uh-oh. I must have done something wrong. I copied and pasted the commands above into the DietPi command prompt & hit [Enter]. Now the shareport sync service isn’t working. I tried rebooting and restarting dietpi-services.
The “dietpi-services status” command gives this result:
DietPi-Services
─────────────────────────────────────────────────────
Mode: status
Please wait...
cron Active: active (running) since Wed 2017-07-12 15:47:56 UTC; 22s ago
avahi-daemon Active: active (running) since Wed 2017-07-12 15:47:56 UTC; 22s ago
shairport-sync Active: failed (Result: exit-code) since Wed 2017-07-12 15:47:56 UTC; 22s ago
I’m wondering if I should have changed the IP address in the shairport sync configuration file? Is 226.0.0.1 correct for a home network?
That did the trick! It works perfectly now, with both RoonBridge and Shairport Sync adjusting the volume in alsamixer. The max volume is the same through both. And so far, it is switching back and forth between the two with no trouble.
Thanks so much for your help on this! I’m on a very tight budget, but I did send a (very) small donation to the DietPi page as a way of saying thanks.
@Dan_Knight or anyone that can help. I was having this same issue on an allo boss (very low output with airplay) and attempted these instructions. Now I can seem to get airplay back working (it doesn’t show up in roon). This is what the shairport-sync.conf looks like:
general =
{
name = “%H”;
interpolation = “soxr”;
};