[Plugin] Spotify Soloist Connect for Volumio (incl. LossLess)

Hello everyone,

I’m happy to announce that Spotify Soloist Connect is now in Stable.

0.9.0 is installed from the Volumio UI: Plugins → Music Services.

Cutting edge (fixes and work between those releases) stays on GitHub and uses the git install below. That line can be ahead of the UI package.


Spotify Soloist Connect

This plugin allows you to use Spotify Soloist on Volumio, providing an alternative Spotify Connect implementation for both Raspberry Pi and x86 systems.

This is an unofficial, community-built plugin. It is not affiliated with, endorsed by or sponsored by Spotify AB.

Features

  • Spotify Connect support via Spotify Soloist
  • Works on Raspberry Pi and x86 devices
  • No Premium Volumio subscription required
  • Automatic service management through Volumio
  • Lightweight implementation
  • Playing Lossless Spotify tracks

How it works

Spotify Soloist is designed to run on PulseAudio, while Volumio is built around ALSA. The plugin automatically creates the required audio bridge, allowing Spotify Soloist to coexist with Volumio’s audio stack.

You need a Spotify Premium account and generate an API key through the dashboard.

Tested on

  • Raspberry Pi 4
  • Raspberry Pi 5
  • x86 systems (Wyse, Intel NUC, etc.)


Installation, Plugin Store Stable 0.9.0: (19-Sep-2026)

Install from the Volumio UI: Plugins → Music Services.

New First Stable release.
Changed See detailed changelog.
  • Generate your Soloist API key at the Spotify for Developers dashboard (Soloist section).
  • In Volumio: Plugins → Music Services → install Spotify Soloist Connect.
  • Enable the plugin, open its settings, paste your API key, set a device name, save.
  • Reboot your device
  • Open Spotify on your phone or desktop and pick your device from the Connect list.

Treat the API key as a secret. Do not post it, and do not post unredacted logs.


Cutting edge (between releases) 0.9.0: (18-Sep-2026)

Only if you want what is on GitHub after the last UI release.

git clone --depth 1 --filter=blob:none --sparse https://github.com/foonerd/alsa_soloist_connect.git
cd alsa_soloist_connect
git sparse-checkout set soloist_connect
cd soloist_connect
volumio plugin install

That can be newer than Plugins → Music Services. Use it when you are testing a fix that is not in the UI package yet.


Special thanks to @nerd for doing the impossible over and over again.
Without him the rPi family would be very silent!!!

9 Likes

Spotify Soloist Connect - stable

Store: 0.9.0 (18 Sep 2026) - Plugins → Music Services (armhf)

GitHub (cutting edge): 0.9.0 (18 Sep 2026) - repo

Turns a Volumio 4 device into a Spotify Connect endpoint using Spotify Soloist.
Not affiliated with Spotify AB.

The store package is the accepted stable. Store and GitHub are both 0.9.0. The store listing is armhf only. x86 stays on GitHub (git sparse clone or alsa_soloist_connect-main.zip). Uninstall the store plugin before installing from GitHub. Changes after this release are on GitHub only.

Tested

Unchanged. These rows are 0.8.0 listens. 0.8.1 through 0.9.0 have no new pass/fail here. The x86 column is from those listens, not from the store zip.

Plugin x86 rPi3 rPi4 rPi5 PrimoV2 Primo-Plus Rivo Motivo Integro Rivo+
FusionDSP Pass tbd tbd Pass Pass Pass Pass Pass tbd tbd
Peppy Meter Basic Pass tbd tbd Pass n.a. Pass n.a. Fail n.a. n.a.
Peppy-Spectrum Pass tbd tbd Pass n.a. Pass* n.a. Fail n.a. n.a.
Peppy/Spectrum for BW (exp. branch) Pass tbd tbd Pass tbd tbd tbd Pass tbd tbd
Premium: Multiroom tbd tbd tbd tbd Pass Pass Pass Pass tbd tbd

Known issues

