A convolution based alternative to electrical loudspeaker correction networks

With the ringing truncation stage engaged the filter is an incredibly short 17ms making for a file size of just 4.4k (24 bit stereo). I think this filter provides the best "bang for the buck" yet considering its size and effectiveness. I don't know if it will make the cut long term but I'm impressed enough to write this much about it :).

I still believe you're giving up something by not completely correcting the timing for the listening position. There's an intensity with a correct timing you cannot get with a more smeared IR. Not easy to get it right, certainly not in a room. But it does make a difference that's worth it. Just my opinion of coarse ;).

A non correct timing will still sound good though, just a bit more mellow. But if you've heard and felt midrange on your eyelids, it's hard to give that up! That only works if the timing is right and the bottom end is there. It's a blast! Literary :)
 
I've been using this filter for about a month now. I like it because it's effective with my setup and it's basically just doing speaker correction. The response is slightly bumpier in the bass but I can't say it's anything that's distracting me. Otherwise, above 1k the windowing is just like the 4 cycles filter. The corrected min phase response (1/6 octave windowing) is +/- 15 deg above 64hz (except for the room dip around 100hz), and rising to about 68 deg at 32hz.
 
Last edited:
I made an interesting edit to my recent DRC configuration after once again growing tired of the "heaviness" that the psychoacoustic target stage seems to impart.

I changed the PT windowing* to 35ms (from its much bigger default value of 300ms) after thinking a bit about the precedence effect. I thought that since some sounds can be "psychoacoustically fused" to the first 35ms of their reflections then this might be the ideal time period to use as a basis for spectral envelope correction. Since the sound beyond 35ms should be perceived as separate, it should not be causing too much coloration.

The effect is more subtle and I like it better so far. The sound is similar to that of no PT stage but with slightly less upper midrange energy and a slightly deeper stage (accappella choir sounds wonderful). I still find, however, I need to use the ringing truncation stage (same aggressive windowing as my prefiltering) to keep the effect of the PT stage in check (I'm not sure if this is covering up a problem or is in fact the correct approach). Happy for now...


*I changed PTFilterLength to double that of PTReferenceWindow value to avoid an error message
 
I listened first to the new PT settings without RT at first and while I thought it showed promise, the effect was still a bit too much for me so I switched in the RT stage. I think this is the best result I've gotten so far while using the PT stage.

The impulse response does not look as clean with either (or both) of these stages in place but I'm curious as to whether the overall compromise is worthwhile. One thing I tried in the past that I may try again with the new settings is applying the RT stage only to the PT portion of the filter. DRC cannot be configured like this so it's a bit of a pain...
 
Last edited:
Since the sound beyond 35ms should be perceived as separate, it should not be causing too much coloration.

I have to say, the sound I add after 20 ms with my ambient experiments is still not heard as "separate sound" but it definitely CAN color the total sound. It made me literary rethink room influence as a total "attribute" of the sound we perceive. It's fun to play with, getting to listen to "different rooms" at will, but it's a lot harder to get all the benefits without the added coloration being obvious.
I use it to hide my room, at least that's part of the idea.

You also mentioned more "depth perception". Tonal balance can play a role there. A different FR curve can make us perceive more or less depth. At least that's what I've found. Total SPL level also playing a huge roll there. A relatively tiny difference in average SPL level can lead to pretty big perceived differences. Again, all in my opinion :).
 
