• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Obsessive compulsive manual DRC in REW/rePhase

StefanR

Member
Joined
Jan 17, 2020
Messages
10
Likes
3
Location
Sweden
Hello fellow madmen (and hopefully the occasional female),

I have lately been, rather intensly, watching the great Youtube videos of "Obsessive Compulsive Audiophile" (user @OCA ), a by now well-known Frankfurt genius :) He shows in detail how to correct for speaker/room deficiencies/influence using only the freeware REW and rePhase software.

Mastering that craft could put one in more control than when using more automated methods, I presume.

I focus on 2.0 and 2.1 systems and am struggling a bit to understand which of the presented methods that can be combined and in what order that should be. The videos I am referring to were released mainly between 2 yeras ago and up until 8 months ago.

For instance there is:

* VBA - Virtual Bass Array, create a convolution filter which reduces LF dips and peaks based on an inverted LP filter with appropriate cut-off frequency and slope, adapted to room measurements/fundamental mode frequency. Allegedly (from Youtube comments) it is hard to combine this method with other filters?

* Inversion of FR around a target curve (instead of REW's parametric EQ)

* Inversion of minimum phase response below Schröder frequency (the method which was last presented and considered superior to the other inversion method above)

* Correction of phase skews from crossover, bass reflex port and box

* Other corrections of excess phase in rePhase using allpass-filters

Generally, the rePhase actions seemed more difficult to me and more of an art. Except maybe when only (roughly) the direct sound was windowed out in REW before export to rePhase.

A video or text clarifying a kind of current best practice would be much appreciated. Of course, all help from anyone with sufficient experience in this field is very much welcome.

Thank you & a nice weekend
 
Last edited:
I am not sure what you are asking here. The question is way too general. If you want a manual on how to do OCA's corrections, get a pen and paper and take notes while watching his videos.
 
I am not sure what you are asking here. The question is way too general. If you want a manual on how to do OCA's corrections, get a pen and paper and take notes while watching his videos.
Well since new methods were gradually added I could not quite tell how/if they fit together.
 
Having extensively experimented with REW and rePhase, I can say this: On my third attempt, Dirac Live delivered far better results than I was ever able to achieve through manual tweaking. It was also much simpler and at least a hundred times faster.

However, I don't regret the countless hours spent with REW and rePhase, as they taught me a great deal about acoustics and measurements.
 
Without watching the videos...

It shouldn't be THAT complicated. With EQ, you can correct the bumps, and to some extent the dips in frequency response.

Where it gets tricky is that standing waves create dips & bumps that depend on where you are in the room so the correction can only be "perfect" in one spot, no matter how advanced the software. That's why bass traps and other acoustic treatments (or multiple subwoofers) are often recommended first, and then the remaining problems can be fixed-up with EQ. Note that bass traps trap the reflected bass so they can smooth-out the bumps and the dips.

The other issue is that you can't correct a deep dip (a standing wave null where the waves cancel)... 6db of boost is 4 times the power and 12dB is 16 times the power so it takes enormous amplifiers & woofers to overcome the cancelation. It's the same issue if your woofer/subwoofer can't put-out deep bass... There's only so-much you can do with bass-boost/EQ.

"Phase" is really only an issue when two (or more) waves our out-of-phase relative to each other. For example, at the crossover frequency where your main woofer and sub woofer are both operating, you want the waves from both speakers to be in-phase and operating together. Above and below the crossover range it's not a problem if there is a phase shift in one or the other.

It also depends on the distance-difference. If you are closer to one speaker than the other, there can be a phase difference (because of delay from the speed of sound) even if the speaker cones are operating together. But since low-frequency wavelengths are long, it's usually not a big issue unless the polarity is completely reversed. 100Hz has a wavelength of about 11-feet. So if 2 speakers are playing a 100Hz tone and one is 5 or 6 feet closer to you than the other, the waves will arrive at your ears 180 degrees out-of-phase and cancel (or partially subtract from each other).

DSP can also introduce phase shifts either intentionally or as a side-effect of EQ/filtering. That can be an issue if your subwoofer has built-in DSP that's separate from your main speakers.
 
I used OCA's video, from 2022, to come up with room correction files for my 2 ch system.
The improvement was massive - in fact so much so that I would advise that, if you're considering new speakers, to do this first.
You might be amazed, as I was, just how much better your present spkrs can sound.

But back to the OP's question:
If you look through the comments below the YouTube video, there is a downloadable pdf which is a step by step guide to what he shows in the video.

Print it out and it will guide you through the process, that's what I did.
But watch the vid several times first, so it makes sense,

Good Luck...
 
Last edited:
I was able to reach truly excellent results by:
1) exporting an excess phase version of my measurement from REW (incl. mic cal with phase data) with FDW=4 and to that apply rePhase linearization of cross-overs and also two allpass-filters to eliminate rotations and finally some moderate improvements with the phase eq. Export IR to use in REW. Save rePhase settings or those are lost.
2) Back to REW: invert the response 20-200 Hz of a min phase version of the measurement with max 5 db boozt (depending on speaker power handling etc.) and use a min phase version of that (or there may be strong pre-ringing) as an EQ filter. For 200-500 Hz I used REW's Auto EQ with 3 db allowed boost and for 500-20000 also but with very short windowing to roughly include only direct sound. My house curve used is down 4 db from 200 to 10 000.
3) multiply all filters so far into one and apply to original measurement and then feed that as input to DRC-FIR by Mr. Sbragion at Soft settings, I used DRC Designer GUI by Alan Jordan. Do not forget mic file again, since cal data is not included in IR export from REW. Target file can be left at flat, since DRC creates its own psychoacoustic target, which worked well (about the same tilt as mentioned house curve)
4) optionally combine the resulting DRC IR convo file with your IR from REW into one.
(Noticed that DRC-FIR seems reluctant to touch excess phase, also with "normal" config, it seems to focus on magnitude fine-tuning).
 
