• 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!

Room Measurement Tutorial for Dummies Part 2

Disruptor

Member
Joined
Mar 26, 2018
Messages
42
Likes
7
could someone suggest me software that can apply the eq paremeters from REW?
Im now using Equalizer Apo with Peace installed and if i enable the EQ in Peace REW seems to ignore the EQ ive applied and the measurement bevor and after are identical.
I dont have a minidsp or some sort only a pc and a scarlett 2i2.
 
OP
amirm

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,376
Likes
234,548
Location
Seattle Area
I don't recall REW being able to auto-program any DSP. Instead, it generates a list a filter values that you then put in your unit manually. I think it had support for some devices but most of the time, you have to do it manually. It certainly had no feature to detect that you have enabled DSP in any external device. So keep the option off, make your measurements and tell REW to generate the filter list for you. You can select a device in there that has parameters closest to your DSP functionality if it is not listed in REW. Then put those values in the DSP, turn it on and remeasure and listen for changes.
 

Disruptor

Member
Joined
Mar 26, 2018
Messages
42
Likes
7
Okay sorry that i wasn't clear I've generated generic eq in REW and entered those values in an other Programm called "equalizer apo with the extention called peace" and my problem is that REW somehow bypasses equalizer apo while i do my measurements and i get the same response while measuring but while i listen to music there is a huge difference present
2019-01-29 20_39_51-REW V5,19.png
as you can see there is no significant difference just in the highs a slight one

2019-01-29 20_40_03-Peter's Equalizer APO Configuration Extension (Peace) 1.4.8.6 - test_.png
and those would be the filters ive appied
 
Last edited:

Severian

Active Member
Forum Donor
Joined
Jan 11, 2019
Messages
217
Likes
201
Today I spent a few hours manually developing EQ filters and delays for my speakers and subs after months of being fairly unhappy with what REW was generating for me automatically. I just used trial and error and dozens of measurements to dial them in on my DSP this time. I dropped the levels by 9db so I could do some big boosts where called for. It's a small room with huge subwoofers so the room modes are a major issue, and I haven't gotten to making bass traps and panels yet.

Wow, what a difference. It sounds like my room doubled in size.
 

levimax

Major Contributor
Joined
Dec 28, 2018
Messages
2,349
Likes
3,462
Location
San Diego
Okay sorry that i wasn't clear I've generated generic eq in REW and entered those values in an other Programm called "equalizer apo with the extention called peace" and my problem is that REW somehow bypasses equalizer apo while i do my measurements and i get the same response while measuring but while i listen to music there is a huge difference present
View attachment 21037
as you can see there is no significant difference just in the highs a slight one

View attachment 21038
and those would be the filters ive appied

If you want to test you entire signal chain you need to generate a sweep file and play it through your music player which REW can "listen to" and process. Here is a link https://www.roomeqwizard.com/help/help_en-GB/html/offlinemeasurements.html ... if you have a PC as part of your playback system you might want to look into a program call rephase.... it allows you to phase align your systems in addition to EQ. I think it is great but be prepared for a learning curve ..... good news is all it costs is time.
 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451
I've been experimenting with the free DRC-FIR room correction software for a couple months now. If you feed it an impulse response exported from REW, it produces a correction filter (FIR filter) that can be used with a convolution engine. I use the free brutefir convolution engine with the BrutefirDRC plugin for Logitech Media Server.

Archimago had an excellent post on BrutefirDRC a few years ago.

For the speaker+room frequency response, I use REW and a UMIK-1 mic. I generate the left/right measurement sweep files from the REW Generator dialog and then copy them to my music server to play them back through my system later (click to embiggen).

Screen Shot 2019-03-28 at 7.48.49 PM.png

For playing "offline" like this, make sure you check "Add Timing Ref". This adds a short chirp before the sweep proper starts. You would then check "Use acoustic timing reference" in the "Measure" dialog so that it will wait for this chirp to start recording.

