• 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 daily reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Room equalization through inverse delayed and attenuated bass signals

neRok

Senior Member
Joined
Oct 7, 2022
Messages
302
Likes
175
Location
Australia
I watched the video OCA posted in post #7. I watched his other videos on this method in the past, but I hadn't seen this simpler method. Working with impulse responses and convolution is a lot more to wrap my head than PEQ's and their simpler effect of adding/removing SPL at and around certain frequencies, but I think I'm starting to get it.

So I loaded up an old sweep of my speakers in stereo, followed the steps, and exported the IR WAV. The estimated convolved response in REW does not look good, but I chucked the file in to EQ_APO anyway and applied it over the top of my previous EQ efforts, just to see if it did something notable, which it does. I know I have to go back to step 1 and do it properly now, but I have some questions first, based upon the following screenshot;
vba trial 1.png
  1. When I add together the dirac pulse and the LPF to get "A plus B", and that shows gains between +6dB and -30dB, is that graph based upon the peak impact of the impulse at that frequency?
  2. Because I noticed it renders the same in EQ_APO. So even though it renders the same as PEQ's, I'm presuming it is not the same in practice because PEQ is a "permanent" adjustment, whereas the convolution is over time, but the graph only shows the peak of the "over time" effect?
  3. It seems there is in effect +6dB boost being applied, even if momentary (my EQ_APO shows +3dB peak gain after other EQ's like the global -2dB I have applied). So I believe the potential is there for +6dBFS signals, thus clipped signals? So should I lower everything down some more?
  4. I'm not sure why the REW estimated response ("A times B") looks worse? I inverted the LPF impulse as directed. This was a stereo measurement, so perhaps there was some phase/delay funkyness in effect? I have recently discovered some phase anomaly in my speakers response due to lack of room symmetry. This measurement had no mitigation for that in it. Anyway, this was a throwaway attempt, so probably not worth investigating deeply.
  5. Considering one of my speakers has this phase anomaly in the in room response, how/when should this be corrected? Should I correct the phase with allpass or convolution or something, and then do the VBA convolution over the top (and 1 per speaker, or 1 for the pair)? Or perhaps it will sort itself out just by the VBA convolution (which might be possible because I think the problem is different reflections/summation in non square room)?
  6. OCA's video and my test was for stereo speakers. How does this process work when there is also a sub? When and where are delays for each component applied (ie 1 speaker might need a minute correction for proper stereo effect, and then either the speakers or sub might need delay for their integration)? Actually, this is something I am yet to find out even if not doing VBA (how to time align them and ensure they are in phase), so perhaps someone could point me at a good resource?

  7. Edit: Forgot this question. The convolution setting in EQ_APO shows the IR has a length of nearly 5.5 seconds. Toggling that setting on and off appears to add that much delay to the output, because I guess it has to "convolve" for that long. I'm not sure why it is that long or if it need to be that long, but perhaps that is something that can be adjusted in REW before exporting it?
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
626
Likes
454
Location
Germany
I watched the video OCA posted in post #7. I watched his other videos on this method in the past, but I hadn't seen this simpler method. Working with impulse responses and convolution is a lot more to wrap my head than PEQ's and their simpler effect of adding/removing SPL at and around certain frequencies, but I think I'm starting to get it.

So I loaded up an old sweep of my speakers in stereo, followed the steps, and exported the IR WAV. The estimated convolved response in REW does not look good, but I chucked the file in to EQ_APO anyway and applied it over the top of my previous EQ efforts, just to see if it did something notable, which it does. I know I have to go back to step 1 and do it properly now, but I have some questions first, based upon the following screenshot;
View attachment 299353
  1. When I add together the dirac pulse and the LPF to get "A plus B", and that shows gains between +6dB and -30dB, is that graph based upon the peak impact of the impulse at that frequency?
  2. Because I noticed it renders the same in EQ_APO. So even though it renders the same as PEQ's, I'm presuming it is not the same in practice because PEQ is a "permanent" adjustment, whereas the convolution is over time, but the graph only shows the peak of the "over time" effect?
  3. It seems there is in effect +6dB boost being applied, even if momentary (my EQ_APO shows +3dB peak gain after other EQ's like the global -2dB I have applied). So I believe the potential is there for +6dBFS signals, thus clipped signals? So should I lower everything down some more?
  4. I'm not sure why the REW estimated response ("A times B") looks worse? I inverted the LPF impulse as directed. This was a stereo measurement, so perhaps there was some phase/delay funkyness in effect? I have recently discovered some phase anomaly in my speakers response due to lack of room symmetry. This measurement had no mitigation for that in it. Anyway, this was a throwaway attempt, so probably not worth investigating deeply.
  5. Considering one of my speakers has this phase anomaly in the in room response, how/when should this be corrected? Should I correct the phase with allpass or convolution or something, and then do the VBA convolution over the top (and 1 per speaker, or 1 for the pair)? Or perhaps it will sort itself out just by the VBA convolution (which might be possible because I think the problem is different reflections/summation in non square room)?
  6. OCA's video and my test was for stereo speakers. How does this process work when there is also a sub? When and where are delays for each component applied (ie 1 speaker might need a minute correction for proper stereo effect, and then either the speakers or sub might need delay for their integration)? Actually, this is something I am yet to find out even if not doing VBA (how to time align them and ensure they are in phase), so perhaps someone could point me at a good resource?

  7. Edit: Forgot this question. The convolution setting in EQ_APO shows the IR has a length of nearly 5.5 seconds. Toggling that setting on and off appears to add that much delay to the output, because I guess it has to "convolve" for that long. I'm not sure why it is that long or if it need to be that long, but perhaps that is something that can be adjusted in REW before exporting it?
Your filter's dip doesn't match the speaker response's peak frequency and -30dB is absurd, you probably forgot to increase lpf level by 4dB before adding it with Dirac.

This is how a VBA filter should look:

VBA.jpg


and 5.5 seconds is probably because you didn't "Trim IR windows" before exporting the filter from REW. The latency VBA causes is around 20ms.
 
Last edited:

neRok

Senior Member
Joined
Oct 7, 2022
Messages
302
Likes
175
Location
Australia
Your filter's dip doesn't match the speaker response's peak frequency
Possibly. Look at my higher res upload below. I knew the worst peak in my room was around 150Hz, and REW is showing it (~162Hz) lines up with the long dimension of the room sim. There is a corresponding peak at ~81Hz, but yer I'm not sure about the one at ~41Hz. There is a strange peak at ~48Hz, perhaps I would be better targeting that one? My room isn't rectangular, which could be causing these effects, and so it might not be suitable for VBA?

increase lpf level by 4dB before adding it with Dirac
I did skip that step, but I did so "deliberately" (naively?) because I didn't see the need to use the room target like you did. I was especially confused when you used 4dB "to match the target", then made the convolution filter, and then added another 2dB to the target to get it to visually match. That made me wonder why make it match if it doesn't actually match? And then after all that, your un-smoothed response doesn't seem to follow the target curve particularly well anyway. So then I wondered why 4dB, and not 3 or 2 or 5 or 6, or 0? But putting in that 4dB has made the convolution filter look like your example. Now I wonder as I type this, is the +4dB on the inverted impulse actually the "attenuation"?
vba-trial-1.1.jpg
Also playing on my mind was the thread I linked where I asked the question "why does EQ'ing to harman target not sound good to me", and it seems the answer was because I was EQ'ing too much above Schroeder frequency, and that EQ'ing to target probably isn't as effective as EQ'ing out the problems, and then adding some low/high shelves to taste. So that thought came in to my mind when you were following the target too. Even more so for me because my speakers have spinorama data and are known to have smooth bass on both the CEA2034 and in-room estimate graphs, so there isn't any speaker-bass related issues to EQ.

Edit: Forgot to mention that my question #3 is unanswered, and actually the problem is potentially worse because the "corrected" impulse response now has +8dB boosts?

you didn't "Trim IR windows" before exporting the filter from REW. The latency VBA causes is around 20ms.
Ah, didn't see that was required in your last video. Looking at the impulse it seems the window needs to be at least 80ms?
unfiltered ir.jpg
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
626
Likes
454
Location
Germany
Possibly. Look at my higher res upload below. I knew the worst peak in my room was around 150Hz, and REW is showing it (~162Hz) lines up with the long dimension of the room sim. There is a corresponding peak at ~81Hz, but yer I'm not sure about the one at ~41Hz. There is a strange peak at ~48Hz, perhaps I would be better targeting that one? My room isn't rectangular, which could be causing these effects, and so it might not be suitable for VBA?


I did skip that step, but I did so "deliberately" (naively?) because I didn't see the need to use the room target like you did. I was especially confused when you used 4dB "to match the target", then made the convolution filter, and then added another 2dB to the target to get it to visually match. That made me wonder why make it match if it doesn't actually match? And then after all that, your un-smoothed response doesn't seem to follow the target curve particularly well anyway. So then I wondered why 4dB, and not 3 or 2 or 5 or 6, or 0? But putting in that 4dB has made the convolution filter look like your example. Now I wonder as I type this, is the +4dB on the inverted impulse actually the "attenuation"?
View attachment 299404
Also playing on my mind was the thread I linked where I asked the question "why does EQ'ing to harman target not sound good to me", and it seems the answer was because I was EQ'ing too much above Schroeder frequency, and that EQ'ing to target probably isn't as effective as EQ'ing out the problems, and then adding some low/high shelves to taste. So that thought came in to my mind when you were following the target too. Even more so for me because my speakers have spinorama data and are known to have smooth bass on both the CEA2034 and in-room estimate graphs, so there isn't any speaker-bass related issues to EQ.

Edit: Forgot to mention that my question #3 is unanswered, and actually the problem is potentially worse because the "corrected" impulse response now has +8dB boosts?


Ah, didn't see that was required in your last video. Looking at the impulse it seems the window needs to be at least 80ms?
View attachment 299407
lpf dB offset does not transfer directly as filter boost. Vector addition with Dirac pulse changes everything. It's more of an adjustment effecting the size between dips and peaks of the final filter. I came up with it after trying every 0.5dB from -12 to +12. It might need a slightly different value in your set up but changing the method in every way on the run during the first try is unlikely to yield a good result. Your filter still doesn't remotely coincide with the response peak. If you look at the "cursor" sample graph I posted above, you will understand what I mean.

As long as two speakers have the same peak and dip frequencies in a room, it will benefit from VBA regardless of the room shape. Every room has room modes.

Any DSP has potential to increase clipping headroom. 5-6dB is quite normal and should be dialed in the convolution engine. I can share public songs with you that will clip without any filters in your system.
Ah, didn't see that was required in your last video. Looking at the impulse it seems the window needs to be at least 80ms?
Filter latency is ONLY about total tap count and sampling rate. With standard REW settings (48kHz, 100/500ms IR windows), unless you force-limit tap counts during export, you cannot create any filter with less than 687ms latency.
 

neRok

Senior Member
Joined
Oct 7, 2022
Messages
302
Likes
175
Location
Australia
Your filter still doesn't remotely coincide with the response peak. If you look at the "cursor" sample graph I posted above, you will understand what I mean.
So ~50Hz? I somewhat agree with your argument (it might have been in the video) about the actual room not being perfect to the room sim when openings and irregularities are considered, but considering that single/double bass array are based upon the plane wave and "stopping it" in the long room direction, ~50Hz seems far off the ~40Hz that the room sim shows me (also noting that there are peaks at multiples of that 40Hz). I'll try targeting at a different frequency like 50Hz, just to see.

But I've just loaded up the moving mic measurements I did of each of my speakers the other week. I failed to register how dissimilar the frequency responses are! The left speaker is wildly different at ~80Hz and ~160Hz (which happen to be multiples of ~40Hz). I reckon the left speakers output is basically reflecting 2 "back walls", like sketched below;
mmm side measures.jpg layout.jpg

I wonder if I can filter the left channel only to tame those 2 peeks, and then another filter for a common frequency (eg ~50Hz)? But I notice that 142Hz is a common peak between the 2 speakers, along with its multiple 284Hz.
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
626
Likes
454
Location
Germany
So ~50Hz? I somewhat agree with your argument (it might have been in the video) about the actual room not being perfect to the room sim when openings and irregularities are considered, but considering that single/double bass array are based upon the plane wave and "stopping it" in the long room direction, ~50Hz seems far off the ~40Hz that the room sim shows me (also noting that there are peaks at multiples of that 40Hz). I'll try targeting at a different frequency like 50Hz, just to see.

But I've just loaded up the moving mic measurements I did of each of my speakers the other week. I failed to register how dissimilar the frequency responses are! The left speaker is wildly different at ~80Hz and ~160Hz (which happen to be multiples of ~40Hz). I reckon the left speakers output is basically reflecting 2 "back walls", like sketched below;
View attachment 299423 View attachment 299422

I wonder if I can filter the left channel only to tame those 2 peeks, and then another filter for a common frequency (eg ~50Hz)? But I notice that 142Hz is a common peak between the 2 speakers, along with its multiple 284Hz.
It's not the room length, it's the sum of all 3 room dimensions that determine the resonant frequency. You are right, there's almost not a single common dip or peak in your left and right speaker responses :) I don't think VBA would work in this room. Do you have a fixed mic at LP measurement for your left and right speaker?
 

neRok

Senior Member
Joined
Oct 7, 2022
Messages
302
Likes
175
Location
Australia
Here's an old measure. Same speakers but probably different position, on different stands, and the mic was in the same position but not at listening position (on desk, so forward and lower than listening position).
old_fixed_measure.jpg
The differences at 80 and 160 are still apparent. ~200Hz null is common between old and new measure too. I'm now running the speakers close to the corners of them room because I read somewhere that if you have bad SBIR issues you may as well jam the speakers in to the walls to negate it as much as possible. I don't know how correct that was, but the ~140Hz looks less work in my newer MMM measurements, so it might have some truth to it. I haven't got around to testing new positions since building my new speaker stands and discovering the ease and benefits of MMM.
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
626
Likes
454
Location
Germany
Here's an old measure. Same speakers but probably different position, on different stands, and the mic was in the same position but not at listening position (on desk, so forward and lower than listening position).
View attachment 299428
The differences at 80 and 160 are still apparent. ~200Hz null is common between old and new measure too. I'm now running the speakers close to the corners of them room because I read somewhere that if you have bad SBIR issues you may as well jam the speakers in to the walls to negate it as much as possible. I don't know how correct that was, but the ~140Hz looks less work in my newer MMM measurements, so it might have some truth to it. I haven't got around to testing new positions since building my new speaker stands and discovering the ease and benefits of MMM.
I think 24Hz resonant frequency, 48Hz first peak is a reasonable choice in your case although I don't really see a common dip around 24Hz. Can you try to convolve the attached filter with your measurements?

1689508662834.png
 

Attachments

  • VBA.zip
    2.3 MB · Views: 27

tjcinnamon

Addicted to Fun and Learning
Joined
Mar 20, 2021
Messages
501
Likes
188
I'm using Auido Hijack on my Mac Mini. It allows me to add delays using a synchronize feature. Unfortunately it only allows 1ms steps in delay. Audio Hijack can use Apple AudioUnit plug-ins but I haven't found a plug-in yet that allows for a simple delay in smaller time steps.
What is your audio output? Seems you’d need a bunch of RCA/XLR outs to go to all of the amps?

Also, did you target certain resonant frequencies? How high in the spectrum did you go?
 

tjcinnamon

Addicted to Fun and Learning
Joined
Mar 20, 2021
Messages
501
Likes
188
Excellent, and way ahead of me! At this point I'm just happy to get the bass relatively smoothed out and clean sounding. Looks like there's a lot more for me to learn about REW, and more potential upside for optimizing my bass. My method was just to take sweeps, look for peaks, and estimate what time delay would be needed for an inverse signal to counter it. I'm still surprised and don't comprehend why those signals had to be lowered 10 dB or more from the initial signal to get appropriate reductions in peaks. I've thought a lot about double bass arrays, and wondered how much loss across the room happens. I guess it depends on the array. I'm running two stakcs of horn woofers, basically horn line arrays from floor to ceiling, so there's not a lot of vertical issues, just side to side and front to back.
The program I'm using is Audio Hijack for Mac, and it has recently added a FIR filter block capability. I don't know how to use it yet. It asks for a file to apply. Maybe REW can generate a file it can use?

I notice in the video that you see the bass response increase below the first peak when you apply your filter. I got that same result and was really surprised. I'm getting more deep bass by playing the bass inverted against itself! I had some concern that this would just cancel all the deep bass. It's all in the time delay.
Do you have before and after pics of your SPL graph and Spectrogram?

I can get a relatively flat response but my decay around 30Hz could use some taming
 

Keith_W

Major Contributor
Joined
Jun 26, 2016
Messages
2,335
Likes
5,375
Location
Melbourne, Australia
I hope you don't mind me hijacking your thread to ask some questions :)

In my system, I have two peaks before room correction (brown). I have indicated in the trace below that the peaks occur at approximately 25Hz and 60Hz. The blue trace is after overall room correction. Acourate simply lops off the peaks, and the result is flat bass response at the MLP. As you can see, it looks quite satisfactory - it is flat to 20Hz, and -5dB at 15Hz.

The 25Hz peak corresponds to a wavelength of 13.7 meters. Given my room length is 7m, this is probably a first order reflection. The 60Hz peak is probably second order length mode + 2nd order width mode (there are two peaks at 60Hz).

1689562904207.png


In principle, these peaks are caused by room modes. So in my mind, the best way to deal with them should be to (1) absorb reflections by using bass traps, or (2) cancel the reflections using a VBA. I won't use bass traps because of the size of those things as well as undesirable effects of also absorbing non-bass frequencies. So that leaves the VBA.

Of course, I could also cut the peaks - which is what I have done. And to me, it sounds OK. The bass only sounds lumpy away from the main listening position, particularly behind the MLP or to the side of the MLP.

I could implement a VBA, but it would involve a lot of effort and a lot of futzing around with Acourate. What I want to know is whether it is worthwhile. So my questions:

1. Are there any audible differences at the MLP between a VBA and simply cutting the peaks with EQ, as I have done?
2. Does a VBA smooth out the overall bass response in the room (as opposed to one position only)?
3. Most calculations for VBA's I have seen only take into account the length mode. What about room width, height, and diagonals? Should those be taken into account as well?
 

OCA

Addicted to Fun and Learning
Forum Donor
Joined
Feb 2, 2020
Messages
626
Likes
454
Location
Germany
Unfortunately, it's not that simple. There are 6 reflections (floor, ceiling, left side wall, right side wall, front wall, rear wall) from two speakers and their first, second, third bounces are all in action to add up or cancel out each other in a chaotic fashion. Furthermore, depending on the frequency affected by the time delay of the bounced wave, the signal origination source will switch i.e. first floor reflection might cause a dip at 210Hz which will be from woofer or at 280Hz which will be from the midrange driver which is located at a different height to floor than the woofer. And this is all if you have flat surfaces with identical reflective properties all around the room which is never the case.

As per your questions:

1. VBA will remove "half" of the first and the largest dip inevitable in every room which is not possible with EQ and that's an audible improvement. It will boost and extend bass below the first peak although in your case that may not be audible since your system can already produce bass down to the limits of human hearing.

2. Yes because EQ only decreases the volume of the problem frequency at the source, VBA doesn't intervene at the source but wipes out its reflection permanently.

3. That's only the long wall axial mode formula and is good for double bass arrays as they have no choice but place a second sub on the opposite wall. The formula involving the sum of all three room dimensions gives a good approximation for the room resonant frequency:
f = c / (2 * (L + W + H))
There're more precise and a lot more complex methods. "Sabine formula" to calculate from the volume of the room is one of them if you're interested:
 
Last edited:

tjcinnamon

Addicted to Fun and Learning
Joined
Mar 20, 2021
Messages
501
Likes
188
Excellent, and way ahead of me! At this point I'm just happy to get the bass relatively smoothed out and clean sounding. Looks like there's a lot more for me to learn about REW, and more potential upside for optimizing my bass. My method was just to take sweeps, look for peaks, and estimate what time delay would be needed for an inverse signal to counter it. I'm still surprised and don't comprehend why those signals had to be lowered 10 dB or more from the initial signal to get appropriate reductions in peaks. I've thought a lot about double bass arrays, and wondered how much loss across the room happens. I guess it depends on the array. I'm running two stakcs of horn woofers, basically horn line arrays from floor to ceiling, so there's not a lot of vertical issues, just side to side and front to back.
The program I'm using is Audio Hijack for Mac, and it has recently added a FIR filter block capability. I don't know how to use it yet. It asks for a file to apply. Maybe REW can generate a file it can use?

I notice in the video that you see the bass response increase below the first peak when you apply your filter. I got that same result and was really surprised. I'm getting more deep bass by playing the bass inverted against itself! I had some concern that this would just cancel all the deep bass. It's all in the time delay.
also, I think where this helps is where a virtual sub array is not practical such as where I already have 3 subs and can mess with the delays. This can really help with decay times. I'm very curious about your setup. I have a few other subs I can pop in a minidsp and place around the room.
 

tjcinnamon

Addicted to Fun and Learning
Joined
Mar 20, 2021
Messages
501
Likes
188
I've been thinking about bass response in rooms, and a potential problem with equalization via IIR FIR filters, which may not address time delay issues correctly. For instance, a peak may be happening not because of a bounce that's one wavelength late, but may maybe two wavelengths. And a cancelation may occur from a bounce that's not half a wavelength delayed, but 1 and 1/2 wavelength delayed, or more. This got me concerned that just equalizing down a peak may cause sustained bass notes to end up with the correct level, but short notes to be too quiet, assuming a peak was equalized down. Plus, there's a chance that a delayed inverse signal may fix a null too.

So, I decided to turn off my extensive parametric equalization on my woofers and try to smooth things out using reflection cancelling by mixing in delayed, inversed, and attenuated signals. These are applied full bandwidth for the woofers, without any equalization. They're basically an inverted echo.

I got surprisingly good results with inverse signals delayed 20 ms and attenuated 11 dB, and another one delayed 40ms and attenuated 22 dB. I'm frankly shocked at how much those rather highly attenuated singals helped to smooth out the bass! The minus 22 dB made a difference! Apparently it all adds up in the room. It took some experimenting to discover how low the signal had to be for best results. This also cleaned up the spectrogram and improved clarity C50 and reduced early decay time. One weird thing is that making the spectrogram look cleanest did not necessarily equate to the smoothest response.

I end up adding two more delayed inverse signals - one at 7ms and 10 dB attenuated, and another at 10ms and 10 dB attenuated. These are all applied to my corner bass horns.

This is the best I've gotten the bass to sound in here so far, maybe the best I've had it in any room. Just four delayed inverse signals.

I put one parametric in for a problem spot at 150Hz that was audible and I couldn't figure out.

One thing I was hoping for was that I could also fix a problem with my bass horns where the sound gets stuck in the horn because of the folds ( I think ) at a certain frequency. It didn't totally fix that, but it reduced it by at least as much as I've ever managed with parametric filters. I'm currently limited to 1 ms intervals on the delay because of the software I'm using. Some .1 ms accuracy might be able to get after that sharp null from the horns better. Not sure about that.
did you do this in conjunction with your phase cancellation fronts?
 
OP
T

Tim Link

Addicted to Fun and Learning
Forum Donor
Joined
Apr 10, 2020
Messages
701
Likes
620
Location
Eugene, OR
did you do this in conjunction with your phase cancellation fronts?
Are you asking if I attempted to fix the bass horns using the same phase cancellation technique on top of addressing the room issues? Yes. I figured the horns are just small rooms. Unfortunately it didn't work. I've resorted to adding a few more parametric equalization points on top of the delayed signals. That helps to reduce the width and depth of the horn cancellation.
 

tjcinnamon

Addicted to Fun and Learning
Joined
Mar 20, 2021
Messages
501
Likes
188
Are you asking if I attempted to fix the bass horns using the same phase cancellation technique on top of addressing the room issues? Yes. I figured the horns are just small rooms. Unfortunately it didn't work. I've resorted to adding a few more parametric equalization points on top of the delayed signals. That helps to reduce the width and depth of the horn cancellation.
How are you outputting to multiple channels? Also, for the delay/cancellation are you using dedicated woofers? Where are you putting the cancellation woofers in the room?

If the sub is on the left side of MLP, are you then trying to cancel it on the right side of MLP?
 
OP
T

Tim Link

Addicted to Fun and Learning
Forum Donor
Joined
Apr 10, 2020
Messages
701
Likes
620
Location
Eugene, OR
How are you outputting to multiple channels? Also, for the delay/cancellation are you using dedicated woofers? Where are you putting the cancellation woofers in the room?

If the sub is on the left side of MLP, are you then trying to cancel it on the right side of MLP?
I'm using HDMI out from my Mac Mini into a 5.1 reciever. I'm not using cancellation woofers. I'm just running delayed and inverted signals through the same woofers. It's a virtual bass array.
Today I've been experimenting with OCA's method of using REW to create an impulse file to feed into an FIR filter. No EQ parameters, just a single impulse file. His method is very powerful and this is unquestionably better in terms of technical accuracy. I'm blown away listening to my system now nearly perfeclty matching the Harman target curve at my listening position. The impact, clarity, everything is just out of this world. Unfortunately I've got a 1 second latency with this method so I can't use it for games or movies. Maybe movies if I could delay the video.
 

tjcinnamon

Addicted to Fun and Learning
Joined
Mar 20, 2021
Messages
501
Likes
188
I'm using HDMI out from my Mac Mini into a 5.1 reciever. I'm not using cancellation woofers. I'm just running delayed and inverted signals through the same woofers. It's a virtual bass array.
Today I've been experimenting with OCA's method of using REW to create an impulse file to feed into an FIR filter. No EQ parameters, just a single impulse file. His method is very powerful and this is unquestionably better in terms of technical accuracy. I'm blown away listening to my system now nearly perfeclty matching the Harman target curve at my listening position. The impact, clarity, everything is just out of this world. Unfortunately I've got a 1 second latency with this method so I can't use it for games or movies. Maybe movies if I could delay the video.
The video games and movies/TV is a reason why I can't use that. From the perspective of the VBA filter, I have 4 subwoofers. I can basically, mess with their timings and get a near flat response. However, I can't EQ my way out of decay times which is why your experiment and Dirac ART are so intriguing.

FIR filters at low-frequencies consume a bunch of taps and create that massive delay. So unless I'm understanding the VBA incorrectly, it may not be well suited for 3 or more subwoofers.
 
OP
T

Tim Link

Addicted to Fun and Learning
Forum Donor
Joined
Apr 10, 2020
Messages
701
Likes
620
Location
Eugene, OR
The video games and movies/TV is a reason why I can't use that. From the perspective of the VBA filter, I have 4 subwoofers. I can basically, mess with their timings and get a near flat response. However, I can't EQ my way out of decay times which is why your experiment and Dirac ART are so intriguing.

FIR filters at low-frequencies consume a bunch of taps and create that massive delay. So unless I'm understanding the VBA incorrectly, it may not be well suited for 3 or more subwoofers.
So you're running the rear subs inverted and delayed, getting flat response but still having bad bass decay? Hmm. I could imagine it not being perfect but I'd expect it to be pretty good if the response is flat on account of setting up a reasonably well working double bass array. How big is the room and where do you have the woofers located? Can you post a REW file of your room's measurements?
 

neRok

Senior Member
Joined
Oct 7, 2022
Messages
302
Likes
175
Location
Australia
I haven't got around to testing anything further, but I did post this thought the other day;

It seems the defining feature of the virtual/pseudo bass array is the delayed cancellation signal coming from the source driver
...
one thing about the VBA methods mentioned previously (convolution method or copying in a second signal method), both suggest the subwoofer needs to output even more frequencies at one time than it would just normally playing the song, which might cause a problem with "dynamics"? Or possibly when adding the cancellation signal to the live signal it just cancels the signal all together, and then the speaker does nothing, and thus the in room signal doesn't get actively cancelled at all and just keeps decaying as usual?

So I wonder what the impact would be with repetitive bass notes (eg fast drums) or sustained bass notes (eg electronic notes)?

I also wonder if a possible and/or better method is to have an impulse per frequency that has steep LP+HP filters either side, and then combine them in to 1 convolution file? Because OCA's method of targeting the lowest freq peak seems to leave the higher peaks less damped.

Edit: Actually there is something fundamental I'm not understanding about the impulse method. I watched a video that states "this tiny 1 sample pulse contains sinusoids of all possible frequencies representable for that sampling rate". If it contains all freq, how has delaying it by the room length not delayed a copy of all freq? I can see on REW SPL screen that it isn't, but I don't get why it is that way?
 
Last edited:
Top Bottom