I was able to reach truly excellent results by:
1) exporting an excess phase version of my measurement from REW (incl. mic cal with phase data) with FDW=4 and to that apply rePhase linearization of cross-overs and also two allpass-filters to eliminate rotations and finally some moderate improvements with the phase eq. Export IR to use in REW. Save rePhase settings or those are lost.
2) Back to REW: invert the response 20-200 Hz of a min phase version of the measurement with max 5 db boozt (depending on speaker power handling etc.) and use a min phase version of that (or there may be strong pre-ringing) as an EQ filter. For 200-500 Hz I used REW's Auto EQ with 3 db allowed boost and for 500-20000 also but with very short windowing to roughly include only direct sound. My house curve used is down 4 db from 200 to 10 000.
3) multiply all filters so far into one and apply to original measurement and then feed that as input to DRC-FIR by Mr. Sbragion at Soft settings, I used DRC Designer GUI by Alan Jordan. Do not forget mic file again, since cal data is not included in IR export from REW. Target file can be left at flat, since DRC creates its own psychoacoustic target, which worked well (about the same tilt as mentioned house curve)
4) optionally combine the resulting DRC IR convo file with your IR from REW into one.
(Noticed that DRC-FIR seems reluctant to touch excess phase, also with "normal" config, it seems to focus on magnitude fine-tuning).
Also building three step crosstalk cancellation in CamillaDSP is a tip for speaker listening, yields a nice wide stage image. Using standard 17 cm head width should work well for most. So calculate the microseconds of difference btw the time it takes sound to travel from one speaker to each ear. Pythagoras will help with this easy task.
 
Hey,

I am really just starting to learn time domain correction, but isn't the general consensus that phase shifts are in fact inaudible? So referring specifically to phase correction, is this really needed?
 
I don't really know about the phase. I used Rephase and it was difficult to puzzle together effective filters. For someone starting out, I would go for just DRC-Designer by Alan Jordan.
 
  • Like
Reactions: CK.
I am really just starting to learn time domain correction, but isn't the general consensus that phase shifts are in fact inaudible? So referring specifically to phase correction, is this really needed?

It helps to define what we are talking about.

1. Low frequency phase correction: audible and measurable difference. Correcting LF phase helps remove peaks and dips in the frequency response.
2. Inter-channel phase distortion (i.e. phase asymmetry between left and right speakers): audible. For an extreme demonstration, try inverting the polarity of one of your speakers.
3. Intra-channel phase distortion: previously thought to be inaudible, now thought to be audible. See this thread for an extensive discussion.
 
  • Like
Reactions: CK.
It helps to define what we are talking about.