Screen Shot 2019-03-28 at 7.55.18 PM.png

Click "Start" to start the measurement and then play back the sweep from the music server. Once you have a measurement, export it to a 32-bit WAV file: File -> Export -> Export Impulse Response as WAV.

Screen Shot 2019-03-28 at 8.03.16 PM.png

DRC-FIR needs the impulse response in a "raw" format as 32-bit floating point numbers. I use sox to convert from WAV to the raw format:

$ sox impulse.wav -t f32 impulse-44100.pcm rate -v -s 44100

Here I've converted the WAV file to raw bytes and downsampled it to 44100.

I do all my processing on a Linux Mint box, and there it's very easy to install DRC-FIR

$ sudo apt install drc

But binaries are also provided for Windows in a tarball (they are in the sample directory).

DRC-FIR has a ton of adjustable parameters that affect how the correction is computed, but it also provides a set of standard configuration files with preset parameters with different levels of correction. These are named: minimal, erb, soft, normal, strong, extreme, and insane. These config files are provided for 44.1, 48, 88.2 and 96 kHz sample rates.

So finally, to turn the measured impulse response into a correction filter, the drc command is

$ drc --BCInFile=impulse-44100.pcm --PSOutFile=filter-l-44100.pcm --MCPointsFile=7032857.txt "/usr/share/drc/config/44.1 kHz/normal-44.1.drc"

Breaking it down: BCInFile is our input impulse response measurement, PSOutFIle is where the correction filter will be saved, MCPointsFile is the microphone frequency response correction file (You can just leave this empty if you don't have a correction file) and the final file name on the line is the DRC-FIR config file with the parameters that will be used. By default, drc uses a "psychoacoustic" target file, but several target files, such as the popular B&K target, are also provided, or you could make your own target file (it's just frequency/amplitude pairs).

Of course, I don't type all those commands in, I have a shell script that automates everything. Maybe more on that later, but on to some graphs...

Here are before and after plots of frequency response with 1/6 octave smoothing using the "normal settings".

left_normal.png

right_normal.png


I haven't quite figured out how to interpret some of the other plots that REW provides yet.

The gear chain is

Logitech Media Server ==> RPi-3B running piCorePlayer ==> Auralic Vega USB ==XLR==> Bryston 3B-SST ==> Vandersteen Quatros

The Quatros have built in active subwoofers with an 11-band analog EQ, which I've set to flat for this measurement and test.

So how does it sound? Well for the past month I've been really enjoying it with a different gear chain with a tube preamp and tube monoblocks, and there DRC-FIR did a wonderful job of cleaning up the bass and tightening up the imaging. I would never want to go back to un-corrected.

However with this alternate "purist" chain the bass seems a bit too light and the treble is a bit too tipped up. You can see a rise in the treble of the corrected response starting at about 6 kHz. TIme to experiment with some different settings and target files.
 
Last edited:

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
I've been experimenting with the free DRC-FIR room correction software for a couple months now. If you feed it an impulse response exported from REW, it produces a correction filter (FIR filter) that can be used with a convolution engine. I use the free brutefir convolution engine with the BrutefirDRC plugin for Logitech Media Server.

Archimago had an excellent post on BrutefirDRC a few years ago.

For the speaker+room frequency response, I use REW and a UMIK-1 mic. I generate the left/right measurement sweep files from the REW Generator dialog and then copy them to my music server to play them back through my system later (click to embiggen).

View attachment 24256

For playing "offline" like this, make sure you check "Add Timing Ref". This adds a short chirp before the sweep proper starts. You would then check "Use acoustic timing reference" in the "Measure" dialog so that it will wait for this chirp to start recording.

View attachment 24258

Click "Start" to start the measurement and then play back the sweep from the music server. Once you have a measurement, export it to a 32-bit WAV file: File -> Export -> Export Impulse Response as WAV.

View attachment 24259

DRC-FIR needs the impulse response in a "raw" format as 32-bit floating point numbers. I use sox to convert from WAV to the raw format:

