Feature Proposal: Iterative Convergent Measurement/Eq Generation

drodgers

Registered
Thread Starter
Joined
Jan 18, 2025
Posts
1
More  
Preamp, Processor or Receiver
Marantz Cinema 70s | Schiit Freya+
Main Amp
Fosi V3 Mono
DAC
SMSL DO100 Pro
Turntable/Cartridge
Technics SL-1500C + Ortofon 2M Bronze | AT33PTG/II
Streaming Equipment
Wiim Mini
Other Equipment
MiniDSP DDRC24
Front Speakers
KEF R3 Meta
Center Channel Speaker
KEF R2 Meta
Surround Speakers
KEF Q4
Middle Height Speakers
KEF Ci200RS
Subwoofers
SVS SB3000
Hi! First post here. I've gotten a ton of value out of REW; thank you so much, John!

I've noticed that I've had the most success with low frequency sub-integration EQ when doing multiple rounds of measurement and equalisation. Typically, this has been:
  1. Perform measurements
  2. Generate 3-band PEQ correction for built-in SVS sub DSP
  3. Perform more measurements with the first EQ enabled
  4. Generate a second set of EQ corrections for a MiniDSP or similar
This makes theoretical sense if the response to EQ isn't linear (eg. room nulls cancelling out a frequency no matter how much the EQ boosts it); it's iteratively (N=2) applying a linear approximation to converge to a target via some unknown non-linear response function.

Recently I've been thinking that there's actually no need to do this with multiple layers of DSP the way I have been (SVS + MiniDSP), instead, this could all be done in REW to an arbitrary number of iterations (or until convergence). The proposed algorithm would be:
  1. Perform measurement sweep (one or more, configurable)
  2. Generate EQ filter
  3. Perform another sweep(s) with the latest EQ filter applied to the output
  4. Generate a new EQ filter and merge with the existing filter, then GOTO 3 until either a fixed number of iterations or some measure of convergence is reached
This could be applied in multiple positions like typical REW sweeps, but the easiest way would be to perform the full iterative optimisation process at each position and then average the resulting EQs (so you still only need to move the microphone between each position once).

I'm a programmer, so was thinking about experimenting with adding this to REW, but then I discovered that it's not open source. I might still try to do this with some horrible accessibility-mode automation of REW (eg. writing a script to click the buttons in the right order), but I suspect this will be a pain. Anyway, I thought I'd post the idea here so that someone else might pursue it in case I never get around to it. It's also possibly that something like this is already a feature and I've just missed it!
 
Last edited:

John Mulcahy

REW Author
Joined
Apr 3, 2017
Posts
8,209
You could use the API, though you need the pro upgrade to perform measurements via the API. It shouldn't be necessary, however, as the response to EQ should be linear. An example of where that wouldn't apply (and so where the EQ prediction would not match the measurement with EQ) is if the EQ were only applied to part of the output, e.g. EQ on a sub but measuring a sub + main.
 
Top Bottom