1. Low frequency phase correction: audible and measurable difference. Correcting LF phase helps remove peaks and dips in the frequency response.
2. Inter-channel phase distortion (i.e. phase asymmetry between left and right speakers): audible. For an extreme demonstration, try inverting the polarity of one of your speakers.
3. Intra-channel phase distortion: previously thought to be inaudible, now thought to be audible. See this thread for an extensive discussion.
You are absolutely right we need to be specific and thanks for the info.

What I still dont quite get, if phase is relative then for a single channel the dips/peaks in the response are caused by room reflections. So having one source how can there be a signal processing change that would rectify reflections? Wont there always be a cancellation?

In a multichannel home theater environment is it even possible to correct interchannel phase distortion at higher frequencies?
 
What I still dont quite get, if phase is relative then for a single channel the dips/peaks in the response are caused by room reflections. So having one source how can there be a signal processing change that would rectify reflections? Wont there always be a cancellation?

If you have multiple speakers and subwoofers, you can adjust the phase of the other drivers to get rid of the peaks and dips. And you have 2 speakers :)

In a multichannel home theater environment is it even possible to correct interchannel phase distortion at higher frequencies?

It is possible to correct it for a single, extremely specific microphone position. As wavelengths get longer (i.e. bass wavelengths) the microphone position becomes less specific and phase distortion becomes more correctable. But we are really talking about bass wavelengths here. Think about it - a 100Hz wavelength is 3.43m (11 feet) long. A single listener might move about 0.5m (1.6ft) in a listening chair. That wavelength is very long compared to how much you might move. As wavelengths get shorter, the correction becomes more and more specific to that location until it is 17.15mm (0.7 inches) at 20kHz.

So, interchannel phase correction at high frequencies with DSP is a very bad idea. It is better to think about the causes of the phase distortion - assuming your speakers are identical, the causes will be asymmetric placement of speakers in your room, strange shaped room, non-centred listening position, etc. In other words, reposition your loudspeaker and consider room treatment.
 
  • Like
Reactions: CK.
If you have multiple speakers and subwoofers, you can adjust the phase of the other drivers to get rid of the peaks and dips. And you have 2 speakers :)



It is possible to correct it for a single, extremely specific microphone position. As wavelengths get longer (i.e. bass wavelengths) the microphone position becomes less specific and phase distortion becomes more correctable. But we are really talking about bass wavelengths here. Think about it - a 100Hz wavelength is 3.43m (11 feet) long. A single listener might move about 0.5m (1.6ft) in a listening chair. That wavelength is very long compared to how much you might move. As wavelengths get shorter, the correction becomes more and more specific to that location until it is 17.15mm (0.7 inches) at 20kHz.

So, interchannel phase correction at high frequencies with DSP is a very bad idea. It is better to think about the causes of the phase distortion - assuming your speakers are identical, the causes will be asymmetric placement of speakers in your room, strange shaped room, non-centred listening position, etc. In other words, reposition your loudspeaker and consider room treatment.

OK I see thank you. With 2 speakers in order for the phase adjustment to work you would need to have a mono signal (e.g. vocals) right? in all other stereo source this would not apply? Bass is mono below 200Hz?

Regarding phase correction in bass frequencies, that would also exclude <80Hz assuming a single sub setup crossed at 80hz and that would leave something like 100-200Hz as potential candidate Im guessing. So all this trouble for a couple of dips (if any) between this range?

Is my reasoning correct?
 
OK I see thank you. With 2 speakers in order for the phase adjustment to work you would need to have a mono signal (e.g. vocals) right? in all other stereo source this would not apply? Bass is mono below 200Hz?

I am not sure what you mean by this question.

If we are talking vinyl and turntables, then yes - bass is mono below 200Hz. If we are talking about what we are able to hear, then you can hear stereo bass down to 80Hz, but there is evidence it may be even lower. If we are talking whether you can practically hear the effect of stereo bass in a typical listening room, then it depends on how you have positioned your subwoofers - see Griesinger stereo bass. If we are talking about recordings, then it depends on the recording obviously.

In general, when we DSP, we use sine waves and assume that the recording does not have significant left/right differences below 200Hz, i.e. it may not be mono, but the phase differences between left/right are so minor that it is close to mono. This assumption may or may not be correct, and I know of no way to test this. All I can say is that when I play sine waves in mono, I can make my peaks and dips disappear through a combination of time domain and amplitude domain adjustment. Whether this holds up with actual music, I can't say.

