Dropouts

Troubleshooting

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.

spotify stuttering audio cuts out buffer underrun liquidsoap / icecast
Related guides: Device not showing, No audio, Metadata.

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.

In practice, the fastest wins are often: more conservative buffers, host networking, and eliminating unnecessary CPU contention on the host.

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
If playback is fully silent from the start, use No audio. If the Spotify device never appears, use Device not showing.

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
The most useful correlation is: dropout timestamp + CPU / memory state + Liquidsoap / Icecast log lines.

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.

Architecture reference: How Spotycast works. Installation reference: How to install Spotycast.

When this is probably not a buffering issue

If the device is missing in Spotify, the problem is probably discovery, not buffering. If metadata is wrong but audio is stable, the problem is probably not in the real-time audio path.

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.

Related reading: How it works · How to install · No audio