Issue Note
Soloist builds expire after 90 days Spotify kills a build 90 days after its build date. That is their decision. On start the plugin re-downloads an already-dead build. While it stays up, a once-a-day check logs remaining days. Download a new Soloist binary before it expires is off by default. When on, that check pulls from Spotify if seven days or fewer remain, or the build is already dead, and Spotify is not playing here. Web radio and other sources count as idle. That silent pull starts the new binary and does not reboot. The Update button still uses a progress modal and a 15 second reboot countdown. We do not review the tarball Spotify serves. First check is a day after start, not at boot.
Loudness / crossfade are not a Soloist API Soloist has no CLI or WebSocket for these. Official docs still say it does not read a configuration file. The Sound switches write audio.normalize_v2 and audio.crossfade_v2 / audio.crossfade.time_v2 at spawn. Loudness is on by default. Crossfade is off; time is 1000-12000 ms and the time key is dropped when the switch is off. If a later Soloist build ignores or renames the keys, the switches still write and the audio may not change. Not Output Trim and not Output buffer.
Soloist response lag 1-3 s on volume and skip. Spotify’s binary, not the plugin.
arm64 Built and shipped in the tree, not yet exercised at runtime. The store listing is armhf.
Queue playback Prototype, off by default. spop rows are skipped at play time. Convert playlist can rewrite a saved list; it is not automatic.

Changelog

