• 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 many 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

Where do I see the result graph to judge if it is significant?

Download the attachment in this other thread post link:


I did not apply any additional LF boost below 30 Hz so I would not be surprised if the "simple" mixed phase filtered room IR might not be favored with actual listening tests in this scenario.
 
Download the attachment in this other thread post link:


I did not apply any additional LF boost below 30 Hz so I would not be surprised if the "simple" mixed phase filtered room IR might not be favored with actual listening tests in this scenario.
I see a better impulse response and a better spectrogram
 
Ignore anything around 50Hz in my mdat files. It's the AC ground loop inherent to the flat
I can't stop thinking about your 50Hz problem area lol. I originally thought it was the back wall reflection, hence why I did all those REW Room Sims, but my calcs weren't adding up. But there was a null in Room Sim, and it's been playing on my mind what the null was caused by, so I started a thread that lead me to the answer, which was that my calcs were wrong. The physical distance I was meant to be considering was for 1/4 wave, not 1/2 wave, so everything I was calc'ing was out by 2x. So what this means is that if you sit ~1.7m (=343/50*0.25) from your back wall, you will have cancellation at 50Hz!

I don't think it's a "whole" room mode either (if that's the right phrase), because it's length isn't a clear multiple of the room. This is specifically a listening position to wall mode. It exists because of the back wall reflection, like I outlined in the linked thread (quote from wikipedia);
"At the walls there must always be a sound pressure antinode." Your graphic shows this. It makes sense when you think about it, because at the moment the wave is at peak amplitude and arrives at the wall, it is then reflecting on it self and boosting itself. And thus at half wavelength distance from the wall you have +dB reflection on top of -dB direct wave, and thus cancellation (node = null).​
Where I said half is wrong, it's quarter.

So now I think another bit of info I found on wikipedia is proving relevant, because you said there is an opening on your back wall. I can't find the exact quote I remember (it was about open ends of wind instruments), but this one gets the point across (https://en.wikipedia.org/wiki/Standing_wave#Standing_wave_on_a_string_with_one_fixed_end);
If the end of the pipe is open, the pressure variations are very small, corresponding to a pressure node (which is an anti-node for molecular motions, because the molecules near the open end can move freely).[16][17] The exact location of the pressure node at an open end is actually slightly beyond the open end of the pipe, so the effective length of the pipe for the purpose of determining resonant frequencies is slightly longer than its physical length.

So that's saying that when an end is open, the effective length of the room is slightly longer, because the reflection occurs "beyond" the wall. So that might be why you have lots of "pits" as I called them just above 50Hz (from the wall), and some also below 50Hz (reflections from the opening).
 
I see a better impulse response and a better spectrogram

Does the (original filtered response with VBA -- Left filtered Lf1234) look any better than my eye-balled simple mixed phase (MP) FIR EQ correction?
 
Does the (original filtered response with VBA -- Left filtered Lf1234) look any better than my eye-balled simple mixed phase (MP) FIR EQ correction?
Ok, now I get it. Indeed no, I would even say the (MP) FIR EQ looks slightly better
 
Does the (original filtered response with VBA -- Left filtered Lf1234) look any better than my eye-balled simple mixed phase (MP) FIR EQ correction?
Ok, now I get it. Indeed no, I would even say the (MP) FIR EQ looks slightly better

Have either of you looked at my post #146? The SPL appears marginally improved, yet the decay is massively improved (IMO). Relevant bit in the following quote;

Back in REW I convolved the new VBA with the old in room response, and the results were unremarkable;
new vba - spl.png
But going to the spectrogram, here's the before and after;
L0 spectrogram.jpg new VBA spectrogram.jpg

Because I've noticed "3" things about what REW shows (they're all related in that SPL graph doesn't show time), and these are just my observations, so they might be technically wrong, but they seem consistent too;
1) The "SPL" is based upon the "build up" portion of the impulse response. Once the strongest amplitude wave peak is heard/measured, any cycles heard after in the decay phase seem to play little role in the "SPL" reported. This means that having a lot or a little decay has *no* effect on the "SPL".
2) If the "peak energy" is after the "direct wave", it treats this delayed peak as the "ref" phase and SPL point, but is that proper? Because if that delayed wave was reduced somehow, then the "ref point" is different, the whole SPL report is different - it's very different.
3) Following from my *no* above, the decay does have an effect if it hasn't "stopped" by the time the next tone is played at the frequency. I've showed this, that the energy builds up for a few cycles over a few cycles of a continuous tone. REW seems to measure over "min energy", and doesn't show the difference of what the SPL graph would look like if a room mode was already at "max energy".

