FusionDsp : the complete Dsp center for Volumio3!

Hey!
For sure you can use loudness with no other effect.
You can use graphics or parametric mode for that.
Just enable loudness and save!

Hi friends, when I activate FDSP, it creates a loop showing: Configuration updated, player restarted successfully.

@Volumio2024

Please remove FusionDSP, reboot and install it again.
If you get the same error, post a log and share the link,

1 Like

@Tecko

This is a new feature in FusionDsp 2.0.54.
Can you save your settings in a preset and post the file here.
Presets are saved in

/data/INTERNAL/FusionDsp/presets

thanks

Dsp_alpha.json (334 Bytes)

I submitted the information through a ticket, and they replied: ā€˜Please ask in the forum so they can help you with your issue, since it’s a third-party program not related to Volumio.’ :joy::joy::joy:

@Volumio2024

Yes they are correct, I am pretty sure I didn’t advice you to raise a ticket, but share a log?

Duplicating my post in the Volumio 4.x thread re Fusion errors and no playback when convolution filters are enabled.


Fresh install of 4.011. I use it headless with SATA via USB. Only running Fusion DSP and Sys backup/restore plugins.

I had one false start where the system did not come back online after completing first config via built-in wifi. Didn’t seem like the system actually registered the connection to my local wifi, but it allowed me to step thru to finish. (No logs, sorry).

Wiped the SD, tried again, worked 2nd time.

With Fusion installed but disabled, and with it enabled as 3-band EQ, playback was normal.

I use convolution filters and with those enabled, playback broke with a bunch of Fusion errors showing in the live log.

This log starts with a reboot, then enable 3 band, then convo filters. 2

I wasn’t sure if this should go in @balbuze’s Fusion thread or here. I’m not too savvy with code but I can run a few more tests if it’s helpful.

OS info
Version of Volumio: 4.011
Hostname: volumio4beta
Kernel: 6.12.27-v7l+
Governor: performance
Uptime: 0 days, 2 Hrs, 4 Minutes, 10 Seconds

Network info
Interface: wlan0
IP Address: x.x.x.x
MAC Address: xxxxxxxxxxx
Type: wireless
Speed: nullMb/s

Audio info
Hw audio configured: HiFiBerry DAC2 HD
Mixer type: Hardware
Number of channels: 2
Supported sample rate: 44100 48000 88200 96000 176400 192000

Board info
Manufacturer: Raspberry Pi Foundation
Model: Raspberry Pi 4 Model B Rev 1.4 Raspberry Pi
Version: d03114
Firmware Version: Available only for RPI

CPU info
Brand: BCM2711
Speed: 1.5 GHz
Family: Cortex-A72
Model: 3
Number of cores: 4
Physical cores: 4
Average load: 36%
Temperature: 59°C

Memory info
Memory: 8031992 Ko
Free: 6703096 Ko
Used: 1328896 Ko

Software info
Mpd version: Music Player Daemon 0.24.3 (0.24.3)

Storage info
INTERNAL storage - Size: 52978Mo
Used: 272Mo
Available for storage: 49880Mo (94%)

Hey,
You use conv filters with different samplerate.
Are you sure the filters you use work?
If yes, the correct samplerate couple filters/tracks must be used.
An easy way with FusionDsp, is to name properly diffƩrents filters as explain in the online help. convolution filters
That way, FusionDsp switch to the correct filters according to sample rates.
You can check with provided filters :wink:
But if you play a samplerate without the required filters, you’ll get no sound!
Hope it helps!
:wink:

Hi everyone,

Loving FusionDSP, many thanks to @balbuze for the great work on this plugin.

However, for a while now, I haven’t been able to upgrade the plugin. I tried to uninstall/install and also tried with different version of Volumio.

Adding the logs below.
FusionDSP_Update__logs.txt (9.0 KB)

If anyone has an idea, this would be very welcome.
Thanks!

hello!
The last available version in Volumio 3.8xx is v1.0.61
Due to a small issue in the plugin store, version v2.0.74 for next Volumio 4.XXX appears, but can’t be installed.
The only way if you want to test is to install Volumio beta : Public Beta Test: Audio Without Compromise - Refining the Future of Volumio on Bookworm
:wink:

Thank you very much @balbuze for the quick and prompt reply, much apprecaited.
No worries then, if this is working fine and no problem on my setup, I am happy. :laughing:

Will wait for the stable / production ready release for Volumio 4.
Wishing you all an excellent weekend.