I was thinking about some of your recent experiences while I played with this (I haven't done any experimenting with echo perception myself). I'm just looking to the standard documented research for now to determine what might be some good (small) numbers to consider for windowing purposes (6ms for a click and 35ms for complex timbres). The basic 1/6 oct prefiltering and inversion (along with good speaker placement) takes care of the "click" but does that mean that a choir recorded in a cathedral is going to sound right? Of course proper room treatment solves the problem at the root level but I'm trying to beat the system here ;)

Definitely agree about the affect of spl on soundstage/depth. With orchestral/choral music, I tend to gravitate towards a volume setting that is in agreement with the depth/distance implied by the spread/reverberant field in the recording. I feel that it's easy to have the volume set too high for these recordings. Led Zep on the other hand....
 
Last edited:
This is utterly weird now.

I had no problem getting measurements in and using DRCDesigner in conjonction with REW... but now, it's all gone overboard.

Somehow, I can't get REW to export a wav file from the sweep I did the last few times I tried.

I had just change the wav file into pcm, then put that in DRC, but the filters that came out were loud, bassy, and there was a strange echo.

So, I had a look with Audacity at the wav file REW exported, and this is what I get... I had to zoom in quite a bit to see anything... I don't understand..
 

Attachments

  • Screen Shot 2016-10-14 at 1.55.40 PM.png
    Screen Shot 2016-10-14 at 1.55.40 PM.png
    19.3 KB · Views: 279
The impulse Response was not the prettiest, but I was expecting that, as it was taken in a room with many reflective surfaces.

I never normalize the export from REW... Should I?

Normalising the wav gives me this... So, I should normalise the wav files before changing to pcm and import into DRC?
 

Attachments

  • Screen Shot 2016-10-14 at 10.09.13 PM.png
    Screen Shot 2016-10-14 at 10.09.13 PM.png
    23.2 KB · Views: 259
I export the IR normalised in REW as 32 bit file, have DRC plot me a prediction as well as the correction file and always measure the result with convolution filters in line to check if it's result is close to the prediction. (it usually is very close)
I don't think gmad normalises his IR's. So I don't think it's required. It just makes it easier to check the separate steps along the way. It gives me a predictable result that I can use with a fixed attenuation within JRiver.

Are you sure DRC picks the right timing for the IR? I remember that being a problem in your earlier case.
 
Last edited:
Use for DRC Designer
I have customized strong96000.drc
It is different than Insane 96000 preset (Edited).

I have customized it so it has a quite good so it has good sound-stage...
I can't remember which in the settings is different. (But recent one is sharpness setting changed)
but you can check it in DRC Designer by downloading drc file and replace strong96000.drc file in "C:\DRCDesigner\drc-3.2.0\sample"
And then use it in DRC Designer with Strong settings on...

It couldn't be uploaded as drc file, then I have zipped it and uploaded.

Or you also can download it from drive.google.com
The link is here: link
 

Attachments

  • strong96000.zip
    1.6 KB · Views: 42
Last edited:
Use for DRC Designer
I have customized strong96000.drc
It is different than Insane 96000 preset (Edited).

I have customized it so it has a quite good so it has good sound-stage...
I can't remember which in the settings is different. (But recent one is sharpness setting changed)
but you can check it in DRC Designer by downloading drc file and replace strong96000.drc file in "C:\DRCDesigner\drc-3.2.0\sample"
And then use it in DRC Designer with Strong settings on...

It couldn't be uploaded as drc file, then I have zipped it and uploaded.

Or you also can download it from drive.google.com
The link is here: link

Thanks for sharing... I could never get the 4-cycle drc file from gmad to work with DRCDesigner. I'll give it a try as soon as I get my export of the Impulse resolved.
 
Thanks for sharing, j19861986. I imagine you have a damped room or a small sweet spot (or both :)). Your windowing is ~2X the size of mine at the top end, and ~4X at the bottom. Also, I've been correcting just the min phase for a while now (although correcting some excess phase can provide more of a "you are there" sound).

Perceval, send me the exported IR; I'll be glad to take a look at it when I can. I'm sure we can figure it out. Actually, while your at it, send me the mdat too if you don't mind.
 
Here's my latest sweep.

I've uninstalled everything DRCDesigner right now and will re-try.

This sweep is a mess... I know, but it's the room I have to work with right now. To make everything simple, I've made a completely clean sweep, no EQ, nothing besides the crossover built in my two sub amps. Speakers are playing full range too. No passive nor active filters on them.
Target designer has flat from 35Hz to 400Hz, then a slope down -5dB to 20kHz.

The resulting filter is really muddy, and there is an echo playing. I really don't know what has changed since my previous attempts, as my workflow is exactly the same as before...

Here's a folder with all the files, the mdat, the left and right wav and pcm files, and an example of the MINIMAL filter DRCDesigner gives me:
https://www.dropbox.com/s/hyjay0zj9p801pz/new REW.zip?dl=0
 
Hi, perceval:

Although the exported wav files are ok, the raw files are not readable; you need to check your export settings for those. Try re-importing the raw files immediately after exporting to verify that they're ok. This would certainly explain why DRC didn't produce a useable filter.

There is a strong secondary spike immediately following the first spike in the IR. Both REW and DRC assume this to be the impulse center. It's verry narrow which means it contains high frequencies so I assume it's the whizzer cone. I set DRC to make the first spike the impulse center. It's only a difference of 3 samples so it may not even make much of a difference in the end; I guess you'd have to try it both ways to see.

Because of the strong room influence, I suggest trying a minimum phase filter. The room response can have a big effect on excess phase response, and excess phase correction can lead to artifacts more easily than minimum phase correction.

I made a filter for you to try. It's the 4 cycles configuration file (using your preferred target response) generated with the minimum phase script. Let me know how it works.

https://www.dropbox.com/s/kk34m94a6qyf4f2/perceval%20filter%20-%204CyclesMinPhase.wav?dl=0
 
Greg,
thanks for the test filter. It is 1h am here, so it will have to wait until tomorrow.

Will have to read somewhere on how to set DRC to recognise the right spike in the impulse.

Strange about the exported pcm file being unreadable, because if I import the wav, and the pcm as raw file, Audacity shows them to be similar, on my system. The first track is the left wav file, and the second track is the left pcm file.
 

Attachments

  • Screen Shot 2016-10-20 at 1.10.53 AM.png
    Screen Shot 2016-10-20 at 1.10.53 AM.png
    31.1 KB · Views: 228