If anyone wishes to disregard my observations, please explain/answer my concerns with regards to the following test. In it I've made an IR that doubles the amount of energy put out by the speakers, yet REW reports many different things;
2 impulses.png


Edit: Maybe need to min phase copy them first? I'm still learning the intricacies of IR's, so the previous might be wrong. However, the following MP still has issues. Which is correct if I literally "echo" a tone, in source, or if I had 2 speakers on top of each other and 1 was delayed?

2 impulses mp.png
 
Last edited:
I don't think you need advanced math degrees to get the "gist" of MIMO equalization... but it certainly helps some if you read past academic papers that delve on the subject matter and try hard enough to understand at the very least why a very high level of control over multiple distributed LF transducers in small room acoustics matters.

I have 2 subwoofers in my room, as well as two mains speakers capable of going down flat to 30Hz, and -10dB at 20Hz. The subs are capable of going flat down to 15Hz and -10dB at 10Hz. I am using as many transducers as most typical Dirac users with A.R.T. Admittedly, I am only using the subwoofers for my VBA experiments and I have not gotten good results. The main speakers are high passed at 80Hz, but if I wanted to I could use them full range to augment the subs.

However, as that Trinnov video says, they do not know the effect of using multiple subwoofer types for bass cancellation, because they have not modelled it.

I have had a few more hours to re-read that MIMO paper and I understand what they are saying now. If I understand correctly, what I am doing is something in between - Single Input (single measuring point) - Multi Output, or SIMO as mentioned in that paper.

Yes, I think what sets apart Trinnov waveforming is the planar array bass steering, where -- as they say -- up to 90% of the LF energy is already fully absorbed by the rear subs alone. It also looks like it will work really well for larger home cinema spaces.

Yes, I watched that with interest. It seems as if bass steering would not be too difficult to accomplish, and an idea popped into my head when I came to that part of the video. My listening room looks like this:

1691581702137.png


It would be very nice to steer the unwanted bass into the adjoining dining room where it hopefully won't reflect back into the listening area. I think it would be pretty easy to accomplish, simply set up the measurement microphone in the area where I have circled, and time align the subwoofers at that point. The other way to accomplish it would be to calculate the delays based on room geometry, but this method seems easier. I will try it and report back.


Tell me, honestly, does the amount of bass "cancellation" achieved below by this inverse, time delayed VBA filter look at all that significant to you?

Yeah, it does not.

(Please note that I am not arguing with you, I am thinking aloud hoping that you I am making a sound argument as I understand it, and I am more than happy if you pick apart my argument and show me where I am wrong!)
 
Have either of you looked at my post #146? The SPL appears marginally improved, yet the decay is massively improved (IMO).

Skimmed some of it… sorry, but I haven’t looked too deeply at your workflow.

I would prefer seeing the before and after mdat measurements including the filter. An actual in-room measurement for extra “verification” would be even better.
 
Yes, I watched that with interest. It seems as if bass steering would not be too difficult to accomplish, and an idea popped into my head when I came to that part of the video. My listening room looks like this:

Well, I suppose an example of SIMO would be the use of multi-subs with MSO.

This will still require multiple spatially distributed microphone measurements — a microphone matrixing IO device would help make the process faster.