0.9.0 - 18 Sep 2026 - store
Change
Promoted to stable. No longer beta Changed
Store and GitHub are both 0.9.0. Store listing is armhf
0.8.6 through 0.8.9 are in this store package (takeover, loudness, crossfade, daily binary refresh)
UI strings for every Volumio backend language_code New
Shim unchanged (0.2.9)
0.8.9 - 15 Sep 2026
Change
Once-a-day Soloist binary freshness check while the plugin stays up New
Switch Download a new Soloist binary before it expires (off by default) New
When on, pull from Spotify if seven days or fewer remain, or the build is already dead, and Spotify is not playing here Changed
That silent pull starts the new binary and does not reboot. The Update button still uses the 15 second reboot countdown
On start an already-dead build is still re-downloaded. We do not review the tarball Spotify serves
Crossfade, loudness, takeover, queue and the shim unchanged (0.2.9)
In the store as of 0.9.0
0.8.8 - 14 Sep 2026
Change
Sound switch Crossfade (off by default) plus 1000-12000 ms duration New
Off drops the time key so a leftover fade cannot stay on Changed
Same undocumented engine prefs pass as loudness. Not Output buffer
If a later Soloist build ignores the keys, the switch still writes and the audio may not fade
Takeover, queue, loudness default and the shim unchanged (0.2.9)
In the store as of 0.9.0
0.8.7 - 14 Sep 2026
Change
Sound switch Loudness normalization (on by default) New
Off writes audio.normalize_v2=false at each spawn. Not Output Trim Changed
No CLI for this; undocumented engine store
If a later Soloist build ignores the key, the switch still writes and the level may not move
Takeover, queue and the shim unchanged (0.2.9)
In the store as of 0.9.0
0.8.6 - 11 Sep 2026
Change
Daemon playing with is_active=false called takeOverPlayback / volumioStop on whoever was current, including AirPlay Fixed
Connect mode does not claim unless this speaker is the Connect target. Status stays pause so a later play here still claims Changed
Queue mode and leftover-yield play unchanged. Shim unchanged (0.2.9)
In the store as of 0.9.0
0.8.5 - 2 Sep 2026 - store
Change
Named settings backups on this device (create, restore, delete) New
Restore uses the same validation as Save. The API key is in the file only when Retain my API key is on Changed
A backup without a key keeps the key already on this box. Not a clone of the Spotify login
After create, restore or delete the open settings page refreshes (pushUiConfig) Changed
Playback, takeover unchanged. Shim unchanged (0.2.9)
Store. GitHub is 0.9.0
0.8.4 - 30 Aug 2026
Change
After the session left this speaker, yield sent Spotify pause and stopped the phone or desktop Fixed
Connect yield published stop while still volatile; core ignored it and the player / Peppy kept play Fixed
Yield pauses only while this speaker still holds the session. Connect yield publishes pause while still volatile Changed
Queue-row end still publishes stop. Takeover unchanged. Shim unchanged (0.2.9)
In the store as of 0.8.5
0.8.3 - 30 Aug 2026
Change
Skip before prefetch finished locked the quality line on Low (a few hundred KB over the track duration) Fixed
Holds the label while that cache fd is still growing; publishes Lossless when the bitrate crosses the floor; upgrades if the same file gets larger Changed
Disable/enable is not needed to show lossless. That remasured the finished file
Playback unchanged. Shim unchanged (0.2.9)
In the store as of 0.8.5
0.8.2 - 28 Aug 2026
Change
soloist.service could come back at boot with the plugin disabled (WantedBy=multi-user.target) Fixed
Disable stops the daemon and unpins it from boot. Install no longer enables the unit Changed
Playback unchanged. Shim unchanged (0.2.9)
In the store as of 0.8.5
0.8.1 - 27 Aug 2026
Change
Software mixer, pcm.volumio slave already softvolume: first play aborted (pcm_params.c get_min) on PCM2704 Fixed
That graph now opens softvolume (SoftMaster stays). Peppy and switcher graphs stay on plug:spotify / plug:volumio Changed
Start line always names plugin=, shim=, and the .so SOURCE_REVISION New
In the store as of 0.8.5
0.8.0 - 25 Aug 2026
Change
First beta New
UI package is Plugins → Music Services. GitHub is cutting edge between those releases Changed
Updating the Soloist binary replaced the live file, then restarted the daemon in place Fixed
Stage, patch and --version before replace. A failed download leaves the running binary Changed
Settings button: system progress modal, then a 15 s reboot countdown with Restart and Cancel Changed
Shim unchanged (0.2.9)
0.7.6 - 25 Aug 2026
Change
logsubmit / ps showed the Soloist API key on argv until the first Pulse call Fixed
The shim overwrites that slot two seconds after load (and still on the first pa_* call) Changed
Playback path unchanged
Shim 0.2.9
0.7.5 - 25 Aug 2026
Change
Convert playlist: rewrite stock Spotify (spop) track rows in a saved Volumio list to soloist_connect New
Clone is the default and leaves the original file; overwrite replaces it
Only spotify:track: rows change. Album, playlist and artist URIs stay spop
A list already saved as soloist_connect does not appear
Does not restart Soloist and does not turn on queue playback
Shim unchanged (0.2.8)
0.7.4 - 25 Aug 2026
Change
Optional Align volume on start (off by default) New
When this speaker becomes the active Connect device, Volumio’s volume is copied to Soloist instead of applying Initial Volume to the mixer
Mute becomes 0; mixer None and disableVolumeControl skip align
After that the Spotify app slider still moves the mixer
Shim unchanged (0.2.8)
0.7.3 - 25 Aug 2026
Change
An open Spotify Queue tile was a snapshot from the moment it opened Fixed
Now playing updates immediately; play next, up next, autoplay and recently played stay in those sections Changed
Those lists are refilled with a full get_queue (the unsolicited event is capped at 10)
Placeholder rows are omitted Changed
Playback paths unchanged
Shim unchanged (0.2.8)
0.7.2 - 24 Aug 2026
Change
Spotify Queue tile is registered only while Play Spotify tracks from the Volumio queue is on Changed
Off hides it, so a tap cannot skip a row and stop Connect Fixed
Saving that section adds or removes the tile without a daemon restart
Shim unchanged (0.2.8)
0.7.1 - 24 Aug 2026
Change
Spotify Queue browse tile: now playing, play next, up next, autoplay, recently played New
Source is get_queue / queue_changed. That is Spotify’s Connect list, not Volumio’s mixed playlist
Tile appears when the Soloist socket is up; home icon is a sourceicon SVG
Spotify Queue wait is a Timing setting (default 2500 ms, 0-10000; 0 paints the last event immediately) New
Search is empty. Playback paths unchanged
Shim unchanged (0.2.8)
0.7.0 - 24 Aug 2026
Change
Optional queue mode: a Spotify row in a Volumio playlist or queue can play through Soloist New
Off by default. Needs a paired session (logged_in); the app does not have to be open
No session, or another device holds it: the row is skipped and the list moves on Changed
Remote-device play of a queued row is a separate switch, also off New
Queue mode is not volatile: next/prev stay with core Changed
Row ends on buffering-at-duration, idle after start, or a roll into autoplay; pause and ALSA yield before the next service Changed
Settings split by change target. A section save posts only its fields Changed
Daemon restarts only when it actually reads a changed value Changed
Shim unchanged (0.2.8)
0.6.19 - 23 Aug 2026
Change
First pcm open on a busy card was a failed open Fixed
Busy card is a wait; the first pcm open line is the success Changed
Corked connect no longer opens the PCM Changed
Tidal Connect (vtcs) is asked to release when it holds the DAC New
Shim 0.2.8
0.6.18 - 23 Aug 2026
Change
Peppy metering stored the flag but left the running process on plug:volumio after pcm.spotify appeared Fixed
Restart only when the running process device does not match plug:spotify / plug:volumio. Unreadable environ is not a mismatch Changed
Without Peppy the path is unchanged
Shim unchanged (0.2.7)
0.6.17 - 23 Aug 2026
Change
Skip kept the previous track’s quality label, or measured the last file against the new duration Fixed
Quality retry wait and Quality retries are settings (defaults 300 ms and 2; 0 disables) New
The playing cache file is not opened Changed
Shim unchanged (0.2.7)
0.6.16 - 23 Aug 2026
Change
Flush discarded and re-prepared a healthy PCM; second Motivo MultiRoom seek killed volumioOutput Fixed
Flush now drops the Pulse ring only; committed ALSA audio plays out Changed
Seek coalesce and Inactive hold are settings (defaults 200 ms and 2000 ms; 0 disables) New
Idle with an empty item published a blank now-playing line Fixed
0.6.15 - 23 Aug 2026
Change
If prepare left the switcher handle dead, flush now reopens instead of drop Fixed
Healthy graphs still dropped and prepared on flush Changed
0.6.14 - 22 Aug 2026
Change
Default 500 ms buffer dropped the tail of Soloist’s 8–32 KiB write (rush and chop) Fixed
Ring is tlength plus 64 KiB; Pulse writable_size still reports the target Changed
0.6.13 - 22 Aug 2026
Change
Writes FLOAT32 at the client rate into plug:volumio; the outer plug converts Changed
Forced S16 (0.6.10–0.6.12) set the USB/AML slave open and rushed Fixed
Exact rate or fail; I/O capped at two periods Changed
0.6.12 - 22 Aug 2026
Change
--api-key and API_KEY no longer appear in ps or logsubmit Fixed
0.6.11 - 22 Aug 2026
Change
32 KiB preroll write rejected when the ring had less room; device stayed silent Fixed
0.6.10 - 22 Aug 2026
Change
Shim converts FLOAT32 to S16 before writei Changed
Times the PCM we opened; writes are all-or-nothing Changed
0.6.9 - 22 Aug 2026
Change
Reverts 0.6.4–0.6.8. Audio path is 0.6.3 again (FLOAT32 into plug:volumio) Changed
Convert and pace matching snapped a 44.1 DAC to 88.2 k (half speed) Fixed
0.6.8 - 22 Aug 2026
Change
Ignore the first ALSA buffer before measuring pace; two agreeing 200 ms windows Changed
0.6.7 snapped a USB fill burst to 88.2 k and played 44.1 at half speed Fixed
0.6.7 - 22 Aug 2026
Change
Measure the consumer rate from frames versus wall time, including the poll wait Changed
0.6.6 - 22 Aug 2026
Change
Convert to the measured write pace when it is not the track rate Changed
ALSA yield file left behind after a hand-off; next play had no PCM Fixed
0.6.5 - 22 Aug 2026
Change
44.1 lossless played fast (Integro, with or without FusionDSP) Fixed
ALSA resample on again; float-to-S24 convert unchanged Changed
0.6.4 - 22 Aug 2026
Change
Shim converts FLOAT32 to S24_3LE (or S24_LE / S16_LE) before writei Changed
Exact sample rate; resample only if that open fails Changed
Auto-advance showed the previous track’s title Fixed
0.6.3 - 21 Aug 2026
Change
Replaced apulse with a purpose-built Pulse shim (47 symbols, ALSA only) New
Quiet wait logs, and a /proc path overflow in the shim Fixed
Retired the apulse build path Changed
0.6.2 - 21 Aug 2026
Change
Playback cache can be placed in RAM New
Cache location selector, with the choice logged Fixed
Metadata not shown when taking the session Fixed
Diagnostics now follow the Verbose Logging setting Changed
Removed sed from every executable path Changed
0.6.1 - 21 Aug 2026
Change
Verbose logging did nothing Fixed
Seek bar: no per-second publish, which XRUN’d the DAC Fixed
ALSA format and period negotiation Fixed
Stale crashpad locks at every start Fixed
Executable bit on the launcher Fixed
0.6.0 - 20 Aug 2026
Change
PeppyMeter / Spectrum screensaver support on Bookworm New
Plays through the metered PCM when the screensaver asks New
Implausible position timestamp rejected Fixed
Seek timer no longer publishes; no yield on takeover Fixed
0.5.0 - 20 Aug 2026
Change
Output Trim, to set PeppyMeter needle deflection New
0.4.0 - 20 Aug 2026
Change
Meter deflection followed master volume Fixed
Soloist not released after closing the Spotify app Fixed
0.3.0 - 18 Aug 2026
Change
Format negotiation Fixed
Lagging response Fixed
Pre-alpha - 17 Aug 2026

