Spotycast stream has no audio
If the Spotycast stream is reachable but you hear silence, the root cause is usually a wrong PulseAudio monitor, a muted or idle sink, a broken Liquidsoap input, an Icecast source path problem, or a player-side issue on Roon, LMS, Volumio or another HTTP client.
The important distinction is simple: a reachable Icecast mountpoint does not guarantee that the stream is carrying audible samples. You need to verify the audio path before the stream is published.
Quick answer
A silent stream usually means Spotify playback exists somewhere in the stack, but the published stream is not fed by the right audio source. The first thing to verify is whether Liquidsoap is reading the correct PulseAudio monitor or capture input, and whether that source actually carries signal.
Typical symptoms
Mountpoint is reachable
The player opens the stream URL correctly, but there is only silence.
Metadata updates, but no sound
The stream appears alive, which usually means the source chain is present but not carrying audio samples.
Local playback works, stream is silent
The host hears something locally, but the capture or republish path is miswired.
Common causes
- Wrong PulseAudio monitor source selected in the bridge configuration
- Muted sink or monitor on the host
- Liquidsoap input attached to the wrong source
- Spotify output not routed to the expected sink
- Icecast source connected but fed with silence
- Player-side volume or output selection issue on the consuming client
Step-by-step fix
1. Enumerate the real PulseAudio sources and sinks
Do not assume device names. Read the exact source and monitor names from the host.
2. Verify Spotify output routing
If Spotify outputs to another sink than the one monitored by Liquidsoap, the published stream can remain silent.
3. Check mute and volume state
A muted sink, muted monitor or zero-volume source can create a perfectly valid but silent stream.
pactl list short sinks
pactl list short sources
pactl list sink-inputs
pactl list sinks
pactl list sources
systemctl restart spotifyd
systemctl restart liquidsoap
systemctl restart icecast2
Validate Icecast independently from the player
Test the mountpoint from another client to isolate whether the silence is upstream or player-side.
ffplay http://YOUR_HOST:YOUR_PORT/YOUR_MOUNT
vlc http://YOUR_HOST:YOUR_PORT/YOUR_MOUNT
What to collect in logs
Silent playback is easier to debug when you collect both the audio topology and the stream logs together.
pactl list short sinks
pactl list short sources
pactl list sink-inputs
journalctl -u liquidsoap -n 200 --no-pager
journalctl -u icecast2 -n 200 --no-pager
journalctl -u spotifyd -n 200 --no-pager
How Spotycast fits into the fix
Spotycast republishes host playback as a standard HTTP / Icecast stream. When there is no audio, the issue is often not the downstream player itself but the bridge between the host audio graph and the published mountpoint.
When this is probably not a silence issue
- Use Device not showing if the Spotify target is absent
- Use Dropouts if audio cuts in and out
- Use Metadata if titles are missing or stale
Frequently asked questions
Why is my Spotycast stream silent?
The most common reason is that the stream pipeline is connected to the wrong PulseAudio monitor or to a muted source.
Can metadata still work when audio is silent?
Yes. Metadata can update independently from the actual audio samples, so a live title does not guarantee that the stream carries sound.
How do I know whether the problem is player-side or server-side?
Test the same stream URL from another client such as ffplay or VLC. If it is silent everywhere, the issue is upstream on the host or in the bridge.
Can Spotycast still be used with Roon or LMS once the capture path is fixed?
Yes. Once the capture and publish path is correct, Spotycast provides a normal HTTP / Icecast stream that Roon, LMS / Lyrion and similar clients can consume.
Debug the audio path before blaming the player.
If the Icecast stream is reachable but silent, isolate the path layer by layer: Spotify playback, PulseAudio monitor, Liquidsoap input, Icecast source and final player. Once the correct monitor source is feeding Liquidsoap, the stream can be consumed normally by Roon, LMS, Volumio or another HTTP client.