$ sox impulse.wav -t f32 impulse-44100.pcm rate -v -s 44100

Here I've converted the WAV file to raw bytes and downsampled it to 44100.

I do all my processing on a Linux Mint box, and there it's very easy to install DRC-FIR

$ sudo apt install drc

But binaries are also provided for Windows in a tarball (they are in the sample directory).

DRC-FIR has a ton of adjustable parameters that affect how the correction is computed, but it also provides a set of standard configuration files with preset parameters with different levels of correction. These are named: minimal, erb, soft, normal, strong, extreme, and insane. These config files are provided for 44.1, 48, 88.2 and 96 kHz sample rates.

So finally, to turn the measured impulse response into a correction filter, the drc command is

$ drc --BCInFile=impulse-44100.pcm --PSOutFile=filter-l-44100.pcm --MCPointsFile=7032857.txt "/usr/share/drc/config/44.1 kHz/normal-44.1.drc"

Breaking it down: BCInFile is our input impulse response measurement, PSOutFIle is where the correction filter will be saved, MCPointsFile is the microphone frequency response correction file (You can just leave this empty if you don't have a correction file) and the final file name on the line is the DRC-FIR config file with the parameters that will be used. By default, drc uses a "psychoacoustic" target file, but several target files, such as the popular B&K target, are also provided, or you could make your own target file (it's just frequency/amplitude pairs).

Of course, I don't type all those commands in, I have a shell script that automates everything. Maybe more on that later, but on to some graphs...

Here are before and after plots of frequency response with 1/6 octave smoothing using the "normal settings".

View attachment 24265
View attachment 24266

I haven't quite figured out how to interpret some of the other plots that REW provides yet.

The gear chain is

Logitech Media Server ==> RPi-3B running piCorePlayer ==> Auralic Vega USB ==XLR==> Bryston 3B-SST ==> Vandersteen Quatros

The Quatros have built in active subwoofers with an 11-band analog EQ, which I've set to flat for this measurement and test.

So how does it sound? Well for the past month I've been really enjoying it with a different gear chain with a tube preamp and tube monoblocks, and there DRC-FIR did a wonderful job of cleaning up the bass and tightening up the imaging. I would never want to go back to un-corrected.

However with this alternate "purist" chain the bass seems a bit too light and the treble is a bit too tipped up. You can see a rise in the treble of the corrected response starting at about 6 kHz. TIme to experiment with some different settings and target files.


Very nice! :)

Regarding bass perception you may want to try a target curve that is sloped down by 10dB over 20Hz-20kHz range - that one works well for most of us.

Can you please post impulse and step response of left and right speaker from REW after correction?

It is under "Impulse" tab in REW and it should look something like this:

 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451
Here are the corrected impulse responses:

corrected_impulse_left.png
corrected_impulse_right.png


The uncorrected impulse is kind of freaky. I expected better from Vandersteens, but perhaps the mic is not at the right height for time alignment. Just left show here:

uncorrected_left_impulse.png


EDIT: Also not sure why impulse is not at 0 s.
 
Last edited:

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
Judging by this I would say DRC did very good job with correcting your speakers response. Yes, that uncorrected step response really doesn't look well. :)

I assume you took those measurements from your LP? Is your LP app 4.5m from the speakers?
I suggest you have mic app at the height of the tweeter.

IMHO you should absolutely stick with DRC and find target curve that best suits you, which shouldn't be hard to do.

These 2 are (arguably) the most popular:

B&K target curve:



Harman target curve:

 
Last edited:

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
In addition, you may want to check the phase response of your speakers after correction. You can try to do it like this:

- under SPL/Phase check Phase box under the graph area
- under Controls press Unwrap phase
- under Controls press "Estimate IR delay" and adjusst it
- in main menu under Tools, select IR Windows, enter value for Right window and press Apply Windows. I suggest you start with 3ms and experiment with different values around it until phase curve is shown.
 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451
