• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

FXRoute, browser-controlled Linux audio player and DSP control surface for mini PCs

No problem, feedback is very welcome.

Yes, that was a pretty quick update. The groundwork from the 2.2 mono multi-sub mode made the stereo-bass mode relatively straightforward to add.

An optional fine scan for 2.2 stereo-bass may come next.
I am not yet sure how much it will help in practice.
It would make the scan longer, of course, since it is automatic, that means time to make a coffee and come back to the result.

I may also add 2.3 or 2.4 mono multi-sub modes later if there is interest.
The basic pieces are there now.
 
In addition to my L/R "stacks"


I am looking at, at least two, maybe four truesubs out in the room to tackle room resonances at different LPs.

I am thinking MSO managing that group, freely placed, all on one mono signal, striving for a wide(r) sweet spot. Think family film night, or dance party mode.

But also testing co-locating with the L/R surrounds, in critical music listening / stereo mode, maybe more channels DSP manipulated to try to simulate spatial effects, or at least strive for envelopment with those content examples capturing the required decorrelation signals.

Both those scenarios seem outside the limits / goals you originally expressed for FXroute and its EasyEffects architecture, so feel free to ignore

just FYI since you have already stepped beyond plain stereo
 
Yes, that is a fair point.

FXRoute is still mainly stereo-oriented, because most music playback is stereo and that was the original motivation. But while working on it I keep finding related areas that are interesting, and bass management is one of them.

I used to have rather poor experiences with subwoofer integration for music, but the recent AutoSub results are changing my mind quite a bit. The results look promising enough that I am now more motivated to explore multi-sub integration.

So yes, the scope is slowly moving beyond plain stereo, but not really toward full surround decoding or home-theater processing. I still see it more as stereo playback with practical DSP control and better bass management.

The freely placed mono multi-sub idea is very close to what the 2.x mono sub modes are about.
More spatial/envelopment-oriented ideas are probably further away from the current FXRoute design, but still interesting to think about.
 
Yes I also have zero interest in decoding MC stuff, nor HDMI nor AVR/AVP in general.

Upmixing maybe, but not with the box doing my general EQ, crossovers or DRC.

Really keeping everything stereo even splitting out to a dozen+ downstream boxen does have a certain appeal.

It certainly opens doors to lots more DSP tools / approaches, which is great for the learning curve.
 
Maybe, rather than overlapping much with MSO's approach, just build in an awareness bridge, so a division of labor

or even just a HowTo doc, work with both tools without interfering with each other.
 
Yes, that makes sense.

I would not try to clone MSO’s workflow directly. MSO is very powerful, but it is also a much more involved offline optimization workflow.

FXRoute comes from a different direction: it is the live playback / DSP / measurement system itself. The goal is more immediate: measure, adjust, listen, compare and apply settings directly in the running system.

There is some overlap, of course. Delay, gain and polarity optimization are already moving in that direction, and for simpler setups that may cover a lot. But full MSO-style compatibility is harder, because MSO can generate per-sub PEQ and more complex filter/crossover structures. FXRoute currently uses a shared crossover model and does not yet have independent PEQ blocks per sub output.

I am also personally more focused on the main listening position than on broad spatial averaging, although I understand why multi-seat optimization is useful.

So a HowTo or bridge could make sense: FXRoute for measurement/playback/applying settings, MSO for deeper offline optimization if needed. At first, delay/gain/polarity are realistic. PEQ and individual crossover/filter import would need more DSP/UI work first.
 
My current thinking is to keep the workflow layered.

First, get the subs time/phase aligned properly.
That is the part that is most time-consuming to do manually, and where FXRoute can help a lot.
Gain is quite easy to set manually compared.

After that, maybe add a small number of selective PEQ filters per sub output at some point.
Not a huge filter bank, maybe two or three filters per sub would already be enough for many cases.

Then the final overall correction can still be done with the convolver / DRC tool of your choice.

So the rough order would be:

1. align the subs
2. optionally apply a few per-sub corrective PEQs.
3. do the final global correction with a convolver
 
Small update: version 0.7.47 is out.

This one mostly improves the new 2.2 subwoofer modes and AutoSub behavior. The 2.2 mono and 2.2 stereo-bass modes now keep their own saved subwoofer settings, so switching between them should no longer overwrite or confuse the delay values.

AutoSub also got a more careful scoring update. It still tries to find the best time/phase alignment around the crossover, but it now also avoids candidates that create a new large low-bass dip below the crossover better.

For 2.2 stereo-bass, AutoSub now has a per-side fine scan: left sub vs left main, then right sub vs right main. There is no matrix scan in stereo mode. Fine scan is only used as a refinement now, so it will not replace a better coarse or existing result unless it actually improves the score.