Regarding phase correction in bass frequencies, that would also exclude <80Hz assuming a single sub setup crossed at 80hz and that would leave something like 100-200Hz as potential candidate Im guessing. So all this trouble for a couple of dips (if any) between this range?

Phase correction for subwoofers is important for a couple of reasons:

1. The most important reason is to avoid cancellation at the crossover band. If your sub is 180deg out of phase with your speakers at the XO band, you will see a broad and nasty dip.
2. Room modes will inevitably cause peaks and dips in the frequency response. If multiple speakers are covering this range, the phase of each can be adjusted over a narrow band to get rid of the dips, and the peaks can be EQ'ed out.

I am sensing that you are wondering whether all this is worth the trouble. The answer is that it is theoretically audible, but "how much is it audible" depends on the severity of your problem, whether you listen to music which demonstrates this problem, and how discerning you are. As you can see, there are a few unknowns in this answer, and the only one we on ASR can solve is "severity of the problem" by asking you for measurements. We have no idea what music you listen to, or how sensitive you are to bass anomalies. That is something that only you can answer. Some of us (like me) like nice looking measurements, because it often translates to a good listening experience. I am under no illusions that knowledge that I have nice measurements contributes to how good it sounds - expectation bias.
 
  • Like
Reactions: CK.
I am not sure what you mean by this question.

If we are talking vinyl and turntables, then yes - bass is mono below 200Hz. If we are talking about what we are able to hear, then you can hear stereo bass down to 80Hz, but there is evidence it may be even lower. If we are talking whether you can practically hear the effect of stereo bass in a typical listening room, then it depends on how you have positioned your subwoofers - see Griesinger stereo bass. If we are talking about recordings, then it depends on the recording obviously.

In general, when we DSP, we use sine waves and assume that the recording does not have significant left/right differences below 200Hz, i.e. it may not be mono, but the phase differences between left/right are so minor that it is close to mono. This assumption may or may not be correct, and I know of no way to test this. All I can say is that when I play sine waves in mono, I can make my peaks and dips disappear through a combination of time domain and amplitude domain adjustment. Whether this holds up with actual music, I can't say.



Phase correction for subwoofers is important for a couple of reasons:

1. The most important reason is to avoid cancellation at the crossover band. If your sub is 180deg out of phase with your speakers at the XO band, you will see a broad and nasty dip.
2. Room modes will inevitably cause peaks and dips in the frequency response. If multiple speakers are covering this range, the phase of each can be adjusted over a narrow band to get rid of the dips, and the peaks can be EQ'ed out.

I am sensing that you are wondering whether all this is worth the trouble. The answer is that it is theoretically audible, but "how much is it audible" depends on the severity of your problem, whether you listen to music which demonstrates this problem, and how discerning you are. As you can see, there are a few unknowns in this answer, and the only one we on ASR can solve is "severity of the problem" by asking you for measurements. We have no idea what music you listen to, or how sensitive you are to bass anomalies. That is something that only you can answer. Some of us (like me) like nice looking measurements, because it often translates to a good listening experience. I am under no illusions that knowledge that I have nice measurements contributes to how good it sounds - expectation bias.
I appreciate the detailed response thank you for your time.

My last question would be, the correction filters in a typical listening setup with an integrated amp / seperates and a built in streamer would need to be applied in a standalone device such as a minidsp (assuming you can place it between the signal path) but is there any other way/device you could apply this correction (phase) (excluding subwoofer)? I consider a PC not a real option cause its not a very popular way to stream music.


Moreover, in a home theater surround setup (say 5.1) does this reasoning apply or is it only for stereo (again not talking about sub xo)
 
You will need some kind of computing device to perform DSP. Your options are:

- PC running Windows or Linux, or Mac. It is definitely a real option, because lots of people stream music on a PC. Myself included.
- Raspberry Pi running Linux and CamillaDSP.
- A hardware convolver, e.g. MiniDSP, DEQX, Danville DSP Nexus, etc.
- AVR. But these are usually very limited in what they can do.

The latter two options usually have low powered DSP chips and are incapable of running linear phase FIR filters. You want linear phase FIR because they are easier to design, and they sound better since there is no phase distortion. The problem with linear phase FIR is higher computing requirements and latency (which depends on the length of the filter in taps). A poorly designed linear phase FIR may also have pre-ringing, which minimum phase IIR's do not have.
 
  • Like
