Spotify audio dropouts and stuttering
If Spotycast playback cuts out, stutters, or produces short gaps, the root cause is usually buffer underruns, CPU pressure, container networking, PulseAudio timing, or a fragile Liquidsoap / Icecast pipeline.
Quick answer
Audio dropouts are usually not caused by Spotify authentication. They are more often caused by timing instability somewhere in the audio pipeline: capture, buffering, encoding, publishing or playback. Start by checking system load, buffer sizing and network stability before changing formats or stream topology.
Typical symptoms
Short gaps every few seconds
Playback resumes after each interruption, which usually points to periodic underruns or clock instability.
Playback degrades under load
The stream is stable at idle but becomes unreliable during CPU spikes, updates or background activity.
Roon / LMS stream keeps reconnecting
The published stream becomes unstable enough that downstream players reconnect or stop.
Common causes
- Buffer underruns in the capture or publish stage
- CPU saturation or storage / I/O contention on the host
- Docker bridge overhead or unstable virtual networking
- PulseAudio or PipeWire timing issues on the host
- Liquidsoap / Icecast buffer sizing too aggressive for the machine
- Wi-Fi instability between the player and the stream endpoint
Step-by-step fix
1. Check system load first
Dropouts often correlate with CPU saturation, disk pressure or memory reclaim activity.
top htop free -h df -h
2. Reduce environmental noise on the host
Stop heavy background jobs, package upgrades, indexing or competing containers while testing the stream path.
- Pause non-essential containers
- Avoid running batch jobs during validation
- Retest on wired Ethernet if possible
3. Prefer host networking for the stream stack
Bridged networking is functional, but host mode is often more predictable for discovery and low-latency stream delivery.
network_mode: host
4. Increase buffers conservatively
If the system is near the edge, slightly larger buffers often stabilize the path without changing architecture.
- Increase Liquidsoap buffering before changing codecs
- Keep Icecast output conservative
- Avoid unnecessary resampling or transcode steps
5. Validate the capture path independently
Make sure the audio source itself is stable before blaming the published HTTP stream.
pactl list short sources pactl list short sinks
6. Restart the stream stack cleanly after changes
Apply one change at a time and retest with a clean restart to avoid mixing multiple failure modes.
systemctl restart spotifyd systemctl restart icecast2 systemctl restart liquidsoap
What to collect in logs
Capture the host load and the stream logs during an actual dropout event, not only after the fact.
journalctl -u spotifyd -n 200 --no-pager journalctl -u icecast2 -n 200 --no-pager journalctl -u liquidsoap -n 200 --no-pager docker logs <container_name> --tail 200
How Spotycast fits into the fix
Spotycast is built to expose a stable HTTP / Icecast stream for Roon, LMS / Lyrion, Volumio and similar clients, but the final robustness still depends on host resources, network quality and conservative buffering across the pipeline.
When this is probably not a buffering issue
- Use Device not showing if the device is absent
- Use No audio if the stream is silent from the beginning
- Use Metadata if titles are missing or stale
Frequently asked questions
Why does Spotify audio stutter in Spotycast?
The most common causes are buffer underruns, CPU contention, unstable host audio timing or overly aggressive stream settings.
Can Docker networking cause audio dropouts?
Yes. It can add complexity and jitter. Host networking is often more reliable for low-latency stream delivery.
Should I change codec first when I get dropouts?
Usually no. Start with load, network and buffers. Codec changes should come later, after basic pipeline stability is confirmed.
Can Spotycast still be used with Roon or LMS if buffering is fixed?
Yes. Once the stream path is stable, Spotycast provides a standard HTTP / Icecast endpoint that Roon, LMS / Lyrion and other compatible players can consume.