# REW and DRC help



## dean70 (Jun 27, 2008)

I am trying to use REW with DRC (http://drc-fir.sourceforge.net/)
and so far have been unsuccessful. All I am getting is a distorted and fluctuating sweep when measured through the generated filters.

1. I have done a long sweep (1M) for each channel in REW, exported the Impulse Response as signed 32bit Mono with the 3 checkboxes un-checked.

2. Run a conversion with SOX utility to raw PCM (also tried Audacity) and when I import the converted PCM back into REW as Impulse (to confirm results), it looks nothing like the original Impulse response - maybe this is where it is going wrong? (Did a quick import of the original exported WAV file from REW and it looks identical to the original Impulse)

3. Take the converted PCM file into drc using supplied erb-44.1k to generate filter, then convert output PCM back into WAV format using SOX again (http://sox.sourceforge.net/sox.html)

4. I create a Convolution config text file to point to each WAV filter file, and load the config into JRiver.


I have found a few examples of using this combination, but it is either not documented or documented poorly on how they arrived at the final result (other than it is a major improvement).

Anyone successfully built filters using the above tools? If so how? :huh:


----------



## Chester (Feb 19, 2007)

when you exported the impulse responses, I am almost certain that it is exporting the impulse response of any filters applied to the signal - the only way I have found to 'export an impulse response' (but to loose phase info) is a little complicated but is as follows:
1) make REW measurement
2) export frequency response as a set of frequency-gain values (CSV format or something)
3) open exported file in excel, add 'special' characters in-between the columns for the next step - also, you will probably want to 'normalize' all of the values, and make them 0 or less
4) utilizing the special values to define what you want added where, use "replace" to format the data as the equalizer plugin in Audacity will accept it (see next post for more info regarding that)
5) go to c:\users\[username]\AppData\Roaming\Audacity\ and open up EQCurves.xml in notepad - you will need to copy the format used by the audacity eq presets using 'replace' in notepad with your original data
6) save your new eq curve and then open up audacity and generate a sine sweep, save a copy - then equalize the sine sweep with your data (you can do a 8192 point fft equlization), save a copy of the eq'ed one
7) use voxengo deconvolver to generate an impulse response from the two impulse responses...
8) have a beer, you deserve it.

note: you loose all phase info when using this method, however the frequency response is pretty much spot on. you can choose minimum phase, or linear phase in voxengo deconvolver - since loudspeakers are PRIMARILY minimum phase, this method seems to work pretty well... hope this helps!


----------



## Barleywater (Dec 11, 2011)

Must be doing something wrong with SOX. Whole point of DRC is getting accurate time domain info so that DRC can generate some manner of inverse transfer function that corrects for frequencies response, and depending on software used and settings, phasing and general timing corrections.

Sourceforge DRC won't accept exported impulse response from REW? Anyway work with SOX settings to get proper format.

I have hard time imaging good results from above eight step program. Seems awfully convoluted!:R


----------



## EarlK (Jan 1, 2010)

