Any plans for convolution and parametric EQ? [Released in Roon v1.3]

What software do you use to create filters?
Room EQ Wizard and Rephase

What software do you use to apply filters?
HQ Player

What do you use the filters for (e.g. room correction, headphones, digital xo, …)?
Room EQ to about 300 Hz

How large are your filters (how many taps, how many paths)?
Will check and edit in.

What CPU are you running them on?
i7H- 4500

REW - 2x mono *.wav - BruteFIR directly in RPi2 (Roon Endpoint)

For the Dirac fans among us, is there any hope there, or should we plan to find a new way to make filters suitable for your engine?

In terms of what to use instead of Dirac, I guess the Windows aspect is less of an issue as it’s ‘only’ going to be filter generation, for which I could use boot camp. But have never tried any Windows Room EQ programs so hopefully some current users can offer advice on what’s best if we have to go down that road. I don’t particularly like REW as you essentially have to try and manually make a complex filter whereas true room correction packages do the hard work for you and do whatever’s needed to achieve your target curve.

Jumping the gun I know, but will there be an option for presets? I.e. Have a way to call up different filters easily. Will it be a single parametric EQ? Will you be able to have a parametric EQ on top of convolution?

Bit pointless I know but:

What software do you use to create filters?

  • Dirac - but can’t export filters.

What software do you use to apply filters?

  • Dirac - can only use its filters or its AU plugin.

What do you use the filters for (e.g. room correction, headphones, digital xo, …)?
-RC

How large are your filters (how many taps, how many paths)?
-Up to 192. No idea on the taps.

What CPU are you running them on?
-Mac mini, 2012, i5, 8gb ram. Barely noticed Dirac using any resources.

The time to do something with Dirac is when we have some kind of plugin architecture, since I don’t think their corrections boil down to generating filters that we could run ourselves. We would actually have to invoke/run their code inside of Roon to make something work with them–which is a different kind of thing than we are building for 1.3.

I think we should do presets, but I’m not sure how they should work or where they should live (is it a “peq preset” or a “dsp configuration preset” or do both levels make sense? What about other things that want presets? I think we’re going to get some feedback from the alpha group before finalizing that decision.

You can insert as many PEQ or Convolution stages as you and your CPU can agree upon, order them how you like, and enable/disable them individually.

Fair enough re Dirac. I know the AU plugin situation isn’t an easy one for Roons architecture. To be honest, having RC will be great even if I have to change the way I do it (hopefully it will be as good ;)) There’s a simplicity to Dirac that’s special for those of us that don’t need advanced features - the Windows alternatives are complex by comparison. Still, time to get learning and get the mic stand out of the loft and dust it all down!

The thing Dirac had which was really nice was the ability to load 4 curves into the GUI so you could have a few to call upon. I usually had a neutral, plus a few different bass boost levels. Possibly this workflow will be redundant as it sounds like I would just make a neutral filter, and tweak bass in a PEQ. So I guess the presets there would be better in my case. The key will be calling them up easily from an iPhone or whatever.

This is really exciting news. Can’t wait to get DSP back in my setup. Roon really will be complete in terms of key sound quality features for me at that point.

I freely admit that I don’t currently use a general-purpose convolution engine. I use the built-in room correction DSP in a TacT setup, and would like to be able to explore doing that correction server-side instead (as well as potentially being able to room-correct more rooms than just the one with the TacT gear in it). So my answers to the below are theoretical, rather than based on current practice.

I’d like to be able to use Acourate to generate filters. I’ve used previous software written by Uli B - in fact it’s what I’m using to generate my TacT RCS DSP coefficients - and I assume I’d get good results from his current project.

I’d want to do room correction.

I’d like to be able to run them on the same machine which hosts my Linux Roon server now (currently sporting a Haswell-generation Xeon E3).

I do agree with you in evey term. I bought an Arcam AVR 550 with integradted Dirac.
The Arcam is absolutely stunning, but with my Dirac settings… it blows me, my neighbors and the house away…
Clarity, wide soundstage, incredible precise bass…
So, if Roon will have a kind of room correction in the future, that would be nice for everybody without Dirac, but probably not for me.

Full of enthusiasm at the news of possible Room Correction (or should I say Roon correction), I came home and hit the web for a couple of hours, keen to see what other options there were at taking measurements and making good filters.

Oh dear. Now I remember now why I went Dirac.

I’m still excited about the development, but I think I’ll just keep an eye on this space and see how others get on, while dreaming of an integrated Dirac.

Perhaps PEQ will be enough meantime.

Audiolense is probably the easiest to use of ‘the other’ programs. Both AL and Acourate is Windows only unfortunately.
Dirac should be interested in working with Roon to make their correction work there. It should be as easy as “use correction with Roon” and telling developers at Roon about the format. It can still be a secret to ‘outsiders’. Dirac has done this with MiniDSP so why not Roon?

Convolution filters I use are in .wav format

  1. DMG Equilibrium + Foobar
  2. HRTF measurements using REW
  3. Equalizer APO is a very useful tool for designing paremtric EQ in real time, then ceate a FIR filter using (1)

1.Roon -> HQP for music straight up EQ for headphone listening
2.Roon -> HQP for crossfeed, 2 ch HRTF, HQP only for 5.1 ch HRTF convolution (DSD source)
3. Netflix (Win10 App) ->VB ASIO Bridge -> JRiver (Metaplugin + Reverberate) 5.1 Ch HRTF -> Headphone for very low latancy 3d audio

All of the above and some more.

Depends on the application and sample rate, but I have used 32K or 64K taps without any issues. HRTF convolution on 5.1 channels is far more demanding and requires 12 convolutions.