Hi everyone,

I’ve been working with FusionDSP and DRC-FIR to create FIR filters for room correction in Volumio. Everything technically works fine: my filters load into FusionDSP/CamillaDSP and the convolution is applied as expected.

However, I consistently see high gain reduction values reported in CamillaDSP when loading my filters – often around +12 to +14 dB.

I understand that this gain reduction is not coming from DRC-FIR itself, but from CamillaDSP’s internal clipping protection, which scans the FIR file for peaks that could push the output above 0 dBFS during convolution. So far, so good.

Still, I’m trying to figure out if I’m doing something fundamentally wrong in my measurement and filter design process, because I’ve seen several people mention that a gain reduction of ~3 dB is normal, but not values as high as 12-14 dB.

However, I also know that the often-quoted ā€œ~3 dB headroom ruleā€ comes mainly from recommendations for other systems like PEQ, IIR, or mild FIR EQ, and may not directly apply to room correction filters created with DRC-FIR and used in CamillaDSP.
My impression is that room correction FIR filters can indeed require significantly more headroom due to their complexity and time-domain effects.

Here’s my current workflow:

I measure my speakers in REW.

I generate a target curve (e.g. Harman-style slope).

I sometimes smooth the measurement, but I’m aware this doesn’t reduce FIR peaking significantly.

I export the measurement as a WAV file from REW.

I run DRC-FIR with minimal settings, often with minimum phase and some windowing.

I load the FIR filter into FusionDSP.

I’ve read that lifting the measured curve in REW (using Adjust SPL) might help reduce the amount of boost required in the FIR filter, but I haven’t actually tried this yet. I’m considering giving it a go to see if it lowers the gain reduction CamillaDSP reports.

My questions for the community and especially the FusionDSP developer:

  1. Is it normal for minimum phase FIR filters with room correction to require such high gain reduction (e.g. 12-14 dB)?

  2. Is there a recommended ā€œbest practiceā€ for how to:

Measurement settings in REW for later export to drc-fir

Adjust levels in REW before exporting to DRC-FIR?

Design the target curve to minimize FIR boost?

Impulse response export settings in export dialog?

Export from REW so that the FIR filter stays closer to ±1.0 gain?

  1. Has anyone else observed similarly high gain reduction values in CamillaDSP, or is this a sign I’m overcorrecting?

I’d really appreciate any insights or workflow tips. My system sounds excellent even with the gain reduction in place, but I’d love to understand if I can optimize my filters further to avoid losing unnecessary headroom.

Thanks a lot for your help!

Stefan

Hello,
Thank you for your feedback.
yes, this a lot of attenuation, but due to the correction in filter generated…
I have and use some with similar values…
Let me explain how works Clipping detection in FusionDsp…
When you select and save filters, if clipping detection is enabled, a 0dB (max level) pink noise is played through filters (You can’t hear it as the output is redirected to a null device instead of your dac).
While playing this, CamillaDsp log output is monitored and analysed. It looks like:

2025-06-28 11:38:39.337927 WARN  [src/conversions.rs:66] Clipping detected, 1204 samples clipped, peak +9.63 dB (303.0%)
2025-06-28 11:38:39.712470 WARN  [src/conversions.rs:66] Clipping detected, 1285 samples clipped, peak +10.04 dB (317.6%)
2025-06-28 11:38:39.775062 WARN  [src/conversions.rs:66] Clipping detected, 1697 samples clipped, peak +9.54 dB (299.8%)
2025-06-28 11:38:39.777931 WARN  [src/conversions.rs:66] Clipping detected, 1992 samples clipped, peak +11.15 dB (361.1%)
2025-06-28 11:38:39.779681 WARN  [src/conversions.rs:66] Clipping detected, 829 samples clipped, peak +8.88 dB (277.9%)
2025-06-28 11:38:39.524442 WARN  [src/conversions.rs:66] Clipping detected, 2120 samples clipped, peak +11.61 dB (380.6%)
2025-06-28 11:38:39.587486 WARN  [src/conversions.rs:66] Clipping detected, 1675 samples clipped, peak +9.81 dB (309.2%)
2025-06-28 11:38:39.649476 WARN  [src/conversions.rs:66] Clipping detected, 1855 samples clipped, peak +9.82 dB (309.6%)
2025-06-28 11:38:39.712339 WARN  [src/conversions.rs:66] Clipping detected, 1942 samples clipped, peak +9.90 dB (312.6%)
2025-06-28 11:38:39.774882 WARN  [src/conversions.rs:66] Clipping detected, 1816 samples clipped, peak +9.89 dB (312.3%)
2025-06-28 11:38:39.778413 WARN  [src/conversions.rs:66] Clipping detected, 1687 samples clipped, peak +10.00 dB (316.3%)
2025-06-28 11:38:39.779615 WARN  [src/conversions.rs:66] Clipping detected, 2093 samples clipped, peak +10.91 dB (351.3%)
2025-06-28 11:38:39.801641 WARN  [src/conversions.rs:66] Clipping detected, 263 samples clipped, peak +8.14 dB (255.3%)