However, by itself that still does not effectively achieve significant bass dereverberation. I do think each sub out needs to be FIR DSP’d individually for best results (*although, the paper by the Dirac researchers say it's not necessary) — as to how to do it with the equipment you have currently, eh, seriously, good luck with that!

In your room sketch I don’t see it being so easy to fit in (elevated) arrayed rear subs. But maybe it’s possible with a bit of re-arrangement…

Plus don’t forget, it’s mentioned that dampening and/or rigidity of the constructed walls matters as well.
 
Last edited:
Well, I suppose an example of SIMO would be the use of multi-subs with MSO.

According to what I understand about "MIMO", MSO would be an example of a MIMO, not a SIMO. The workflow of MSO requires you to measure at multiple positions over the listening area that you wish to correct, thus fulfilling the "multi-input" requirement. However, as that Trinnov video says, MSO uses a different strategy to even out the bass of the room. It aims to flood the room with reflections in order to achieve even bass distribution, or as he puts, it, "cacophony". In contrast, schemes like Trinnov, Dirac, and VBA aim for "control" by cancelling reflections. I am sure you knew all that already.

My brain is a bit too small to imagine how you could make a VBA a MIMO and not a SIMO, because measuring at different positions will give you different timings. I have no idea what to do with those timings since I lack adequate training in acoustics and mathematics. I can imagine that it would be advantageous to use multiple spatially separated measurements to make a VBA to remove any errors associated with a single point measurement.

In your room sketch I don’t see it being so easy to fit in (elevated) arrayed rear subs. But maybe it’s possible with a bit of re-arrangement…

Plus don’t forget, it’s mentioned that dampening and/or rigidity of the constructed walls matters as well.

Yeah, the idea of this thread is a Virtual bass array, not an actual double bass array. The idea of a VBA is to do away with the requirement for arrayed rear subs.
 
According to what I understand about "MIMO", MSO would be an example of a MIMO, not a SIMO. The workflow of MSO requires you to measure at multiple positions over the listening area that you wish to correct, thus fulfilling the "multi-input" requirement.

Yeah, that's exactly what one would think at first glance... however:


*Apparently, Matt says Trinnov's way of doing things is still not exactly MIMO. Personally, I think the pure technical distinction here seems only somewhat to be the case. Important aspects of what Trinnov does here (despite not including the surrounds etc.) is already characteristically using fundamentally similar tech i.e. active bass cancellation for bass spatial uniformity and dereverberation.
 
Last edited:
"MIMO", MSO would be an example of a MIMO, not a SIMO. The workflow of MSO requires you to measure at multiple positions over the listening area that you wish to correct, thus fulfilling the "multi-input" requirement.

Reviewing this a bit more... while your flipped acronym designation is incorrect, it looks like you're actually right in that multi-sub with MSO equalization still squarely fits within the definition of a MIMO system.

Main difference is MSO's approach is just a bit simpler, and the results aren't nearly as good. For example, here we don't see as much of a significant time domain improvement.

Another thing is detailed apriori knowledge and arrangement of the room's geometry, construction, and loudspeaker distribution isn't a significant part of setting up to adjust and improve the algorithm computations -- like in Trinnov's waveforming bass array.
 
Is Trinnov rolling out waveforming for the Nova or is it only for the HT processors?
 
Skimmed some of it… sorry, but I haven’t looked too deeply at your workflow.

I would prefer seeing the before and after mdat measurements including the filter. An actual in-room measurement for extra “verification” would be even better.
I tried to make an example for you the other day but came across an issue. I hadn't saved an mdat with my VBA tests in it, but I still had the IR WAV file. So I imported the IR and multiplied it against the old measurements, but only the SPL graph would generate, and none of the timing ones. So no Spectrogram. I don't know why that would be?

Instead I set about recreating the IR from memory (the delay being the part to remember). I applied it to the cancellation.mdat you uploaded, and the results were similar to your EQ method on the Spectrogram. However, I noticed your mdat must have been an older copy of OCA's that I too was testing against, but your one had lower test SPL. This meant the decay quickly dropped off on the quieter spectrogram, because it was quieter to begin with. When I applied it to the louder test, the improvements were greater. However, the improvements were still only after ~150ms at these low frequencies, presumably because it takes time for the VBA wave (as tested, still work in progress) to propagate through the room and do its thing.

So just now I've gone and done a quick trial run with my own measurements. My left speaker has 2 "back wall" reflections due to an odd room shape, and this problem appears at ~80Hz and ~160Hz. So I decided to set my band pass in the middle (120Hz), and I did 1 octave either side at 24dB/oct, this way the "smearing" of the filter was less (and hopefully any cancellation would be over a wider freq range). My first attempt with 26ms inverted -6dB impulse is below and attached. This was literally my first test after using Audacity to set the delay to a suitable time to show any improvement, so is far from optimal.
sweep only.png sweep+vba.png

Still the VBA killed all the very late noise, but hasn't done a lot between say 100 and 350ms. It has made a small improvement in that range if you look closely through, also evident in the below screenshot. But where it's really made an improvement (according to simulations) is longer sustained tones, because like I've said before, REW doesn't actually show the SPL of these. Because when I simulate a long tone of 82Hz, before it would constantly increase in volume, whereas with VBA it is tamed at a relatively constant level. You can't get that performance with a plain old PEQ, because that just turns down the initial wave, and then the volume creeps up over consistent waves. Once again with VBA I've shown that it effectively lets the first wave be full volume, then EQ's down the volume of subsequent waves to keep the SPL steady.
vba test 1 82hz results.png


Edit: Just for further info, I've realised my ~80Hz room issue is quite strange. I'm not yet sure if its because of my speaker locations (SBIR etc) or being nearfield etc, OR if it is in fact the "double back wall" relfections, but there is a phase shift in the reflections. When I'm trying to overlay a VBA wave, they keep moving on each other. I may need 2 VBA waves...
Edit: BTW, this "82Hz in room" looks different to the above "82Hz room" because I copied that above and applied additional bandpass. I did this because the rooms IR (and thus the room) adds noise that I don't want to see. This extra bandpass "adds delay", but it's equal in both samples below and thus inconsequential to working out my VBA delay.
82hz vba overlay.png
 

Attachments

  • nerok_vba_test_1.zip
    1.5 MB · Views: 62
Last edited:
Over the course of this thread is the first time I've played around IR's and FIR/convolution etc. Possibly there are things that can be achieved with an IR that I'm not aware of. Here's what I figure is useful to VBA;
  1. You can insert a delayed tone one or more times, and they can be altered in phase or amplitude.
  2. You can insert an early tone one or more times, and they can be altered in phase or amplitude.
    Edit: Technically you could delay the main tone too, which could be helpful if you could apply IR per output.
  3. You can alter the main tone in phase or amplitude, but it would only make sense to if using one of the above methods too (otherwise it's just an EQ).
Are there any more things that you can do with an IR?

Also, I briefly mentioned the following idea before, but maybe some sort of "logic" is required in the chain, like what a Noise Gate achieves in the pro world? I could envisage a few new possibilities with such capability;
  1. When a threshold is reached, do something relative to the time of the threshold such as a tone that is; A) before, B) coincident, C) after.
  2. Whilst a threshold is maintained, do something; A) constantly, B) intermittently.
  3. When a threshold is lost, do something relative to the time of the threshold such as a tone that is; A) before, B) coincident, C) after.