2.5GHz i7 ( 2013 Dell XPS, 2015 Macbook pro), 2014 Mac Book air

What software do you use to create filters?
Room EQ Wizard

What software do you use to apply filters?
HQ Player

What do you use the filters for (e.g. room correction, headphones, digital xo, …)?
Headphones FR correction

How large are your filters (how many taps, how many paths)?
TBD

What CPU are you running them on?
i5-5250

I’ll add that I’m very excited to see PEQ coming soon in Roon. Currently, PEQ is the only thing I use HQPlayer for and frankly the multiple HQP restarts I have to do each day are detracting from my enjoyment of Roon.

@KMan, @pedalhead, can you explain a little bit more about how you’re building headphone-oriented filters? Are you taking headphone measurements with binaural microphones?

In my case, I’m simply working out the filters by ear via JRiver using its built in PEQ and then putting those settings manually into REW & exporting a wav file from there.

Any reason why you are using REW to generate an FIR filter instead of just using the PEQ directly?

EDIT: Oh. Because you’re using HQPlayer, and it can’t do that. Got it.

Yup, and I’ve not found a reliable alternative for applying PEQ if I want to keep Roon as my front end (which I do). HQP, whilst annoyingly requiring multiple resets a day, is the only workable solution I’ve found.

I use multiple methods:

EQ by ear
I use REW as signal generator to play sine sweeps, but one killer feature REW has is that it would let you use the mouse cursor to control the frequencies that are played and you can control the frequency range of the sweep using your mouse, it is done smoothly with no jitter. It is very easy to do precise EQ as REW would let you zoom in on a very narrow frequency band. I would listen/EQ for equal loudness between 200 Hz up to 15KHz (I am not a teenager so can’t hear beyond that)

To EQ in real-time I route REW output through Jriver Media Center through the Jriver’s ASIO driver (REW -> VB ASIO Bridge ->Jriver ASIO driver-> DMG Equilibrium (VST plugin running in Jriver)->DAC/Amp). DMG Equilibrium plugin is one of the best I have found for creating Prameteric filters. It isintutive to use and has tons of features. The problem is if you wanted a FIR filter, then you have to run a impulse through the plugin and get the FIR filter (which can easily be done using Foobar (convert + process option).

An alternate, and possibly easier approach is to use Equalizer APO and REW. REW can be used to play frequency sweeps and simply point REW to the DAC (windows system driver only, no ASIO support for APO). APO’s UI can be used to add and change parameteric EQ or graphic EQ in real-time. Then REW can be used to generate FIR filters by plugging in the the filter parameters.

Sorry both of the above options are Windows’ only. There may be a similar option for Mac, but I have not tried it.

Binaural Microphone:
For frequencies below 2KHz, it is possible to do a precise EQ if you have access to binaural microphones. I use REW + Smyth A8 Realiser which can also be used to measure HRTFs. For frequencies below 1KHz, I find this approach better as it is hard to judge loudness at low frequencies, but I do not trust measurements above 2KHz and even if I did, It is hard to determine a target response.

Dummy heads and Ear/Cheek Simulators
If you have access to them, this is a good alternative to Binaural microphone, especially for IEMs again only for frequencies less than 2KHz.

1 Like

I’m using 64k filters generated in acourate in HQP. I’ve found that I need to add 20db of gain comp to get things loud enough on my DAC due to the way the filter were built to remove a suckout. I’m sort of thinking the Roon convolver will be most useful for my squeezeboxen spread throughout the house, rather than as an alternative to HQP in my main system.

What software do you use to create filters?

  • Acourate

What software do you use to apply filters?

  • Currently AcourateConvolver

What do you use the filters for (e.g. room correction, headphones, digital xo, …)?

  • Room Correction
  • Digital XO
  • Multiple Subwoofer Integration

How large are your filters (how many taps, how many paths)?

  • 131072 taps
  • up to 16 filter paths

What CPU are you running them on?

  • AMD FX-8120
1 Like

Hi @brian,

So glad to hear that convolution is now officially on the near-term product roadmap! Here are my answers to your questions:

Acourate

JRiver Media Center’s Convolution Engine

room correction for the Loft

32,768 taps, 2 paths (stereo, no active XO)

Intel Atom (Quad-core) processor Z3735F - part of an Azulle Quantum Byte Fanless PC

Please have a look at the way JRiver handles switching filters depending on source sampling rate. They are apparently leveraging this open source convolver library…or at least their configuration file format: http://convolver.sourceforge.net/

For example, I have these config files that represent the sampling frequencies of the FIR filters that I generated using Acourate:

  • Cor2.0_441.cfg
  • Cor2.0_48.cfg
  • Cor2.0_88.cfg
  • Cor2.0_96.cfg
  • Cor2.0_176.cfg
  • Cor2.0_192.cfg
  • Cor2.0_352.cfg
  • Cor2.0_384.cfg

Each one looks like this…only differences are the sampling rate and the filter file that they reference:

96000 2 2 0
0 0
0 0
S:\Acourate\Loft_DRC\Cor1S96.wav
0
0.0
0.0
S:\Acourate\Loft_DRC\Cor1S96.wav
1
1.0
1.0

The actual filter files are 64-bit stereo wav files:

-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S44.wav
-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S48.wav
-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S88.wav
-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S96.wav
-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S176.wav
-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S192.wav
-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S352.wav
-rw-rw-r-- 1 dsnyder users 1.1M Sep  4 18:14 Cor1S384.wav

Note that I’ve added hyperlinks to more information. Don’t hesitate to PM me if I can be of further assistance. Really looking forward to giving this feature a try. Cheers.

– David