Reactions: CK.
You will need some kind of computing device to perform DSP. Your options are:

- PC running Windows or Linux, or Mac. It is definitely a real option, because lots of people stream music on a PC. Myself included.
- Raspberry Pi running Linux and CamillaDSP.
- A hardware convolver, e.g. MiniDSP, DEQX, Danville DSP Nexus, etc.
- AVR. But these are usually very limited in what they can do.

The latter two options usually have low powered DSP chips and are incapable of running linear phase FIR filters. You want linear phase FIR because they are easier to design, and they sound better since there is no phase distortion. The problem with linear phase FIR is higher computing requirements and latency (which depends on the length of the filter in taps). A poorly designed linear phase FIR may also have pre-ringing, which minimum phase IIR's do not have.
OK I have some more reading to do before completely ingesting what you said but I was under the impression that miniDSP supported FIR filters.

Apparently, avrs having Audyssey room correction (I have one) allow for manual FR EQ using FIR filters (providing a graphical PEQ user interface to do so).

I will play a bit with a PC convolver and revert back.

Cheers for all the help!!
 
OK I have some more reading to do before completely ingesting what you said but I was under the impression that miniDSP supported FIR filters.

It does. MiniDSP has maybe a dozen IIR biquads (can't remember exactly how many) + 1024 FIR taps per channel - i.e. mixed phase.

Because FIR is much less efficient than IIR, you need thousands of taps. This is what happens if you take a subwoofer filter (I started off with 131,072 taps) and truncate it down to different tap lengths:

1731462011046.png


The size of each bin is (sample rate / tap length). So, for 48kHz and 1024 taps, each bin is 47Hz wide. This means that below 100Hz, you only have two bins. This is inadequate for bass correction, so MiniDSP uses IIR PEQ's instead.

Note that 32768 per channel is what I would call the bare minimum. You ideally want 65536 taps and up. Choosing even longer tap lengths lets you describe the curve even more finely but beyond 65536 taps you are well into the point of diminishing returns. And then you start running into the cost of running a lot of taps. The concern isn't so much that the computing requirements go up, since even a Raspberry Pi can easily run 8 channels of 128k taps at 192kHz with 50% CPU usage. The concern is FIR filter latency - the more taps you have, the longer you have to wait, irrespective of CPU power. And if you have a complex signal chain, you run the risk of filling up your buffer.

Apparently, avrs having Audyssey room correction (I have one) allow for manual FR EQ using FIR filters (providing a graphical PEQ user interface to do so).

Same story as MiniDSP. In fact they used the same chips - SHARC ADSP family, some of them 3rd gen, some of the latest ones 5th gen.
 
  • Like
Reactions: CK.
It does. MiniDSP has maybe a dozen IIR biquads (can't remember exactly how many) + 1024 FIR taps per channel - i.e. mixed phase.

Because FIR is much less efficient than IIR, you need thousands of taps. This is what happens if you take a subwoofer filter (I started off with 131,072 taps) and truncate it down to different tap lengths:

View attachment 405972

The size of each bin is (sample rate / tap length). So, for 48kHz and 1024 taps, each bin is 47Hz wide. This means that below 100Hz, you only have two bins. This is inadequate for bass correction, so MiniDSP uses IIR PEQ's instead.

Note that 32768 per channel is what I would call the bare minimum. You ideally want 65536 taps and up. Choosing even longer tap lengths lets you describe the curve even more finely but beyond 65536 taps you are well into the point of diminishing returns. And then you start running into the cost of running a lot of taps. The concern isn't so much that the computing requirements go up, since even a Raspberry Pi can easily run 8 channels of 128k taps at 192kHz with 50% CPU usage. The concern is FIR filter latency - the more taps you have, the longer you have to wait, irrespective of CPU power. And if you have a complex signal chain, you run the risk of filling up your buffer.



Same story as MiniDSP. In fact they used the same chips - SHARC ADSP family, some of them 3rd gen, some of the latest ones 5th gen.
oh wow ok, now I get it, interesting... Below the XO region, an IIR which causes phase shift would not actually have any impact (audio distortion) right?
 
Back
Top Bottom