Hey @PluggedIn,
Good news first: moving to a rear HDMI input and disabling CEC resolved the worst symptoms. That confirms the diagnosis - front panel input and CEC negotiation loops were the primary culprits for the signal drops and the multi-second blackouts.
What you are experiencing now - the 1-2 second delay on first play after idle - is a different problem with a different cause, and you have diagnosed it correctly.
Here is what happens:
When you press Play after Volumio has been idle, MPD (the audio engine underneath Volumio) opens the ALSA device, the Pi begins transmitting audio over HDMI, and the Onkyo detects a new incoming audio stream. The receiver then performs format negotiation - it needs to determine channel count, sample rate, and bit depth before it will output anything. That negotiation window is your 1-2 second gap. When gapless playback transitions between tracks of the same format, MPD keeps the ALSA device open continuously, so the Onkyo never loses lock. That is why you only hear it on first play or after a pause.
Kodi solves this with exactly the feature you screenshotted - it keeps the audio device open and sends inaudible noise to prevent the receiver from dropping the connection. This is a well-understood solution that has existed in media players for years.
Volumio does not currently have this feature in its UI.
The underlying audio engine (MPD) does support it natively. MPD has a parameter called always_on which, when set to “yes” in the audio output configuration, keeps the ALSA device open even when playback is stopped and sends silence to the output. This would keep the HDMI audio link alive, and the Onkyo would never lose lock because it would continuously see a valid audio stream. The infrastructure is there. It just needs to be exposed.
This is not a new discovery. There is an open GitHub issue on the Volumio2 repository - issue #1668, titled “First couple of seconds of each track is always cut off with some DACs” - filed in December 2018. It describes exactly this behavior with SPDIF DACs, but the same mechanism applies to HDMI receivers. Your HDMI use case is arguably more common and affects a wider user base, since HDMI format negotiation is inherently slower than SPDIF lock acquisition.
The issue remains open. Since 2018. Which, in software years, makes it old enough to have started primary school, learned to read, written a letter asking when it will be fixed, and received no reply.
I will bring this to the attention of the backend developers. Again. I have raised it before. The good news is that the fix is well-defined - MPD already supports the parameter, Kodi has demonstrated the UX pattern, and the implementation is not architecturally complex. The bad news is that “well-defined, not complex, and previously raised” describes approximately 40% of my open items list, and the other 60% are things that were well-defined, not complex, previously raised, and then became complex because nobody touched them for long enough that three dependencies changed underneath.
In the meantime, there is no user-facing workaround I can recommend that would survive Volumio updates cleanly. Manual MPD config edits get overwritten by Volumio’s template system on every update, which makes them a maintenance treadmill rather than a solution.
So the honest answer is: you are right, this needs code, and I will push for it.
Kind Regards,