So overall this is mainly a stability and AutoSub-quality release, especially for comparing 2.2 mono multi-sub and 2.2 stereo-bass setups.

Maybe the next step will be some more automatic gain assistance, but I am not fully sure yet. The main focus so far was time/phase alignment, because that is the part I find most tedious to do manually.
 
So AB switching between the two crossover modes is just as quick & easy as comparing other filter sets?
 
FXRoute 0.7.49 is out — mostly a boring but important fix release.

Normal 2.1 / 2.2 subwoofer measurements now behave properly again and measure the active listening chain, including EasyEffects presets, PEQ and convolver filters. I also fixed a direct EasyEffects-to-hardware bypass that could mess up subwoofer measurements.

Radio resume from the footer player after stop/idle is fixed too.

Not a big feature drop, but an important stability step before continuing with AutoSub / gain / PEQ work.
 
Small FXRoute update: 0.7.51 is out on GitHub.

This is mainly a stability/maintenance release for the newer 2.1 / 2.2 subwoofer and measurement workflow. The most important fix is the playback restore path after measurements: after 48 kHz measurement runs, 44.1 kHz radio/library playback now explicitly re-syncs the PipeWire stage-1 helper at the restored playback rate. This fixes a race where playback could resume at 44.1 kHz while the helper was still running at 48 kHz, which could cause channel loss.

0.7.50 also added a PipeWire default sample-rate selector, a measurement concurrency guard, safer stale-after-measurement restart handling for radio and local files, and a less aggressive silent-playback guard.
 

FXRoute 0.7.53 A/B switching update

I’ve also spent some time cleaning up the A/B filter switching.

In practice, A/B switching now takes roughly half a second and works very smoothly here. I’ve tested repeated fast switching in stereo, 2.1 and 2.2, and so far playback, subwoofer routing and the selected filter side all stay consistent. It is starting to feel quite rounded now.

 

0.7.54 Small FXRoute update: AutoSub now shows a before/after measurement directly in the optimizer.


I attached two examples of the same result, one with 1/6 smoothing and one 1/1 smoothed.
Orange and blue are the “after” curves, the others are the original ones.

Screenshot 2026-07-14 184352.png

Screenshot 2026-07-14 184309.png

Orange and blue are the “after” curves, while the others are the original responses.

This was measured at the MLP using two Aiyima A800X subwoofers, placed a little over 2 m apart.

Gain still has to be set manually, so that part is not handled by the optimizer yet.

One complication with the Aiyima subs is that the built-in noise gate, or something similar, seems to require a certain minimum signal level, which makes measurements a bit more difficult.

Still, I’m pretty happy with this addition, because you can now directly see what the optimization actually did.

In this 2.2 mono matrix scan example, the improvement is pretty clear.

It is still a work in progress, but I think this is already a really useful step.
 
FXRoute 0.7.55 released

The main addition in this release is Auto Gain for Auto Sub Optimize. After finding the best subwoofer delay alignment, FXRoute can now also adjust the subwoofer level automatically and verify the final result with another measurement.

This makes the Auto Sub workflow more complete and reduces the need for manual level matching.

https://github.com/CobbyCode/fxroute
 
Upcoming: I have also been refining AutoSub Optimize in FXRoute a little further. The automatic gain adjustment now seems to land very nicely after optimization. It is impressive what small changes to phase and gain can achieve.

Blue and orange are before.
Screenshot 2026-07-29 061707.png
 
FXRoute 0.8.0 is out.


I integrated the LSP Loudness Compensator. The master volume automatically controls the ISO 226:2023 contour, with an additional 1–10 strength setting and selectable FFT size.

Screenshot 2026-07-30 223900.png


SPL calibration uses −23 LUFS pink noise. A UMIK-1 is detected and measured automatically, while other microphones and audio interfaces can use the manual C-weighted / Slow meter fallback.

Screenshot 2026-07-30 223958.png


Auto Gain and Loudness now work together quite nicely. Auto Gain evens out differently mastered recordings, and its LUFS target is automatically included when calculating the Loudness contour.
Volume control remains in the 32-bit floating-point audio path.

I have to say, the LSP Auto Gain works surprisingly well. It is still Auto Gain, of course, but I have not found much to complain about so far. Without it, the Loudness strength may need a little more adjustment depending on the recording.

Honestly, I was never a big fan of Loudness controls, but it really seems to depend on the implementation. For quieter listening, especially now in summer with the windows open, it is actually quite nice.


FXRoute 0.8.0:
https://github.com/CobbyCode/fxroute/releases/tag/v0.8.0
 
Back
Top Bottom