then the highest value + an offset is used.
If you disable it and set a manual value, you may face clipping… You can see it in Camilla gui.
Open a new tab with your device IP:5011 to check.
That said, you can generate filters with less correction.
You can try this : https://youtu.be/5YcH7j2-L1Y?feature=shared
or GitHub - erdewit/HiFiScan: Optimize the audio quality of your loudspeakers
or
https://housecurve.com/
The main thing, is that you’re happy with the result! :wink:

Hey ballbuze,

many thanks for your quick reply.

First of all, I’d like to let you know that your plugin is the main reason I chose Volumio as my streamer.

I’ve found that exporting a minimum-phase version of the impulse response, with appropriate windowing, saves around 3 to 4 dB of headroom—even with a more aggressive target curve like the Harman room target (+6 dB at 30 Hz, etc.).

I also tried creating my own FIR filters in REW, following the tutorial from Obsessive Compulsive Audiophile, but to my ears, those filters sounded slightly dull.

Using a minimum-phase, windowed IR, I ended up with an overall attenuation of around 10 dB.

Is there anything fundamentally wrong with my workflow? I understand that DRC generates a mixed-phase correction from the measured phase, so the phase response derived from a minimum-phase export might be less accurate. However, sonically, I really like the sound of the filter I’ve created.

I haven’t measured the system yet with the filter active, but I suspect it’s quite close to the target response.

Thanks alot
Stefan

Hello, Balbuze, hope you are doing great! I wanted to share with you that I’ve found two issues and a possible solution, Whenever I stream from any Airplay device to Volumio while having FusionDSP turned on, I first hear stuttering (lots of it), and then I hear a static noise, it happens after 5 seconds of playback and it’s not always easy to hear except when there is a piano playing (Like You Do by Joji). Well, after messing around with all the different configs I solved the stutters by resampling to 192000+++ but there was no workaround for the static noise. Well not until I decided to give Moode Audio a try, there I didn’t have stuttering but the static noise was still present though a bit quieter, so I found this line of configuration that disables synchronization under the Airplay settings. Now I’m finally able to use DSP without issues, the problem is, Moode uses Airplay 2 which is lossy when streaming from apple music (yeah nice one Apple, thank you for saving my wifi bandwidth) soo… I’d like to continue using Volumio and hence Airplay 1, could you give this a look? Thanks!

Some more input on the matter, the option under Airplay states: ā€œDisable synchronization. Set this to Yes if CamillaDSP is on and there are audio glitches. Default is No.ā€
And this is an article that describes what shairport-sync does including the synchronization feature
https://manpages.debian.org/testing/shairport-sync/shairport-sync.7.en.html

Hi @balbuze, late reply, I’ve just reinstalled 4 beta today to have another try.

I’ve used those same conv filters from my previous post with success in volumio 3.x for quite a while. I’ve never experienced a lack of playback when file sample rate does not match the conv filter rate

What I was aiming for is a conv filter to match a Fusion target resampling rate, which is how I have Fusion set in volumio 3.

Today I initially had the same experience as my previous attempt:
proper playback with Fusion disabled and with Fusion 3-band EQ, but no playback with conv filters enabled.
I decided to step thru conv filter settings starting with a 44.1 file, 44.1 conv filter, no resample. That worked. Add resample to 44.1, no sound.
Change to 44.1 file, 48 conv filter, no resample → playback worked.
I kept working through these incremental changes, increasing filter sample rate, adding resampling, eventually it played properly with 88.2 filter and 88.2 resample, which was my initial goal.

I see various time server sync errors in the log after enabling resampling, and eventually the time server syncs. As far as it matters to me it’s working properly now but I wanted to share the log and some explanation since I’ve never experienced any playback errors with conv filters volumio 3.

Log file.