A Guide to Advanced Room Correction with REW and RePhase using Convolution filters

I am getting some complaints that this tutorial is too long so I am adding a 10-step quick guide for those of you who want to use Roon convolution filters for Dirac level speaker & room correction in both frequency and the time domain:

  1. With FDW ticked in preferences in REW, take two measurements at LP and four more measurements 25-30 cm away from LP at front, left, right and behind LP for each speaker (a total of 12 measurements). Time align and vector average for each speaker in All SPL in REW and save that average measurement for each speaker (export measurement as .txt)
  2. Under Group Delay tab generate minimum phase and check excess group delay graph for sharp dips and peaks for each speaker. Note these frequencies as “not to be equalized”.
  3. Find your speakers correct frequency response and equalize for that response curve. You can use “Generic” equalizer type in REW to use modal filters. Decrease modal peaks first by applying modal filters carefully adjusting (taking into consideration the reverberation time of 500 Hz – 2000 Hz) decay times (T60). You can use REW’s Room Sim to approximately find out your room’s modal frequencies.
  4. When you are done with all filters revert all modal filters to peak types and then switch from generic to rePhase EQ type (only first 17 filters will be used) and save the EQ filters for each speaker with “Save filter settings to file” under “Filter Tasks” selecting the correct speaker type (Left front & Right front)
  5. For each speaker, import your saved average measurement to rePhase, add your EQ filters for that speaker (import REW EQ filters - Paragraphic gain EQ) and generate an impulse (65536 taps, 48 kHz, 32-bit LPCM mono wav file). Import that impulse response to REW. Vector multiply that impulse with the average measurement and create an “excess phase version” of the multiplication. Export this as .txt to use in rePhase after resetting its settings.
  6. Correct this excess phase response with Paragraphic phase equalizer leaving lower frequencies alone (below 100 Hz) and use “Filters linearization” tools for any phase shifts caused by your speaker crossovers.
  7. Once excess phase response is flat enough import original average measurement to rePhase along with the original EQ filters created in REW.
  8. Generate one convolution filter for that speaker for each sampling frequency (rate) you will need making sure you increase number of taps in powers of two as the sampling frequency gets higher. 65536 taps will be enough for 44.1k and 48 kHz while 384 kHz requires 524,288 taps to truly reflect your corrections (you can see how well the correction filter fits your curve after generating the .wav file on the graph)
  9. rePhase will adjust FFT length automatically, leave centering, windowing, optimization at default values. All mono .wav formats work for Roon (I use 32 bits LPCM mono .wav)
  10. Zip all of the generated .wav files for each sampling rate and each speaker in a folder altogether and direct Roon convolution engine to that .zip file. Roon will pick the correct speaker and sampling rate automatically. Enjoy your music!
4 Likes

Looks interesting, but I can’t access the share

Thanks for the tip, I just updated the link now…

Cheers now it works, will have a look at it later.

Thanks Magnus. I had given up on equalizing some time ago until I read your tutorial and got some very good results. Then I decided to dive even deeper into it and wanted to share my experience here.

I tried RePhase at some point but didn’t get any improvement, probably because I had no idea what I was doing :slight_smile: Will try this guide later on (to much other real-life stuff to do now though).

Quickly checked the guide, and it seems like its a good step-up from the one I wrote (which is focused on being simple to do for non-technical people).

One thing though, how come linear EQ filters produce phase-shifts? Or are the filters that turns into convolution no longer linear phase?

Moving mic measurement with RTA does wonders to obtain a descent frequency response of the room but you lose the phase information so only good for PEQ corrections.

REW filters are 2nd order biquads (IIR filters) and cause phase shifts. In the below example I added one such filter with 6 dB boost at 1,000 Hz and look how the phase shifts (more than 40 degrees):

1 Like

Wonderfully written guide. I was able to follow it with success. Thanks!

1 Like

Hi @Serkan_Gur,
Thanks for the guide.
I am not using rephase. I want only to save impulse to wav.
I made the equalization, but I have a doubt how to export to wav.
In the export window, I can select the measurements files only (not the eq’s files, if there is one)

  1. This is a newbie question. Does Rew automatically load the eq settings I just created, when exporting impulse to wav?.
  2. Do I need to zip the wav file (stereo) o just load the wav file into Roon convolution?

This may be obvious, but is a doubt for me.
A more “logical/newbie” way was to let us create left/right eq filles, and then export both into a single wav file.
Any help is welcome,

Thanks
Antônio

You are right, when you “File/Export/Export filter impulse response as wav” in “stereo” mode and select a measurement setting for each of the Left and Right speakers, “the impulse response” of the EQ filters you designed for each of these measurements will be embedded in the .wav file. And Roon will know to read Left and Right channels separately from that wav file. But make sure you create one wav file for each sampling frequency you will use in Roon as in 48kHz, 96kHz, 192kHz, 44.1kHz, etc. Then zip them all in one file and point Roon convolution to that zip file.

Thanks. All understood!!!

I did a simple experiment with some RTA measurements I had, saved the measurement and correction from REW and imported them into rePhase, then fixed the phase as well as I could and used rePhase to generate the convolution.

I don’t know if it was only the phase fixes, or maybe rePhase is better at creating convolution files than REW, but it was a definite improvement. The occasional muddy details that I had before was totally gone.

Before phase fix, after importing measurement and correction into rePhase

After phase fix

1 Like

Glad to hear that Magnus! I am sure it was the phase fixes as EQ filter
phase shifts cause that “muddiness” exactly as you described. May be you should try to leave below 100Hz alone and compare the results. Phase EQ in that area may
sometimes cause resonance. I got good results by using REW “modal”
filters with no phase EQ below 100Hz and rephase everything else.

Cheers, I will experiment some more. I will try your full guide as once I get some time over, and maybe even try to do speaker measurement and fix phase for crossover.

I think the bass improved with the phase fix, more distinct and clean now (I don’t have a sub-woofer though which might complicate things).

1 Like

Hi @Serkan_Gur and @Magnus,
Are there any sweep wav files I can download, so it would be easier to measure the filter results using Roon output? (Play sweep inside Roon)
Just for check the filters I created. The Roon/main system playback chain is much better than the notebook I used to measure, so I would think this way will be more accurate to check. (I use a streamer that the notebook has no access)
Also, I appreciate how I would configure Rew to measure this way, if there is any difference.
Thanks
Antônio

Hi Antonio,

Just a short hint - REW has an export function of sweeps, which you then can playback in Roon once Ronn has imported them. Be aware of the resolution(s) you want to measure/correct with.

Hope this helps.

Cheers
NOA

Thanks @NOA
I will try
What you mean about resolution?
Antonio

Resolution as in 44.1KHz. 48KHz, 96KHz sampling rate of the sweep file.

1 Like

Thank You @NOA and @Serkan_Gur