A convolution based alternative to electrical loudspeaker correction networks

1201,

The min phase script takes the output from the min phase filter extraction stage. This creates a filter which itself is min phase, and only corrects the min phase portion of the impulse response. The length of the filter depends on the windowing used; the custom min phase filter has a final resolution of 4 cycles, so the length is 8,820 samples.

Anyway, once you figure out exactly what you want to do regarding magnitude/phase correction, I'm sure we can accomplish it using DRC (should you wish to simplify your routine).

ok. thanks for the explanation.

I used drc extensively a year or two ago. at that time I was using a minidsp 2x4 hd which was limited to only 2042 taps at 96k( very small number of taps)
and drc struggled to get the frequency response right, and also sometimes the final level for all three front channels was different.
I'll look at it again now that I have some more freedom with taps (although still limited due to lipsync issues)


wow. that must be a very fine correction.

you posted this earlier, which is a very nice looking impulse. do you have a before impulse at your MLP?
 
Last edited:
Here's a new EQ method that I'm pretty excited about (I got my "flat" response back) which uses erb windowing and the psychoacoustic target stage (two things I've always been interested in but have not had lasting luck with). Basically, what I'm doing is feeding the PT stage an uncorrected erb windowed impulse response. However, since the PT stage is designed to consider the entirety of the corrected response, we have to start out with an impulse response that is already windowed, and keep any subsequent windowing to a minimum. Unfortunately, this can't be done with a single config file, but I made a script that uses one config file to window the impulse response, and another to actually carry out the magnitude adjustment.

The result is a freq response in which a straight line connects the peaks (rather than the avg of the peaks and dips), and the dips remain deeper than usual. The idea is based on our perception of the timbre of waveforms which is related to their spectral envelope. In this case, the subjective timbral accuracy should be high within a window of time corresponding to the resolution of our ears, yet the filter is not very strong from a technical standpoint.

Subjectively speaking, the center image is sharp, the tone is good, and the sound remains "lively" overall. I'm particularly pleased with the quality of sustained sounds. Objectively, I'm impressed with how well the freq response holds up when viewed through a larger than usual (1/48 oct.) freq dependent window (attached graph), and how closely matched the reflection levels appear between the two channels.

In case anyone wants to try this, I''ve added a link to the necessary files in post #1 (I'm keeping it min phase for now). Note: I think channel balance is better when the peak levels of the corrected impulse response are matched.
 

Attachments

  • psycho filter corrected response (2 ch. avg.) 48th oct.jpg
    psycho filter corrected response (2 ch. avg.) 48th oct.jpg
    113 KB · Views: 210
yes, it looks really good. IIRC you said the linear filters sounded bad outside of the main listening positions?

I'll have to look more into the minimum phase filters - I know when I only had very a very low tap count to work with (2042 at 96khz) Denis was adamant about me using only the minimum phase correction.
 
It makes sense that with a limited filter length you would want to focus on at least getting the magnitude/min phase response right.

I use single driver (sealed) speakers, so EP correction that makes a noticeable difference for me means stronger room correction which is not the direction I want to go in. From right in front of the speakers (I measure from the sweet spot) I didn't think 1 cycle of EP correction sounded too bad. With 2 cycles, the attack portion of electric bass and kick drum starts softening much more noticeably, and with 4 cycles, sounds like it's going in reverse (it is actually :)). If you look at the custom config file, you'll see that I decided on 1 cycle but there are some other settings that allow it to go a bit higher in areas where there are large response dips. I thought that was a good compromise for people who want to hear a noticeable difference compared to the min phase filter, and aren't overly concerned about performance far outside of the sweet spot.
 
hmm that's interesting. I only have three seats in my listening room and all of them measure well with the normal filters but for giggles I will run a measurement outside of the listening area to see how the filter holds up.

with the way I do it, I am mostly correcting the initial speaker response <1ms, and magnitude response for most of the rest.
 
Let's do a virtual audition/comparison (using convolution) of two filters as "heard" from my listening position. The custom filter is an impulse response inversion with 4 cycles windowing, and the psycho filter is a magnitude response envelope inversion of an ERB windowed impulse response. Level matching between channels as well as between filters is based on peak level. Which track sounds more like the reference? Let me know what you think :). The link is in post #1.
 
I just listened to the files.

first to make sure I was actually hearing differences I abx'd filter a and filter b. I didnt even listen to the original.


my abx results
foo_abx 2.0.2 report
foobar2000 v1.3.15
2017-04-21 19:38:45

File A: filter A.mp3
SHA1: a9d47faf7c108ffdcc0ba70c1d5461234c31227c
File B: filter B.mp3
SHA1: 40d755f2a95f64b4a6cd691d3caef5800117b850

Output:
DS : Primary Sound Driver
Crossfading: NO

19:38:45 : Test started.
19:41:20 : 01/01
19:43:12 : 02/02
19:45:53 : 03/03
19:47:39 : 04/04
19:48:36 : 05/05
19:49:40 : 06/06
19:50:09 : 07/07
19:51:51 : 08/08
19:51:51 : Test finished.


----------
Total: 8/8
Probability that you were guessing: 0.4%


obviously they sound different
filter A sounded louder and punchier and subjectively better, and filter B sounded lower in volume and the impulse sounded softer.

Im guessing you will now tell me that filter A was the minimum phase correction :)

now, comparing both to the reference I would have to say A still sounds closer to the reference.

my questions are:
1. it doesnt sound like these were micd at the listening position. So , how did you simulate the response at the mlp?

2. it looks like there was frequency response correction PLUS time domain correction for the linear filter, but that the frequency response of the two filters were not to the same target. is this correct? if so I think it would have been better to eq both files to the same target and with the same constraints so the only difference is that one is linear and one is minimum phase only.
 
Thanks for listening :). Filter A is indeed slightly louder in terms of average level (I level matched based on peak level). These are both min phase filters (sorry if I was unclear about that). The mic position is at my listening position which forms a 5' eqi triangle with the speakers. The filtered responses are "virtual" recordings in that they are made by convolving the reference track with the corrected impulse response (which itself is the (L/R) impulse response convolved with the stereo correction filter). The target response is flat for both filters.
 
Last edited:
so, which one is the 4 cycle correction? :)

and just for clarification, you convolved the correction filter with the reference track and then convolved that with the uncorrected impulse response?

thanks. Can I ask what tool you used to convolve the filters?
 
Last edited:
Filter A was the traditional 4 cycles impulse response inversion. It has a tighter freq response. Filter B has less dip correction, less resolution in the bottom octave, and a slightly different freq response when looked at in the traditional way since it's the peaks of the freq response that are being considered more heavily.

I like B lately. More so in real life where I feel it's more "robust" in terms of avoiding over-correction artifacts and maybe more accurate in terms of timbre. A is what I have used for a long time, but respositioning my speakers closer to a room boundary made me want to explore some other options. I only tried this technique for the first time a few days ago, so we'll see what happens.
 
Filter A was the traditional 4 cycles impulse response inversion. It has a tighter freq response. Filter B has less dip correction, less resolution in the bottom octave, and a slightly different freq response when looked at in the traditional way since it's the peaks of the freq response that are being considered more heavily.

I like B lately. More so in real life where I feel it's more "robust" in terms of avoiding over-correction artifacts and maybe more accurate in terms of timbre. A is what I have used for a long time, but respositioning my speakers closer to a room boundary made me want to explore some other options. I only tried this technique for the first time a few days ago, so we'll see what happens.

Are you guys trying to correct bare speaker response (anechoic room response) or speaker+room? I consider that digital room correction tends to be more harm than good, both theoretically and empirically.