Reply To: Multiroom system and player instabilities

6. Juli 2021 at 11:35 #51414

Hi Mario,

it would be possible that I’ve stabilized the multiroom architecture – more than 24 hours without interruptions or audio stops and all the players are perfectly in sync.

After some researches (like https://www.alsa-project.org/wiki/FramesPeriods) and following you suggestions, I understood that the problem was on ALSA buffer that got empty since it was not filled at proper speed.
I modified the Squeezelite startup params, in particular the „ALSA Parameters“ changing the output buffer with „-a 180:4::“ – increasing the buffer size to 180ms keeping the period count at 4 seems that solved my problems – in the debug info this config is confirmed (1000ms/180ms=5,55 -> 44100 Hz/5,5 = 7936 bytes of buffer size and the period size is 1/4th = 1984 bytes as in the debug log):

#### SQUEEZELITE VERSION ####
Squeezelite Max2Play v1.0.3 based on v1.8.7-999, Copyright 2012-2015 Adrian Smith, 2015-2017 Ralph Irving.

#### SQUEEZELITE BUILDOPTIONS ####
Build options: LINUX ALSA EVENTFD RESAMPLE FFMPEG VISEXPORT IR GPIO DSD CONTROLSBS ALSASYNC BLUETOOTHSYNC

#### AUDIOPLAYER CONFIG ####
### Configuration of Audioplayers
SQUEEZELITE_PARAMETER=-o plughw:CARD=Headphones,DEV=0 -a 180:4:: -v
SQUEEZESLAVE_PARAMETER=-n plugequal
SHAIRPORT_PARAMETER=-d pulse
USE_USB_DAC=0
USE_EQUALIZER=0
SYSTEM_USER=pi
GMEDIARENDERER_ALSA_DEVICE=hw:CARD=Headphones,DEV=0
BLUEALSA_PLAY_AUDIOCARD=hw:0,0

#### SQUEEZELITE -l ####
Output devices:
null – Discard all samples (playback) or generate zero samples (capture)
jack – JACK Audio Connection Kit
pulse – PulseAudio Sound Server
equal
plugequal – Equalizer for plughw:0,0
bluetooth – Your Bluetooth device 40:EF:4C:FF:03:22
default:CARD=b1 – bcm2835 HDMI 1, bcm2835 HDMI 1 – Default Audio Device
sysdefault:CARD=b1 – bcm2835 HDMI 1, bcm2835 HDMI 1 – Default Audio Device
dmix:CARD=b1,DEV=0 – bcm2835 HDMI 1, bcm2835 HDMI 1 – Direct sample mixing device
dsnoop:CARD=b1,DEV=0 – bcm2835 HDMI 1, bcm2835 HDMI 1 – Direct sample snooping device
hw:CARD=b1,DEV=0 – bcm2835 HDMI 1, bcm2835 HDMI 1 – Direct hardware device without any conversions
plughw:CARD=b1,DEV=0 – bcm2835 HDMI 1, bcm2835 HDMI 1 – Hardware device with all software conversions
usbstream:CARD=b1 – bcm2835 HDMI 1 – USB Stream Output
default:CARD=Headphones – bcm2835 Headphones, bcm2835 Headphones – Default Audio Device
sysdefault:CARD=Headphones – bcm2835 Headphones, bcm2835 Headphones – Default Audio Device
dmix:CARD=Headphones,DEV=0 – bcm2835 Headphones, bcm2835 Headphones – Direct sample mixing device
dsnoop:CARD=Headphones,DEV=0 – bcm2835 Headphones, bcm2835 Headphones – Direct sample snooping device
hw:CARD=Headphones,DEV=0 – bcm2835 Headphones, bcm2835 Headphones – Direct hardware device without any conversions
plughw:CARD=Headphones,DEV=0 – bcm2835 Headphones, bcm2835 Headphones – Hardware device with all software conversions
usbstream:CARD=Headphones – bcm2835 Headphones – USB Stream Output

#### SHAIRPORT (SYNC) VERSION ####
3.3.1-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/usr/local/etc

#### OUTPUT SOUND DETAILS CARD 0 ####
closed

#### OUTPUT SOUND DETAILS CARD 1 ####
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 1984
buffer_size: 7936

#### SOUNDDEVICES IN USE ####
USER PID ACCESS COMMAND
/dev/snd/controlC0: root 342 f…. alsactl
pi 3140 F…. pulseaudio
/dev/snd/controlC1: root 342 f…. alsactl
/dev/snd/pcmC1D0p: pi 2997 F…m squeezelite

Thanks for the support
Regards