A convolution based alternative to electrical loudspeaker correction networks

My secret is out there if you are prepared to wrestle trough the huge thread describing my project. There isn't much I haven't mentioned or shared.
I really only measure at the listening position. I haven't even once done a near field measurement. The above plot is gated in REW using it's recently added frequency dependant windowing, at 4 cycles. (available if you click on IR Windows)
http://www.diyaudio.com/forums/full-range/242171-making-two-towers-25-driver-full-range-line-array.html

I added a few links a while ago to some points of interest in the first post.

The whole project was based on the idea to get time coherency. Without processing it wouldn't be possible for me. I wanted to find out if it had advantages, it didn't disappoint me, I like it a lot!
 
My secret is out there if you are prepared to wrestle trough the huge thread describing my project. There isn't much I haven't mentioned or shared.
I really only measure at the listening position. I haven't even once done a near field measurement. The above plot is gated in REW using it's recently added frequency dependant windowing, at 4 cycles. (available if you click on IR Windows)
http://www.diyaudio.com/forums/full-range/242171-making-two-towers-25-driver-full-range-line-array.html

I added a few links a while ago to some points of interest in the first post.

The whole project was based on the idea to get time coherency. Without processing it wouldn't be possible for me. I wanted to find out if it had advantages, it didn't disappoint me, I like it a lot!
Many thanks WeSaySo for your kind and quick reply. Impressive the project and even more the thread:worship:
I will read the posts ASAP hoping to add some improvement to my 4 way pc-based system too (Rephase linear FIR filters, Jriver convolution and DRC)
Have a great day
GiAnt
 

ra7

Member
Joined 2009
Paid Member
I use the ERB file and it sounds quite good to me.

BTW, I started reading Dennis S's writeup on the DRC page. He recommends a flat target response because he relies on magnitude spectral response to do the correction. He thinks that a flat target provides the most neutral response. So, I tried it and I think it works quite well. Earlier I was doing a B&K style target (flat to 400 Hz, 1 db/octave slope after). A flat target is definitely brighter, but preferable overall. Some recordings show up flaws, but most sound ok. I still bump up the bass by about 3-5 db (40 Hz to 80 Hz). DS also recommends using the ERB settings as it matches the ear's response the best.
 
Last edited:
I think Denis's room is heavily treated. The thing about the psychoacoustic target stage is that it doesn't seem to be using a freq dependent window, and so in a more reverberant room it seems to skew the tonal balance in response to late reflections. It gives me a bit of a smiley face freq response curve when used in conjunction with a 4-5 cycle window, however, I got pretty decent results a while back using it in conjunction with the erb config file.

edit: btw, the other graph at the bottom of the page I linked to provides support for giving the speakers 3-4' of breathing room to help separate the room sound. This (as well as symmetry) has remained just as important of an aspect of my system as DRC.
 
Last edited:
First impression of REW as stand-alone room correction software

Since REW introduced a frequency dependent windowing feature, I've been wanting to see what kind of correction results I could get compared to DRC. After generating minimum phase versions of my impulse responses (this involves exporting and importing), I applied a 1/6th octave (4.3 cycles) freq dependent window and used the auto eq to invert the response. I saved the filters' impulse responses as a stereo wav file to be used for convolved playback.

The results are very good! I have only been able to listen for about an hour so far, but the imaging is solid and precise, and the stage is wide and deep. Tone quality is excellent. The final corrected impulse responses don't look quite as pretty as what I get with DRC though, because no attempt is being made to eq the excess phase response. I tried once to use DRC to correct only min phase but I don't remember it sounding as good as this (I'll have to do it again and compare). I think this filter will stay in my chain for a while...
 
Last edited:
I've tried applying plain EQ as inverse of frequency response. That provided the same flatness as DRC. Sound-wise it was different but still lacking. Haven't tried freq dependent window yet though.

With DRC I ended up with a modified 4-cycle window, minimal phase settings and a flat response. Big thanks for helping comments guys! :)
 
Founder of XSA-Labs
Joined 2012
Paid Member
This could be a fun and solid way for people that want to EQ their speakers in the living room. Good stuff! Hope it catches on for those with MiniDSP etc.

Can someone detail steps to do this for a newbie? How does the correction get implemented in miniDSP? As a bunch of bi-quad's? Up to 6 per channel are allowed and 6 more for before the XO.
 
Here are 4 possible eq curves for my left speaker based on the impulse response as measured from the listening position; the titles of the graphs will hopefully explain the differences. This was done with REW using the min phase extraction feature, IR windowing function, and the auto EQ. I am currently enjoying the results I get with the EQ based on the 1/6th octave windowing of the min phase portion of the IR, and this is what I would recommend as of now (at least as a starting point) for someone who would like to try using REW exclusively for EQ/convolution based correction.
 