First working builds on rPi4, rPi5 and x86.

Is there a significant difference architecture difference between PulseAudio and ALSA? Why would Spotify use PulseAudio and Volumio ALSA?

This is a very common linux sound architecture : PulseAudio can sit on top of ALSA and use it as the hardware backend. So Spotify may use PulseAudio for routing/mixing, while Volumio talks directly to ALSA for a simpler, more deterministic audio path.

Wheaten, really happy you found the time and motivation to code new plugins! I don’t know about you, but vibecoding really cuts the time-to-release and removes a lot of barriers :slightly_smiling_face:

Is there a way to test this already?
Last 3 weeks my volumio keeps restarting the player if i use the "old"spotify plugin even after a new install en a new power source.
Would be very happy to test this and i have a premium account for spotify.

We started the build yesterday, please give us some time to test.

1 Like

Not to rush you, greatly appreciate your work.:ok_hand:t2:
Just missing my Spotify in the shower.:smile:

pleas euninstall the version 4.4.1 and install the version 4.4.2

playback from Volumio won’t work, but Spotify Connect does

1 Like

Hi all,

I’m opening up an early alpha release of Soloist Connect, a Volumio plugin built around Spotify Soloist, the official headless Spotify Connect client that Spotify released for Linux in August 2026. The plugin turns your Volumio device into a Spotify Connect endpoint, with track metadata, cover art, seek, and transport controls synced into the Volumio UI through Soloist’s local WebSocket API.

