I’ve been playing around with DSP in Roon and thought I 'd share what I’ve been up to in case it helps anyone.
I read an excellent article by Mitch Barnett (https://audiophilestyle.com/ca/ca-academy/audiolense-digital-loudspeaker-and-room-correction-software-walkthrough-r682/) that got me started on this. The basic idea is that speakers usually don’t have a perfect step response (because of the distance between tweeter, woofer and sub, as well as delays introduced by electronic crossovers, and the room acoustics).
I ended up purchasing his book, and Audiolense (a software that computes the proper DSP correction to be applied). After a couple of weeks of trial and error I managed to produce a good 3 way digital crossover, and room correction. Audiolense creates a wave file that contains 6 wav tracks (left sub, left woofer, left tweeter, right sub, right woofer, right tweeter), that the DSP software is supposed to use.
The problem is how to use this wave file in Roon on a stereo signal. My solution was to use Adobe Audition to separate the file into 3 stereo files for sub, woofer and tweeter. I then created 3 zones in Roon and grouped them together. I loaded each file in Roon 's convolution filter.
To complicate things because I 'm just experimenting I’ve used the equipment I had on hand.
For the DSP creation phase, I connected a 5.1 external sound card (Xonar U5) to my laptop. The front output was connected to my main amp (Benchmark AHB2) --> woofers. The rear output was connected to my powered subwoofer (velodyne dd12). The center/sub output was connected to my marantz receiver --> tweeters.
For playback with roon (running on a NUC PC, OS: ROCK), I connected:
the ‘woofer’ Zone via USB to a benchmark DAC 2 --> AHB2 --> woofer.
the tweeter zone via USB to Xonar U5 --> marantz --> tweeter.
the subwoofer zone via Nuc’s internal sound card 's audio jack to the subwoofer.
Because I have different zones with different DACs the signal of the three zones was not time synchronized (and the volumes were different). I created a 10 Hz square wave playing in short bursts using Adobe audition. I played that through Roon (no DSP activated yet). I then hooked the output of the DACs (for example R channel from benchmark, L channel from Xonar) to my laptop and measured the delay and volume difference. I entered the changes in roon (under DSP/speaker setup for the volume and under device setup advanced group delay). I replayed my square burst and verified the signals were synchronized and the volumes matched). I noticed a bit of variability in the synchronization, so the process is not perfect.
I finally entered the DSP files (convolution filter) for each zone. I then muted all outputs, and got roon to play another audio file I’d generated in Adobe Audition (a white noise at full volume). I then checked for signal clipping and adjusted my headroom to avoid clipping (same value for 3 zones). Interestingly Billie Eilish’s Bad guy managed to clip (somehow louder than my white noise). So I re-adjusted my headroom.
After that, the outputs were un-muted, to listen music. For a check, I played R and Left REW generated sweep tones through Roon (dsp engaged), and measured the result in REW. It matched audiolense’s predicted step response pretty well.
Once I’ve listened for a while, if I like the system, I plan on finding a DAC that has 3 channels. Ideally I’d find a workaround so Roon plays everything through 1 zone. I’ll also buy another AHB2 for the tweeters.
Not sure if any of this made any sense, or if anyone is interested, but hopefully it’ll help someone.