Judging by this I would say DRC did very good job with correcting your speakers response. Yes, that uncorrected step response really doesn't look well. :)

I assume you took those measurements from your LP? Is your LP app 4.5m from the speakers?

LP is at about 274 cm away from each speaker or about 8 ms at speed of sound.

I suggest you have mic app at the height of the tweeter.

Vandersteen specifies 35.5 inches from floor as "acoustic center" of the speakers. That is, if the speaker is level, the drivers should be time aligned at that listening height at a sufficient distance (at least 6 feet, I believe). I added about half an inch in height to the speakers with outrigger spikes, so I put the mic at 36 inches. I could try setting the mic at different heights and see what it does to the impulse response. Also time to get out the laser level.

I forgot to add that I use a Stabila LE50 laser distance measurer to get the mic centered at the right distance, and I point the mic at the midpoint between the speakers.

IMHO you should absolutely stick with DRC and find target curve that best suits you, which shouldn't be hard to do.

Thanks! I will try the other target curves. The B&K target curves are included with drc.

I had been considering dropping cash on AudioLense or Acourate. I think I will stick with this for a while longer.

I also found another interesting free filter generating program called Python Open Room Correction (porc):

https://github.com/greenm01/porc

This one looks like I might be able to understand it with some work. It's based on some matlab scripts. I was able to generate filters with it, but haven't tried it yet.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
It would be interesting to see phase and GD graphs if you manage to apply right IR gating but from step responses it seems DRC did a fine job time aligning your speakers.
 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451
Not sure if these are reasonable ranges for frequency in the plots. The Right Window delay was 7.3 ms. Left speaker only.
left_phase.png
group_delay.png
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
Not sure if these are reasonable ranges for frequency in the plots. The Right Window delay was 7.3 ms. Left speaker only.View attachment 24274View attachment 24275

I don't think 7ms is a good value to start with as first reflection certainly comes sooner. Judging by impulse response it's app 5.5ms for left speaker and app 3ms for right, so try with 3ms to have the same value for both speakers.
 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451
Krunok kindly sent along a REW mdat file of my corrected measurements with his REW settings. Here are corrected phase and group delay for the right channel with the DRC-FIR "normal" settings.

phase_right.jpg
group_delay_right.jpg
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
Krunok kindly sent along a REW mdat file of my corrected measurements with his REW settings. Here are corrected phase and group delay for the right channel with the DRC-FIR "normal" settings.

View attachment 24300View attachment 24299

I don't know why the upper phase graph got shifted by 2 circles (720deg) - when I open it it looks like it should.
Anyway, you can shift yours manually by clicking 2 times on -360 button under Controls.

 

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451
I don't know why the upper phase graph got shifted by 2 circles (720deg) - when I open it it looks like it should.
Anyway, you can shift yours manually by clicking 2 times on -360 button under Controls.
QUOTE]

Top trace was the SPL.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
Top trace was the SPL.

Ah, ok - I thought it was a phase graph of the other speaker that got shifted. :)

Anyway, you did a great job with DRC-FIR!

P.S. once you apply IR window you loose LF resolution so that part of the SPL graph is not accurate anymore.
 

Krunok

Major Contributor
Joined
Mar 25, 2018
Messages
4,600
Likes
3,065
Location
Zg, Cro
EDIT: Also not sure why impulse is not at 0 s.

I forgot to answer this question. In order to get IR to zero offset you need to go to Controls and press Estimate IR delay and then press Shift and update timing offset.
 
Last edited:

Daverz

Major Contributor
Joined
Mar 17, 2019
Messages
1,294
Likes
1,451
Tried the Harman target curve. At first it sounded too plump and billowy in the bass, but the ear adjusts. I really liked the result through the midrange, and treble was just right. However, +9 dB is way too much bass for a 2nd floor condo. I end up having to crank the sound way down when the bass drum comes in for fear of alienating the neighbors. If I lived in a detached house, I probably wouldn't care.
 
Top Bottom