Read this first

This is strictly for first adopters. The plugin is usable at best — expect rough edges, odd states, and the occasional restart. We’re releasing early on purpose: the interaction between Soloist, Volumio’s state machine, and the audio layer has too many device- and setup-specific corner cases to shake out on a handful of machines. A bigger testing ground is exactly what this alpha is for. If you’re not comfortable with SSH and reading logs, please wait for the beta.

What it does

  • Registers your Volumio device as a Spotify Connect endpoint (control it from any Spotify app on your network)
  • Metadata, cover art, position, and volume synced into the Volumio UI
  • Shuffle/repeat, skip, seek from both sides
  • Stream quality tier detection (Low → Lossless), shown in the UI
  • Automatic handling of Soloist’s 90-day build expiry (auto re-download)
  • Plays nicely with other Volumio sources: yields the audio device when you switch to MPD/webradio, takes it back when you play to Connect

The audio layer (apulse)

A lot of effort in this release went into the audio path. Soloist speaks PulseAudio only, but Volumio’s world is ALSA. Rather than running a full PulseAudio system server alongside Volumio, the plugin uses apulse as a thin translation layer between Soloist’s PulseAudio calls and ALSA, feeding audio into Volumio’s shared volumio ALSA device so the normal Volumio audio pipeline (mixer, DSP, output selection) stays in charge. Getting device handover right — Soloist releasing the ALSA device when you switch sources and reclaiming it cleanly when you come back — took the bulk of the debugging time and is precisely the area where I’d like the widest testing.

