About 7 years ago I coded this exe that allows you to DSP speakers, subs, and rooms via ASIO.
(To this day it's still in beta.)
It's written in C# .Net 7 (.Net 4.8 originally.)
https://www.avsforum.com/threads/diying-a-dsp-processor-engine-solution.2626985/post-62400470
I called it "BassThatHz_ASIO_DSP_Processor" for lack of a better name.
Version 1.0.20 download link:
https://drive.google.com/file/d/1VHAYKhUI-yyDgx-Hx8wo1T9i_g7tIE7z/view?usp=share_link
Source Code download link:
https://drive.google.com/file/d/1fcDHaBRTaE4T9-ov3yo5Tpb4277lm87e/view?usp=share_link
Anyway, it has a number of features that I can "try" to briefly summarize here:
-The foundation of it is a highly tweaked and enhanced version of NAudio.
-Designed specifically for Motu AVB hardware interfaces (because that's all I own for testing/use.)
-Uses up to 64 threads (or more), had threading from the ground up (one thread per stream, unlimited streams, or at least 256 or whatever ASIO's limit is).
-Full 64bit floating point DSP, vanishingly low noise (something like -200db snr or whatnot).
-No added processing latency design (stays within the ASIO buffer at least.)
-FFT FIR (currently limited to FFT sized taps, of a power of 2, and uses overlap-save algorithm.)
-Biquad IIR with 0.01hz (or lower) to nyquist (only tested up to 192khz). Processing is a fraction of 1 ms typically.
-PEQ/HS/LS/LR, Hz/Q/Gain/Slope adjustments with advanced biquad overrides.
-Global Master Volume Input and Output; plus created each Stream has its own.
-Polarity flip and nearly unlimited delay.
-Mixer/Channel summation (input only), for those that need to mix inputs or create matrixed outs.
-Smart gain that reduces the gain to zero to avoid clipping when boosting (unlike dumb static gain).
-The limiter is a instant no-delay added brickwall type, which has it's own problems but exceeding the limiter is not one of them, the softness is, it clamps aggressively (instant brickwall within a given frame).
-All of the filters are zero added delay. except for FIR and the delay filter, obviously.
-Up to 256 channels in and another 256 channels out, 512 channels combined. (Motu is limited to 128 though, so I have no way to verify higher.)
-Each can have 100 or so filters each, there is no engine limit, but the stock windows GDI gui might have a pixel scroll limitation.
-A dedicated PC is not required, but strongly recommended for the best experience. It can run on a HTPC if necessary.
-Has a config save/load, optional startup delay, and an app shortcut can be set to auto-lunch on auto-logon. For those that want to make it an appliance. (Google auto-logon and auto-app start.)
-Currently uses .Net 7 but 8 will be out this November and that will be adopted pretty much right away, assuming it's better than 7, which it probably will be. (Faster etc.)
-Windows-based, which everyone already knows how to use / already has.
-No installer or setup msi or LSB is required for the exe. Only system requirement is .Net 7 Runtime for Windows Desktop. (and ASIO drivers with the devices fully powered on before opening the app.)
Typically uses <1% cpu and <100mb of ram.
Unlimited instances are supported.
Unrestricted use for personal-use/scientific or educational purposes. (There is no warranty and not to be used in a commercial setting, and none planned).
New versions are on a hobbyist best-efforts basis. (DSP is not my profession and I have no formal education on the topic, everything is done/learned the hard-way.)
The app is ugly and barebones, and that's intentional. Pretty pixels takes up precious CPU cycles and ram away from the DSP.
It's designed to run as fast as .Net core can (real-time DSP); and the only real bottleneck is the GC/managed-memory subsystem.
The only major things it doesn't have (yet) is DEQ, GEQ, auto-RoomEQ and auto-BEQ, and arbitrary length FIR.
GEQ I'm already working on, and DEQ I'd like to attempt in the upcoming builds... It will probably be my own variant of those as I don't like the historical parameters design constrains of conventional DSP implementations.
For some history/background as to "why":
The reason I created it back in 2016 was because I have a large HT and didn't like the limitations existing HW based solution, such as Behringer DCX and miniDSP, I needed a lot of channels. I didn't want to link a bunch of them together nor pay 5 figure Trinnov amounts to get something comparable.
Prior I was using Adobe Audition but it was too slow, too buggy and eats up too much ram, and it's bloatware and subscription based.
I wanted something free, faster and more reliable, so I made my own. (i.e. You want it custom, you gotta Do It Yourself!)
A lot of channels.
The Marantz is basically just an expensive licensed HDMI switch and DTSX/Atmos to analog XLR decoder for movie-mode.
For serious 2ch music-mode I'm bitperfect ASIO to the Sabre Ref chips in the Motu's.
All speakers and subs are all fully active: 7.29.4 (Fronts are 4-ways, 108db/w/m, 2hz to 40khz +-3db, 14kW x 3. The ULF the subs are 4kW each, the PA subs are another 16kW.)
About ~100kW total burst potential, most of it bass.
That's just the front of the room (there's more...)
Anyhow: ridiculously amounts of power\loudness\overkill is my general-theme.
-I have over 23 years of experience with HT systems.
In 2016 I needed a DSP that could keep up with my addiction! Adobe\miniDSP\Behringer DCX just wasn't cutting it!
That and... I'm a just control freak... I wanted complete control of the DSP! (The rest is history.)
Anyway, maybe you find my Windows/ASIO-based DSP app useful for something too. Have fun!
-BTH out