Technically VBA as we are attempting to do now is 2A = 0 threshold and constant cancel tone. Maybe cancel tones would work better as 3C for example, so that a continuous tone isn't affected whilst it is being played?

Edit: Why not #4 too: When a threshold is not active, do something; A) constantly, B) intermittently.
 
Last edited:
@neRok

I don't want to invest too much time in analyzing your "experimental" workflow... Still, I at least tried looking at your result -- as well as "extract" the correction filter out of your supplied measurements:

1691747677091.png 1691757809172.png
The steady state magnitude of the VBA filtered response appears worse -- so, I also tried to partially match the magnitude of the VBA filtered response to the original.



*cut off the "before" time parameter so that we can ignore the pre-ringing artifacts
1691747900251.png 1691747906082.png 1691747910495.png
Decay before and after is underwhelming/mixed bag.



Other plot views that may be of interest:

FDW 35 cycles
1691748120013.png 1691748125487.png 1691748132088.png
 

Attachments

  • nerok_vba_test_(FDW35).mdat.zip
    3.7 MB · Views: 63
Last edited:
"extract" the correction filter
Like I've been explaining, you can't look at it that way. The VBA as I've done is a delayed version of the original wave, so it does not affect the direct wave nor the early reflections, it only comes in to affect "later". I feel it's a bit disingenuous for REW to suggest +3dB to -6dB changes when the initial waves heard are exactly the same! Here are the same comments applied to the plot;
82Hz notes.png

ALso, you can't apply the "steady state" difference as a direct EQ, because that excludes the benefits over time of the cancellation tone. The cancellation tone is a new tone, not an adjustment of the original tone.

Edit: I've just attached the dirac and modified dirac impulses that I've added together to make the "VBA".

1691747900251.png 1691747906082.png 1691747910495.png
Decay before and after is underwhelming/mixed bag.
Can you screenshot your settings so I can replicate?

Edit: Actually, if you've just "extracted" SPL/EQ changes and not an actual IR/VBA change, then of course you aren't seeing any difference. How can you, you don't have a cancel tone! You just have an EQ. You have to multiply the VBA IR with the original measurement to see the changes. The VBA IR = Dirac Impulse + Modified Dirac Impulse.
 

Attachments

  • nerok_vba_test_1_IRs.zip
    2.2 MB · Views: 65
Last edited:
ALso, you can't apply the "steady state" difference as a direct EQ, because that excludes the benefits over time of the cancellation tone. The cancellation tone is a new tone, not an adjustment of the original tone.

To be frank, I am rather highly skeptical of the supposed psychoacoustic "benefits" from whatever this is that you've made.

Can you screenshot your settings so I can replicate?

Use the default settings plus the scaling and title description of the existing screenshot.
 
Back
Top Bottom