Known issues

  • PeppyMeter Basic and Peppy-Spectrum respond to master volume instead of the audio signal. The meters move with the volume knob rather than with the music. This is a consequence of how the apulse→ALSA path is wired relative to the point where Peppy taps the audio, and it’s being worked on. If you rely on Peppy visualizations, this alpha will annoy you.
  • Rapid source switching (Connect → MPD → Connect) can occasionally need a play-press twice before audio returns.
  • Sample rate / bit depth shown in the UI reflect the ALSA output stream, not the source material (Soloist’s API exposes no per-track codec info; the quality tier shown is measured from the cache instead).
  • First connection after boot can take a few seconds to appear in the Spotify app’s device list.

Requirements

  • Raspberry Pi 3/4/5 or x86_64 (armv6 devices like Pi 1/Zero v1 are not supported by Soloist)
  • Volumio Rivo, PrimoV2, Motivo, Primo Plus (tested)
  • Volumio Rivo+, Integro should work (untested)
  • A Spotify Premium account to generate the Soloist API key (once running, any account on your network can play to it)
  • Volumio 4.x with SSH enabled

Installation

  • Generate your Soloist API key at the Spotify for Developers dashboard (Soloist section).
  • Open a SSH termianl to your device
  • run:
    git clone --depth 1 --filter=blob:none --sparse https://github.com/foonerd/alsa_soloist_connect.git
    cd alsa_soloist_connect
    git sparse-checkout set soloist_connect
    cd soloist_connect
    volumio plugin install
    
  • Enable the plugin, open its settings, paste your API key, set a device name, save.
  • Reboot your device
  • Open Spotify on your phone or desktop and pick your device from the Connect list.

Reporting issues

This alpha lives or dies by your reports. When something misbehaves, please post:

  • Device model, DAC/output in use, Volumio version
  • What you did, what you expected, what happened instead
  • Post a log with verbose logging on

Each user must generate their own key; please don’t share keys.

Especially valuable right now: testing on different DACs (USB, I2S HATs, HDMI), source-switching between Connect and other services, multi-room/multi-device Spotify accounts, and long play sessions.

Using Spotify Soloist means accepting the Spotify Terms and Conditions of Use.

Thanks for testing — post your findings below, the uglier the better.

2 Likes

A post was merged into an existing topic: New 2023 Spotify Plugin

Hello!
Tested v0.0.6 on Integro VOLUMIO V4.164
Lossless mode
FusionDsp enabled

Mostly good…
First track play fine, but time to time small audio hiccup about every 10sec.
Fast forward or skipping track result in sort of mix speed slowdown sound.
Using Spotify while playing Qobuz stop Qobuz : fine , Volumio UI does not reflect this state.
Bi-directionnal volume ok

:wink:

edit : lyrics are a bit out of sync, after play pause

Can this new trial plugin (soloist) sit along side the current spotify connect 1.0.0 or does the current plugin need to be removed first.
Great work people !