> I am trying to use REW with DRC (http://drc-fir.sourceforge.net/)
> and so far have been unsuccessful. All I am getting is a distorted and fluctuating sweep when measured through the generated filters.


- By far the easiest way I have found ( ie; the most direct route ) to start "auditioning" VST based EQ filters ( as executed by Denis Sbragion's DRC program ) is to download the ( little known but fully functioning ) application called  *Digital Room Correction Designer ( by Alan Jordan ) . *
- It offers a nice simple gui to controlling DRC(s) functions & SOX(s) file format changes .
- It has sweep software needed to create the Impulse capture. 
- It builds filters to your own target curve ( & includes a few stock "house curves" ) . 
- It'll create & spit out 4 different "strengths" of correction filters ( I assume running the gamut from 100% minimum phase to 100% linear phase ) . 
- It also has a page that allows the user to determine their own level of custom correction . 

- I down-loaded this program yesterday & had some custom filters within tens of minutes ( I don't "do" HTPC so they are of little utility to me at this point ) . 

Here's a quote from Alan ;_* "I wrote Digital Room Correction Designer because it is difficult to create room correction filters via DRC without a large amount of background research. Room Correction Filters have made a very positive impact in my system, so hopefully this application will allow others to try room correction in an easier manner. "*_

- Best to start ( & possibly end your search ) here ( with DRCdesigner ) if 2-channel correction is sufficient for your needs .

:sn:

- Link to  *"zipped" DRCdesigner ( for Windows )*


----------



## dean70 (Jun 27, 2008)

Thanks. I will give DRC Designer a try. I had all but given up with DRC - even with blank (silent) wav files loaded into the Convolution engine, I was getting the same lobing (warbling) response across the band during sweep tests.

For now I have gone back to full band REW generated PEQ filters (with house curve) loaded manually into the Parametric equalizer DSP.


----------



## dean70 (Jun 27, 2008)

Had a try with DRC designer & it looks like I have some usable filters (yet to get time to test them). As I am doing 7.1 channel, I was able to process 2 channels at a time & with a bit of splicing in Audacity of the stereo wav file generated, split the 2 x monos for Sub & Centre.

Now that I can see the command line it passes to DRC, I can do a full balanced set of filters (L-R-C-SBL-SBR-SL-SR) :T . I went back to my original REW Impulse measurements, redid the export to WAV and conversion using SOX & finally got a impulse PCM file that closely matched what DRC Designer generated.

Must have had the parameters in the incorrect order previously.


----------



## dean70 (Jun 27, 2008)

Tried some sweeps with REW & still get the same results :hissyfit: Any ideas?



















(reference with no convolution filters loaded)


----------



## Barleywater (Dec 11, 2011)

Try applying 1/12 or 1/6 oct smoothing.

What do these sound like with music and voice?

Andrew


----------



## EarlK (Jan 1, 2010)

Dean said:


> Tried some sweeps with REW & still get the same results Any ideas?


- ( From the above statement ) I guess we are all to assume that you are getting the same results ( but now supported with pictures ) of what you first obtained before you started this thread . Is that correct ( are you right back at square one ) ?










- FYI, your sweep captures appear to have some built in comb-filtering overlaid onto the results ( that appear to have been filtered/convolved ) . At this point, it's anyones guess as to how you have achieved the comb-filtering since you haven't yet fessed up about how you are running ( & capturing ) a REW test signal ( through MC17 and then back out to your audio system ) . ( I know a lash-up, but the results are always tenuous at best ) .

- For all we know, your VST based filters actually sound fine with music & voice ( ie; maybe it's only your measurement setup, channeled through MC17 that is failing here ) . 
- ( Maybe your soft-patch configuration of ) REW into MC17 creates a feedback loop ( by a couple of delayed samples ) through your default soundcard ( this would help explain that pic ) .

- I would suggest that you change your filter testing methodology to something a bit simpler. 

- I suggest playing back a pre-recorded PinkPN Wave file from within MC17 ( and then through its' convolved filters ) while you monitor the acoustic response using REW(s) RTA window . ( You can create this PinkPN wave file by exporting it from REW's signal generator .)
- The RTA window is accurate enough to let you know if your filters are any good .

:sn:


----------



## dean70 (Jun 27, 2008)

> Try applying 1/12 or 1/6 oct smoothing.
> 
> What do these sound like with music and voice?
> 
> Andrew


It sounds in a word - horrible. Music is thin and veiled and you get the occasional loud cymbal crash.



> - FYI, your sweep captures appear to have some built in comb-filtering overlaid onto the results ( that appear to have been filtered/convolved ) . At this point, it's anyones guess as to how you have achieved the comb-filtering since you haven't yet fessed up about how you are running ( & capturing ) a REW test signal ( through MC17 and then back out to your audio system ) . ( I know a lash-up, but the results are always tenuous at best )


I run the REW sweep to a default sound card (the onboard Realtek optical out in this case, not the output MC17 uses). MC17 has a loopback mode via the WASAPI audio interface that is able to redirect output from the default sound card though to its HDMI audio device to the amp/speakers and also able to switch which channel it redirects to using JRivers DSP engine, so that I can do the sweep to all 8 channels quickly.

The mic input is connected to REW via a separate external USB Asus Xnoar U1 device that I have used for some time to do sweeps with. I use the Audyssey mic that came with the receiver with no correction file or weighting (seems to be pretty accurate from 20hz-20khz).

I have also succesfully done sweeps and create REW auto PEQ filters which I am using temorarily with good results using the same setup above.

What I have just discovered it may be a sample rate issue - I have been doing sweeps/filters as 44.1k, but MC17 may require 48k filters. I will try again with the higher sample rate.

I would really like to experience that Covolution goodness


----------



## EarlK (Jan 1, 2010)

- My advice to you would be to simplify and only test a single pair of filters to first confirm that you can create a pair of working filters for use in MC17 ( using just DRCdesigner for everything ). MC17s convolver doesn't require a configuration file to work when it is loaded with ( pointed to ) a single stereo wave file . 
- After you have success with a single pair of filters, then add one more complication to the process ( & so on, & so on ) till you have the whole enchilada working .

FWIW, I created a set of stereo filters with drcDesigner and have listened to them through ( 3 different convolvers ), all hosted within MC17 ( ie; ConvoBoy, ConvolverVST, & MC17s own convolver ) All three are slightly different in how they handle normalisation levels , btw . I also hosted 2 of those convolvers within VSThost ( a stand alone host program, used primarily for testing VST plugins ) 

Then I took a look at the shape of the filter types ( within REW ) by sending a test sweep through these convolvers and capturing the results back within REW ( done via some soft-patch routing through VAC ). I did this to educate myself on how manipulating the different control settings (within DRCdesigner filter settings ) change the resulting filter shapes .


Anyways, back to you; 
IMO, as it stands right now, your test system has too many variables, meaning , you don't know where you've pooched the assembly process.

It could be any ( or all ) of the following ;

(1) A SoX conversion of your IR , from REW to DRC , caused by poor syntax of some sort.
(2) A poor Audicity conversion when splitting tracks and resaving .
(3) Or another type of syntax error within the creation of your convolvers "configuration file" ( for use with your multiple Wave files ) .
(4) A clock error or two ( ie; drift ) caused by using too many soundcards at the same time when trying to track your creations .
(5) Sample rate problems ( though MC17 is supposed to resample auto-magically, including data within its convolver ) .


Anyways; Simplify, Simplify, Simplify !



:sn:


----------



## dean70 (Jun 27, 2008)

The last picture is the sweep capture. The first two are the result of applying the generated filters to a second sweep test. As a test I grabbed one of the generated WAV filter files (the LR one), loaded it into Audacity and Select All/Generate silence, then tried that directly in the Convolution engine (without the config file) & it still produced similar results, which leads be to believe it may be a sample rate issue.

edit: I did see in this post http://www.hometheatershack.com/forums/rew-forum/20293-full-range-eq-no-go-7.html#post494392 that you recommend running Estimate IR Delay/Shift IR which is maybe where I have gone wrong.


----------



## EarlK (Jan 1, 2010)

Dean said:


> edit: I did see in this post http://www.hometheatershack.com/foru...tml#post494392 that you recommend running Estimate IR Delay/Shift IR which is maybe where I have gone wrong.


- That could explain the comb filtering ( if you didn't first "Zero Up" your REW export ) *EDIT: SEE NEXT POST ! ( If your filters aren't at T=0 , it's not REWs fault ) * and your filters aren't centered to T=0 . 


- FWIW, I imported ( & then looked ) at the IRs of the stock EQ filters generated by "DRCdesigner" . I alsolooked at the REW generated EQ filters. 
- Both types are centered to "T=0" . 
- FYI, the REW filter is super clean ( being minimum phase ) while the DRCd generated filter has the expected "preringing" ( before T=0 ) that is expected from a linear phase FIR filter . Some people hear ( & find objectionable ) this preringing component that is endemic to this class of filter ( btw ) . 

- You should import one of your filters into REW and take a look at its impulse ( I'm sure it'll be educational for you ) .

:sn:


----------



## EarlK (Jan 1, 2010)

me said:


> - That could explain the comb filtering ( if you didn't first "Zero Up" your REW export ) and your filters aren't centered to T=0 .


Oops, spoke too soon .

- It looks like REW automatically "Zeros" (to T=0 ) every version of an IR that it exports. 
- So an export from REW couldn't cause a filter offset in your case ( assuming you actually have a filter offset deviating from T=0 )

:sn:


----------



## THX-UltraII (Nov 19, 2008)

Sorry to bother in this thread but could you please take a look at my post *EarlK* and share your thoughts? I ve spend quite a few hours on some new testing.
EDIT: this post can be deleted


----------



## Barleywater (Dec 11, 2011)

dean70:

In post #12 you loaded a file with all zeros as filter in convolution engine? If this is the case then you should get nothing but zero as output. If you use as a filter a file that has 999 zero value samples followed by one sample with a normalized value of 1, then you should get exactly out what you play, but with delay of 999 samples.

And yes, EarlK is right: simplify. Baby steps. For the moment stick with stereo, or even single speaker. You must confirm that convolution engine is behaving. If you have small speaker, even horrid little computer speaker, try measuring it from about 1ft, build correction with flat target and measure result.

You may get lucky, but don't count on microphone that came with receiver to be flat.

I do two way active speaker that is ruler flat (no smoothing), using convolution and multichannel sound card. It is based on Linkwitz Pluto, and thus my results are posted there:

http://orion.quicksytes.com/viewtopic.php?f=14&t=2254

Be thorough, methodical, patient, and persistent and "the convolution goodness" can be yours! 

Andrew


----------

