Hello all, I just started using balena sound and have a couple questions about increasing performance. Theres seems to be an inescapable 2-3 second lag on all audio outputs. I am using a hifi berry Dac Plus if that matters. Secondly before trying this software I was using Raspotify which seemed to be way more responsive than Librespot, and I believe it is still being actively worked on. Is there a way to replace librespot?
Hi @HorseManJerry, welcome to the community! I can’t speak much to the 2-3 second lag but there is a section in the troubleshooting page talking about this a bit: https://sound.balenalabs.io/docs/support#troubleshooting . With regards to Raspotify versus librespot, if you look at the raspotify source its actually just a wrapper around librespot, see https://github.com/dtcooper/raspotify/blob/master/build.sh#L29 . So my guess would be that any preformance differences there would either be that on balena sound there are a number of other services running on the pi that might be using resources or that the defaults on raspotify are slightly different from those in balena-sound, so it might be possible to tweak the settings on balena-sound to get the same as you have with vanilla raspotify.
There is a 2-second delay imposed by AirPlay, which is part of the AirPlay protocol and can’t be changed. It’s there to handle network issues without affecting playback. I haven’t used Spotify, so I’m not sure about that one. But I suspect it’s the same story as AirPlay. Bluetooth has some latency, but I’m not sure how much. No idea what uPnP is like.
There are other sources of latency, however, and it’s mostly inside the pulseaudio portion of the application. Steps have been taken to minimize that latency. But it’s a trade-off between low latency and sonic issues caused by device resource utilization and network glitches.
Overall, the latency is a non-issue, if you are only listening to audio. It’s just a bit odd sometimes, when you change volume or hit pause and it doesn’t happen right away. However, it does render the system difficult to utilize for the audio of video playback. You would need a substantial latency setting on the video device to shore up 2+ seconds.