where is this plugin? On which system? :thinking:

You have to disable the other Spotify plugin.

Take a look at “Known limitations

Testing on a rPi5, with Spotify on Android.
From the Volumio GUI:

  • Prev, Next OK
  • Play, Pause Not OK. Once paused it won’t start again. Need to do it in the App.
  • Fast Forward/backward OK
  • Experimental Peppy/Spectrum OK

From APP (Android):

  • Sometimes need to press Play twice
  • Need to wait untill Volumio has fully booted. If I start to soon it will stutter. Pressing SKIP solves it.
  • Prev, Next, Play, Pause OK
  • Fast Forward/backward OK

Testing on a rPi5, with Spotify on Desktop (x86).
From the Volumio GUI:

  • Prev, Next OK
  • Play, Pause OK.
  • Fast Forward/backward OK
  • Experimental Peppy/Spectrum OK

From Desktop APP (x86):

  • Play, Pause OK.
  • Need to wait untill Volumio has fully booted. If I start to soon it will stutter. Pressing SKIP solves it.
  • Prev, Next, Play, Pause OK
  • Fast Forward/backward OK
2 Likes

Great Work! Works for me on a rpi with usb dac. Only with mixer type ‘hardware’. Set to ‘software’ it doesn’t work. Otherwise playback is good.

When switching mixer, stop playback from app, restart Soloist, and hit play again.
It’s tested successful with:

  • None
  • Software
  • Hardware

Thanks for the quick reply! But that does’nt help. When set to software (after stopping playback and restarting the plugin) the connection between spotify and volumio is lost as soon as i hit play. some from macbook and phone. I will check if chaging any other setting helps.

Amazing work guys! Have been testing on rpi3 with a HifiBerry DAC2 HD on top. So far I’ve been experiencing a lot of stutter, also creating noise/cracking my speakers/setup. Play/pause, skipping and starting songs is working OK. Some minor hickups sometimes, but with the instructions above it’s working fine.

Playing with the cache sizes, buffer and trim didn’t really make a difference in the suttering.

Keep up the great work guys!

Edit: Maybe it helps, albums I’ve tried are Black Sabbath - Paranoid (not 24bit) and Mad Season - Above. Stutering/cracking doesn’t happen on Very High setting, only on Lossless

More edits:
Logs show nothing abnormal to me while playing (this is when stuttering/skipping/cracking is happening)

2026-08-20 22:47:04.298: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [0:40 / 7:35]
info: CoreCommandRouter::volumioGetState
info: Listing playlists
info: Listing playlists
2026-08-20 22:47:14.298: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [0:50 / 7:35]
info: CoreCommandRouter::volumioGetState
2026-08-20 22:47:24.297: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [1:00 / 7:35]
info: CoreCommandRouter::volumioGetState
info: Listing playlists
info: Listing playlists
2026-08-20 22:47:34.298: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [1:10 / 7:35]
info: CoreCommandRouter::volumioGetState
2026-08-20 22:47:44.298: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [1:20 / 7:35]
info: CoreCommandRouter::volumioGetState
info: Listing playlists
info: Listing playlists
2026-08-20 22:47:54.298: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [1:30 / 7:35]
info: CoreCommandRouter::volumioGetState
2026-08-20 22:48:04.297: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [1:40 / 7:35]
info: CoreCommandRouter::volumioGetState
info: Listing playlists
info: Listing playlists
2026-08-20 22:48:14.297: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [1:50 / 7:35]
info: CoreCommandRouter::volumioGetState
2026-08-20 22:48:24.298: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [2:00 / 7:35]
info: CoreCommandRouter::volumioGetState
info: Listing playlists
info: Listing playlists
2026-08-20 22:48:36.755: playing spotify:track:5xhQOnyRJfRywbEwpkgoTy "Wake Up" by "Mad Season" [2:13 / 7:35]
info: CoreCommandRouter::volumioGetState

Please post logs.