Attachments

  • EQ.png
    EQ.png
    39.5 KB · Views: 411
  • EQ based on min phase portion of IR.png
    EQ based on min phase portion of IR.png
    41.4 KB · Views: 408
  • EQ based on 6th oct windowing of IR.png
    EQ based on 6th oct windowing of IR.png
    36.9 KB · Views: 409
  • EQ based on 6th oct windowing of min phase portion of IR.png
    EQ based on 6th oct windowing of min phase portion of IR.png
    34.9 KB · Views: 413
Last edited:
Can someone detail steps to do this for a newbie? How does the correction get implemented in miniDSP? As a bunch of bi-quad's? Up to 6 per channel are allowed and 6 more for before the XO.

It looks like the filter settings can be saved as bi-quads in the form of a text file if the MiniDSP EQ simulation is used. Those with a convolver in their playback chain should select the "Generic" EQ, and the "Export Filters Impulse Response as WAV" function will capture the response of all the PEQs used (up to 20 per channel).
 
I don't think you can export a windowed response per say, but what I do is:

-export the min phase portion of the IR (Controls - Generate Minimum Phase - File - Export - Impulse Response as WAV (check "Export Min Phase Version of IR"))

-open the min phase versions with REW and apply a 1/6th oct frequency dependent window (IR Windows - (check "Add frequency dependent window", and specify "Width in octaves" to be 1/6th) Apply Windows To All)

This is now the response to be eq'd. BTW, I have since discovered that I can get a bit more aggresive with the windowing here than I was comfortable with while using DRC. I tried 1/12th oct (8.7 cycles) windowing very briefly and it still sounded pretty good off-axis with a noticeably improved final impulse response.

I would like to make a guide for this and add it to the opening post at some point but that will take time. In the mean time, the REW help guide seems to be very good, and I found I didn't even need to refer to it for this particular task since the program is pretty user friendly overall.
 
I saved the filters' impulse responses as a stereo wav file to be used for convolved playback.

Ok, I think I got all the steps down up to this.

How do I save an Impulse response from the EQ window, the one with the filters applied?

Also, even if I specified a 12db slope at 40Hz, REW doesn't give me any filters under 300Hz. Peculiar.

Perused the REWHelp file but couldn't find anything on both.
 
.....How do I save an Impulse response from the EQ window, the one with the filters applied?.....

Picture 1.

.....Also, even if I specified a 12db slope at 40Hz, REW doesn't give me any filters under 300Hz. Peculiar.

Perused the REWHelp file but couldn't find anything on both.

Picture 2.
 

Attachments

  • 5.PNG
    5.PNG
    81.7 KB · Views: 348
  • 3.png
    3.png
    94 KB · Views: 307
Last edited:
Ok, I think I got all the steps down up to this.

How do I save an Impulse response from the EQ window, the one with the filters applied?

Also, even if I specified a 12db slope at 40Hz, REW doesn't give me any filters under 300Hz. Peculiar.

Perused the REWHelp file but couldn't find anything on both.

It sounds like you want to save the predicted corrected response as an impulse response? It doesn't seem like this can be done; what I have done is just convolve the original IR with the newly saved filter IR using foobar2000's "Convert" option.

It looks like your target level is too high - drop it down a few db. Looking left to right at the freq response in the EQ window (with the "target response" box checked), REW won't attempt to correct the response until it goes above the target line. This is to prevent over-correction in the freq domain (like peak limiting in DRC). For a starting point, hit "Set Target Level" from the Target Settings" menu (sometimes I have to do this twice), and for a single driver with no compensation network I have found the need to lower it from here manually.
 
Hmm.. did I understood this wrong?

Starting from initial Impulse response, Applying EQ filters and exporting the filter curve as a wav file to be applied by convolution.

This is what I had to start with ( the initial Impulse response)

520101d1450532775-convolution-based-alternative-electrical-loudspeaker-correction-networks-1-min-phase.jpg


And this is the window I get when I apply the filters (in green) and the settings used.

520102d1450532775-convolution-based-alternative-electrical-loudspeaker-correction-networks-2-eq-window.png


I don't get how I can go from there to generate a wav file to be imported into JRiver's convolution.
 

Attachments

  • 1- min phase.jpg
    1- min phase.jpg
    57.8 KB · Views: 467
  • 2- EQ window.png
    2- EQ window.png
    169.7 KB · Views: 599
oops, I was looking at the pictures posted by BYRTT and I thought they were yours, perceval, that's why I wrote about target level (although this may still apply to you if REW is ignoring the response below 300hz).

Anyway, as BYRTT has pointed out, the impulse response of the filters is not generated from the EQ window; from the main window, select "File" - "Export" - "Filters Impulse Response as WAV". Do this once you're happy with the predicted response of both left and right channels and then save as a stereo wav which will serve as your correction filter.