FusionDsp : the complete Dsp center for Volumio3 and Volumio4!

Hi,
I have a strange behaviour with FusionDsp 3.1.7

I run Volumio 4.119 on a RASPBERRY Pi 3 modèle B+ 1GB and AUDIOPHONICS I-Sabre LTE DAC ES9023 I2S. In Volumio i use the DAC Model Audiophonic I-sabre ES9028Q2M
I have a 1Gb IP connection with a fiber box.

I succeed to run Fusion DSP with no mixer and chunk on 9600 bits. I have a simple parametric equalizer with 1 peaking filter.
I use Qobuz connector and run playlist directly in Volumio and not from the Qobuz app.
In one play list tracks have different digitalization quality mixed : 192kz, 96kz, 48kz, 44.1kz etc. 16bits, 24bits etc.

  • With the plugin FusionDSP off it runs fine.
  • With the plugin on, all the tracks are fine with no lag and crack except the tracks in 44.1Kz and 16 bits. They are completely choppy with holes up to 1s. Waiting for stabilization for minutes has no effect.
    If i switch on RadioParadise RP2 plugin in Flac 44.1k 16bits or FIP radio plugin it works perfectly.

It looks there is something with the Qobuz connector. For this low quality of tracks flows seems to be reduced and there is not enough data for FusionDSP to work properly. I tested with all the different sizes of chunks and also the auto mode with no success, for some size of chunk there is no more sound.

Have you an idea ?
Have a nice day
Georges

Hi everyone, and @balbuze,

I wanted to give a feedback after last week’s collaboration. The plugin is stable and works great on my end. PEQ is so important in a setup I think today that’s we owe a great deal to Balbuze helping us to have this neat add-on for Volumio. When we have troubles, we ask for help but when it works, I want to provide happy feedbacks and thanks. :wink:

My only question, and this is not a critic, but why isn’t this part of the OS/product itself? We can see streamers now offering this (Wiim, Eversolo, Moode audio) and I feel this a major part of my choice. If the plugin was not working or available, I would feel obligated to move to a new solution…

Balbuze, you are purely releasing this plugin to help and support community? You are not connected directly to the Volumio team?

This is out of curiosity and understanding the dynamics here.

Thanks and wishing you all a great weekend.

Hi, @brissoukun and thank you so much for the kind words — feedback like this truly makes the work worthwhile! :blush:

To answer your questions:

Why isn’t FusionDsp part of Volumio itself?
Volumio’s core team focuses on keeping the OS lean and universal, running on a huge range of hardware. A full DSP suite (convolvers, parametric EQ, crossover filters…) adds significant complexity, dependencies and support burden, so it lives in the plugin ecosystem instead. That’s actually the strength of Volumio’s architecture: those who need advanced DSP can install it, and everyone else keeps a light system. Whether it could ever be bundled is really a question for the Volumio team — I can’t speak for them.

Am I connected to the Volumio team?
No, I’m an independent community member, just like you. I’m not part of Volumio nor affiliated with them in any way. FusionDsp is a passion project I maintain in my free time, built on top of the brilliant work of others in the audio/DSP community, to give back and help fellow users get more out of their setups.

Your comparison with Wiim, Eversolo or MoOde is fair — integrated DSP is increasingly a deciding factor. But as long as the plugin ecosystem stays alive and healthy, there’s no need to switch solutions. And knowing that users like you rely on it and appreciate it is exactly what keeps me motivated to maintain and improve it.

Thanks again for the support, and enjoy the music — and your weekend! :notes:

Hi Georges,

I can’t reproduce your issue with the Qobuz connector on my setup. I’m running FusionDsp with a simple parametric EQ (1 peaking filter and even 10 filters), and a chunk size of 1024 — and 44.1kHz / 16 to 192 kHz / 24-bit tracks play fine, including mixed-quality playlists where the sample rate switches between tracks.

A few things worth checking on your side:

  1. Chunk size: 9600 is quite large for a Pi 3 B+, which is a weak CPU. Large chunks mean more processing per callback but also more latency and buffering jitter. Try 1024 (or even 512 / 2048) and test again — for a single PEQ filter, 1024 leaves plenty of headroom even at 192 kHz.
  2. Sample rate switching: your symptoms only appear on 44.1 kHz / 16-bit tracks, which suggests the issue is triggered when the pipeline renegotiates the sample rate (192k → 44.1k) and the source is a network stream (Qobuz) rather than a local file or radio stream. Check that your DAC’s I2S driver correctly supports 44.1 kHz — the I-Sabre ES9023/9028Q2M boards are sometimes configured with a fixed or limited set of rates.
  3. Test with a local 44.1/16 FLAC file to isolate the connector: if local files play fine at 44.1 kHz, the problem is in the Qobuz streaming path (buffering rate) rather than in FusionDsp itself.
  4. Check the logs (volumio log or /var/log/volumio.log) when a 44.1 kHz track starts — look for ALSA underruns (xrun) messages. That would confirm it’s a buffering/underrun problem rather than DSP processing time.

If 44.1 kHz still breaks with chunk 1024 while 96/192 kHz work, that really points to the rate-switching path of the Qobuz plugin rather than to FusionDsp.

Have a nice day!

Hi Balbuze

Thanks for your answer.

I have a look in the log from volumio/dev page

I reduce chunk to 2048. From Volumio Qobuz seems to run fine now with 44kh and 16 bits. When i start Qobuz and press listen in Volumio from Qobuz i have this problem at the same time i have plenty of error in the log.

It seems there is a problem with the DAC or may be it is inside the driver i don’t know.
Here is the error.

Thanks for your job :wink:

20261021 10:28:49.199 [5250.5250] INFO ProtocolHandler: [0x24563b8]: Need to send state update
20261021 10:28:49.199 [5250.5250] INFO QConnectMessageSender: [0x2491d78]: Sending StateUpdated message
20261021 10:28:49.199 [5250.5250] INFO QwspMessageSender: [0x2491d68]: Sending Payload message
info: CoreCommandRouter::volumioGetState
info: CoreCommandRouter::servicePushState
info: CoreStateMachine::pushState
info: CoreCommandRouter::executeOnPlugin: volumiodiscovery , saveDeviceInfo
info: CoreCommandRouter::volumioPushState
info: MRS: Pushing multiroomSync output update for this device
info: MRS: Pushing multiroomSync output
info: CoreCommandRouter::volumioGetState
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121
i-sabre-codec-i2c 1-0048: ASoC: error at snd_soc_component_update_bits on i-sabre-codec-i2c.1-0048 for register: [0x00000021] -121