• Welcome to ASR. 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!

A better VBA

Keith_W

Major Contributor
Joined
Jun 26, 2016
Messages
4,309
Likes
10,683
Location
Melbourne, Australia
My previous Virtual Bass Array (VBA) attempt ended in failure. Now I have a different room configuration, and I have learnt a lot more ... so I thought I would try it again. I made a red hot attempt this time, this VBA has been 2 weeks in development, struggling with concepts, coming up with bright ideas (which in hindsight, weren't that bright), etc. But what I will describe here has a reasonable chance of working in other setups.

General Principles
A VBA can be thought of as a poor man’s double bass array (DBA). In a DBA, two banks of subwoofers are mounted on opposing walls, usually the front and rear walls. The purpose of the second subwoofer array is to cancel the sound from the first, thereby eliminating reflections and creating an infinitely long room as far as bass is concerned.

A VBA relies on the timing of reflections to emit a cancellation wave. If we time it correctly, we can hopefully improve the time domain characteristics. It will never work as well, because a DBA emits a plane wave. Two subwoofers do not emit a plane wave, instead two quarter-spherical waves are emitted (if the subwoofer is placed on the floor, against a wall). For corner placed subs, ⅛ of a sphere (an octant) is emitted.

For a VBA to work, we need to know:
1. When to inject the cancellation wave (the delay)
2. How loud the cancellation wave should be (the attenuation)
3. Whether the cancellation wave should have the same waveform as the initial wave.

How to determine the delay
Many VBA schemes rely on calculating the delay from room geometry. Some others by reverse-engineering the frequency response. This is why most VBA schemes fail. The timing of the cancellation impulse has to be determined with great accuracy, otherwise the “cancellation” impulse will actually contribute to ringing rather than improve it! This method (which I have not seen described anywhere else?) will get you to the “ballpark” delay with greater accuracy than any other method, but you will still need to fine tune the exact delay by experimentation.

There are two important insights before we begin our design:
1. the delay is always approximately twice the room length, and
2. the impulse response with a special test signal can be used to read the delays.

1748630252379.png


The delay is always approximately double the room length, regardless of the position of the speaker or the listener (@UliBru taught me this!). As you see from the diagram, sound is emitted from the subwoofer and reaches the main listening position (MLP plane) at a. The sound travels towards the back wall, reflects, and passes the MLP position again (b). It continues towards the front wall, reflects, and passes the subwoofer plane x. This is the point where the cancellation signal needs to be injected, and it is exactly twice the length of the room. The cancellation signal and the reflection (which has hopefully been attenuated) then travels towards the listener where it is heard again at c.

The same is true if we use the main speaker as the sound source. The cancellation wave needs to be injected at x which is exactly double room length. The time relationship between the cancellation wave and the reflection will remain the same, regardless of the position of the source or the observer. This rule breaks down for non-rectangular rooms and unusual speaker placements (e.g. diagonal speaker placement). However, the method for determining delays can still be used.

1748630404996.png


These events can be observed in the impulse response of a tweeter. a denotes the arrival of the direct sound, b is the reflection from the rear wall, and c is the reflection from the front wall. How do I know this? I did some math with room dimensions, listening position, and the speed of sound to determine the arrival times of the peaks. Then I looked for the peaks on the impulse response. I know for sure that the reflections I marked are front wall and rear wall reflections.

The delay between a and c is double room length. Therefore, c is when the cancellation impulse should be injected, or put another way, c = x.

We can improve our timing measurement by using an actual subwoofer impulse in place of the tweeter impulse. However, we can not use a conventional sine wave sweep, since the impulse is too long. What is needed is a very short impulse - ideally, a Dirac pulse. Acourate’s Sinc Pulse Recorder is not quite a Dirac pulse, but it is close. If you use REW, I suggest using the generator to send a single sine wave (tone burst generator) and using the oscilloscope to record the impulse.

1748630521448.png


I aligned the tweeter peak to coincide with the initial subwoofer peak. Notice that the subwoofer has a substantially time stretched impulse compared to the tweeter, and that the peaks align very nicely with the front wall and rear wall peaks we found on the tweeter response! I used the timing of the subwoofer peak at c as my delay.

Note that if you did not have the tweeter response to guide you, you would have a very difficult time determining which subwoofer peak corresponds to which reflection! In reality, c is likely to be already contaminated by reflections from other directions, so its position is not 100% certain. In my larger room, I am reasonably confident that it is real. If you are not confident, then use the tweeter peak as your delay. We will fine tune it later.

Determine the attenuation
1748630629951.png


Once the timing peaks have been identified, the amplitude of c can be divided by a to give an attenuation factor. In this case it was 0.688.
 
Last edited:
Designing the VBA
Note that in my earlier post I said approximate delay. The actual delay has to be determined by experimentation. This is because I am not entirely sure if the peak I measured has been contaminated and time-stretched by more than one reflection or not.

1748631051851.png


I started by creating a 4th order Butterworth XO with a corner frequency of 150Hz (since I only want my VBA to work up to 150Hz). I then delayed it until its impulse matched the bass reflection I determined earlier. Then I attenuated the filter and inverted the polarity.

Delay filters and measurements

1748631374852.png


I then made a whole bunch of them with different delays. The upper graph shows the frequency response, the lower graph shows the timing of the cancellation peaks. I then generated a whole bunch of filters, and ran them through REW.

The reason the VBA filter looks wavy like that is because it consists of a main impulse with a delayed and polarity inverted cancellation impulse - this produces a pattern of comb filtering, which is what we see here. The peaks and dips you see in a typical bass measurement are also the result of comb filtering - which is the interaction of the direct sound of the speaker with its reflection. What we want to do is align our comb filtered VBA with the room's comb filtering and hope that they cancel each other.

VBA-Delays.gif


If you watch the animation closely, and pay attention to the dip at 60Hz, you can see that it improves and then gets worse again. As you can see, 0ms gave the best improvement, so I chose that. Here, "0ms" means that the impulse was injected exactly at where I determined it should be using the previously described method. -4ms, -2ms, +2ms, and +4ms were also checked to make sure that they did not result in a better looking curve.

Gain filters and measurements

1748633899609.png


After I determined that 0ms was the correct delay, the next variable to explore was different gains. Taking the 0ms VBA filter, I changed the gain by a factor 0.5, 1, 1.5, 2, 2.5, and 3. Here, 1x gain refers to my previously determined attenuation of 0.688 - i.e. the cancellation impulse is 68.8% the SPL of the main impulse.

The 3x gain setting produced a delta of 14dB between the loudest and softest part of the filter - which means an overall gain loss of 14dB when the VBA is actually inserted into the room correction. This also means that at 3x gain, the subwoofer is sending more energy into the cancellation impulse than the main impulse itself! The more modest setting of 1x "only" injects 4dB into the dip.

I then saved them all, made more filters, and ran them all through REW.

VBA-Gains.gif


If you watch the same dip at 60Hz, you can see that with enough energy injected into the dip, it can actually be ameliorated. But shoving so much energy into the cancellation impulse actually worsens bass response elsewhere in the curve. Notice that the bass roll-off at 30Hz becomes progressively more severe, and the overall response becomes more and more lumpy! Once again, I determined that Gain 1.0 delivered the best compromise between filling in that dip without introducing too many side effects.

Note that in my particular case, the exact delay and gain I obtained from my method gave the best outcome. The reason I experimented with different delays and gains is because I have not seen this method for determining delays/attenuation used by anybody else. As far as I know, I came up with it. So I wanted to check if my idea was wrong. I have only shown you the left subwoofer, there was also the right subwoofer. In that case, delay of 0ms and gain of 1 was also the correct choice.

1748637811796.png


The spectrogram does not show any time domain improvements as I hoped for, but at least it has not made things look worse!
 
Last edited:
Modifying the waveform

Once I determined the correct delay and timing, the last question to be addressed is - should the waveform of the cancellation impulse be the same as the main impulse? To determine this, I opened up the control, the VBA measurement, and the VBA filter and overlaid them on top of each other to take a closer look.

1748634710058.png


Ignore the black line (VBA filter) for the moment, and concentrate on the red (control) and green (VBA measurement) lines. We can see that in some areas of the FR, the VBA has improved things (made the dips more shallow), and elsewhere the VBA has made things worse (dips become deeper, introduced new dips where there were none). The VBA can also make peaks more "peaky", but I ignored those because those can easily be chopped off with equalisation. It's only the dips I am worried about because you can not fill dips as easily with EQ. So I marked them as "good" and "bad" in this graph.

Now examine the "bad" areas closely and you will notice that the VBA Filter is actually causing them. That bass roll-off from 30Hz down is actually due to the amplitude of the VBA filter forcing it down. The same can be said about all the other "bad" areas.

1748635356611.png


Using Acourate's SplitNJoin function, I was able to modify the VBA so that no energy would be injected into any of the "bad" areas.

1748636364805.png


However, the impulse response of the new filter (blue) with the previous filter (red) showed some very serious problems. A LOT of pre-ringing and post-ringing. I was kind of anticipating this, because making aggressive corrections like that in the bass region is bound to produce some nasty side effects. But pre and post ringing does not matter as long as it's not audible ... so I ran the filters through REW again.

1748636750355.png


That's beautiful!! The VBA (dark green) has reduced the dip very nicely compared to the control (red) whilst avoiding too many side effects elsewhere! But what about that ringing?

1748636670447.png


Oh dear. It looks as if modifying the waveform has caused the VBA to worsen ringing substantially. We have already seen why. I still cling to the hope that it's not audible even though REW tells me that I have 800ms of ringing at 40Hz.
 
Last edited:
Final filter
1748639584551.png
1748639889052.png


Once the VBA is loaded and the filter created, the step response looks remarkably good. Absolutely zero pre-ringing, and the IACC is 96.6%. The important thing to note is that the VBA has not worsened the IACC to the point where left/right signals are dissimilar. I mean, 96.6% is pretty remarkable, most people are lucky to get better than 80%.

1748639690745.png


That's the measured response of the left/right speaker and sub (red/green respectively) and the mono measurement (both speakers and both subs playing together) in blue. If you think it still looks lumpy, look at the vertical scale. That mono measurement shows that my in-room bass response is +/- 1.5dB over the operating range of the VBA.

Listening Impressions
Just in case, I made filters with the waveform modified VBA and the VBA with only delays and attenuation. I made another set of filters with no VBA as a control.

First things out of the way first - that ringing is easily audible, night and day, and I am confident that my wife will be able to hear it in the kitchen, etc. It's like a constant annoying booming sound. The frequency response looks better, yes. But that's nothing compared to how unlistenable this filter is.

So it's down to VBA (with delays and attenuation only) vs. Control. To be honest, I was very hard pressed to tell the difference. Maybe the VBA sounded a little more "tight", but I suspect that's my imagination given the spectrogram gives me no reason to believe it does. I wanted to be sure, so I listened to it for a couple of days before making this post. In the end, I don't think it made that much of a difference.

Conclusions
1. A carefully designed VBA can improve dips in the frequency response without introducing any audible side effects.
2. There was no time domain improvement in my experiment.
3. There was barely any audible improvement, but at least there was no degradation.
4. If you attempt to modify the waveform, you need to use a more gentle modification than what I did. I could have experimented with windowing functions but I did not bother. I might try again with different cancellation waveforms.

It was a heck of a lot of fun to design! Yeah it's probably not worth it for the tiny measurable improvements and the barely audible improvement, but for a DSP nerd ... designing a VBA is a fun challenge.
 
Last edited:
Very cool post and thanks for putting in the work on top of the work, to share it with us. I was actually just thinking the other day that I should try this, as I have 2 subs symmetrically placed in my office. If I do it, this post will be my starting point.

I'm surprised that there was no improvement in decay/ time domain. It seems odd that frequency response could improve via this method without a corresponding improvement there.

Overall I am not surprised altering the waveform didn't help though, that means you'd be correcting for distortion in the driver, or for nonlinear effects happening in free air. The former I think is very difficult at best and the latter I don't think is normally a thing.
 
If you don't mind, what are your room dimensions?

1748674265642.png


The subs are placed in the corners, and the room is rectangular, but with openings. The furniture is placed asymmetrically, most notably there is a sofa in front of the right sub. This is why I was concerned that my model would not work. But it did work quite nicely. The MLP sofa was removed for all measurements.

The right sub measurements are a bit screwy though, e.g. I was surprised that I could increase the gain of the cancellation wave with minimal noticeable effects (or side effects!!) which made me think that I was re-measuring the same filters over and over. But no ... I checked those filters and they were definitely different. It's something for me to look at and try to understand.
 
I'm surprised that there was no improvement in decay/ time domain. It seems odd that frequency response could improve via this method without a corresponding improvement there.

That is very curious, isn't it? I wouldn't say i'm a measurements guru (or even a REW guru), so maybe there's some kind of display in REW which is more appropriate. I am using the Fourier display with default Gaussian windowing. Sometimes the windowing function can hide things (after all, the job of a window is to suppress side-lobes). But I don't know enough about windowing functions to know if there is something more appropriate. And I don't know enough about the non-Fourier spectro displays like "Wavelet" or "Airy CWT" to know what they mean.

Overall I am not surprised altering the waveform didn't help though, that means you'd be correcting for distortion in the driver, or for nonlinear effects happening in free air. The former I think is very difficult at best and the latter I don't think is normally a thing.

Actually I think that nonlinear effects happening in the room would be a substantial contributor to the altered waveform. Room shape, furniture, openings, etc. would scatter the sound so it would arrive back with substantial waveform distortion.

BTW, a lot of this experimentation was because I am really sceptical about Dirac ART. I have been doing some reading on it lately (now that it's nearing release for D&M AVR's) and it sounds a lot like a VBA with a healthy dose of fancy marketing sprinkled on top. I don't understand why they need a MIMO, because it's the "MO" that actually produces results and not the "MI". And what do you gain from MIMO over SIMO? All unanswered questions.

So this VBA is a SIMO. Who knows, maybe I can refine it even further by examining the impulse of subwoofers and speakers individually and somehow fiddle with them to make them play better together. But every time I think about it I get a headache.
 
BTW, a lot of this experimentation was because I am really sceptical about Dirac ART. I have been doing some reading on it lately (now that it's nearing release for D&M AVR's) and it sounds a lot like a VBA with a healthy dose of fancy marketing sprinkled on top. I don't understand why they need a MIMO, because it's the "MO" that actually produces results and not the "MI". And what do you gain from MIMO over SIMO? All unanswered questions.
you're mixing your MI and your MO aren't you? in their terminology, MO refers to listening positions and MI refers to sources (speakers) so the MI is just optimising for the fact that multiple sources combine at low frequencies (aka same as any other such filter design approach). The difference seems to be what they (say they) optimise for which seems plausible to me.
 
Keith, did you also try a sub placement as suggested by Welti (1 sub in the middle if the front wall, 1 sub in the middle if the back wall, mono) and compare your listening impression with the sub placement you are currently using?
 
you're mixing your MI and your MO aren't you? in their terminology, MO refers to listening positions and MI refers to sources (speakers) so the MI is just optimising for the fact that multiple sources combine at low frequencies (aka same as any other such filter design approach). The difference seems to be what they (say they) optimise for which seems plausible to me.

You're right, I am mixing my MI and MO, if that's what they meant. I thought it meant "multiple mic inputs" and "multiple speaker outputs", i.e. they measure over a large listening area and somehow adjust speaker output to cover that large listening area. I just looked up the definition of MIMO, it means multiple transmitters and multiple receivers, e.g. you can have several wi-fi transmitters and several wi-fi gadgets.

If that is what they meant - "multiple input = multiple speakers" and "multiple output = multiple listeners", then surely it's nothing more than a marketing term for "our algorithm optimises speaker output for a larger listening area".

Geez, the more I learn about Dirac the more I think they use marketing buzzwords to deceive people into thinking they have something new. I mean, DLBC sounds like it works just like MSO (Dirac's "genetic algorithm" is another word for "brute force optimisation" isn't it? @andyc56 ?), and ART sounds like a VBA. I have read what I could about DLBC and ART and I don't see how it is any different, yet people insist it is different. Yet nobody can explain "how" it is different beyond "it's a MIMO".

Keith, did you also try a sub placement as suggested by Welti (1 sub in the middle if the front wall, 1 sub in the middle if the back wall, mono) and compare your listening impression with the sub placement you are currently using?

Hi Mark, that is not possible in my room. I have doors to adjoining rooms behind the listening position.
 
Hello @Keith_W,

Thank you as always for sharing really cool and impressive studies!:D

As shared/discussed with you before, I also did very much primitive but similar measurement and observation (ref. #498 on my project thread).

I believe, if we can do/have it in larger listening room and/or adjacent/connected rooms (like in my happy case), the room acoustic treatment should be the best way to go so that making sound deadening spaces/rooms (or having efficient sound absorbers) in rear of the SPs as well as behind our listening position to minimize the possible sound reflections and standing waves.
 
Geez, the more I learn about Dirac the more I think they use marketing buzzwords to deceive people into thinking they have something new. I mean, DLBC sounds like it works just like MSO (Dirac's "genetic algorithm" is another word for "brute force optimisation" isn't it? @andyc56 ?), and ART sounds like a VBA. I have read what I could about DLBC and ART and I don't see how it is any different, yet people insist it is different. Yet nobody can explain "how" it is different beyond "it's a MIMO".
I doubt it's just a VBA, partly because I don't think there's any real evidence that a VBA is at all useful vs other techniques & there are at least some reports saying that ART works. The differences appear to be in which speakers it can use (any of them vs subs only) and what it purports to target (frequency response as well decay). Both of these distinguish it from DLBC and MSO.

Naturally there's a load of marketing on top but they have a product to sell so can't really hold that against them too much :)

whether it's successful is hard to tell given how few people have access to it, anecdotal evidence (I haven't read closely, this is just an impression) suggests it's a bugger to get to it to work but it does do the job if you can. Sounds about right for any (automated or otherwise) bass dsp to me!
 
View attachment 454456

The subs are placed in the corners, and the room is rectangular, but with openings. The furniture is placed asymmetrically, most notably there is a sofa in front of the right sub. This is why I was concerned that my model would not work. But it did work quite nicely. The MLP sofa was removed for all measurements.

The right sub measurements are a bit screwy though, e.g. I was surprised that I could increase the gain of the cancellation wave with minimal noticeable effects (or side effects!!) which made me think that I was re-measuring the same filters over and over. But no ... I checked those filters and they were definitely different. It's something for me to look at and try to understand.
Your ceiling is 2.9m high? That corresponds to that deep 59Hz null (0,0,1). https://www.hunecke.de/en/calculators/room-eigenmodes.html

I'm surprised that the VBA was still so effective. Shows a gap in my understanding.
 
I doubt it's just a VBA, partly because I don't think there's any real evidence that a VBA is at all useful vs other techniques & there are at least some reports saying that ART works. The differences appear to be in which speakers it can use (any of them vs subs only) and what it purports to target (frequency response as well decay). Both of these distinguish it from DLBC and MSO.

Well, my VBA works! It just doesn't work as well as I hoped!

DLBC and MSO are a completely different kettle of fish, they don't attempt to cancel reflections.

When you break it down to fundamentals, all these reflection cancellation schemes work the same way - find the correct timing, and inject a polarity inverted impulse to cancel it. Double bass array works like this, but it is much easier to design since you're dealing with a plane wave, and the delay is always 1 room dimension. Trinnov Waveforming also works like this, but they have their own marketing and claim it is "not a DBA" when it quacks and waddles like a DBA. PSI Audio AVAA active bass traps also work the same way, except that I believe their cancellation signal is triggered by microphone input. It hears the signal and outputs a polarity inverted version. And ultimately, ART is going to be some variation of this.

These schemes don't make speakers "absorb" sound, they emit sound. And because they emit sound, they are subject to the same rules of acoustics. There is no magic where they somehow work like a bass trap or membrane absorber which is what their marketing wants you to believe. I would have thought that this would be a pretty obvious point, but I am disturbed by how many people on ASR seem to have fallen for the marketing.

Because they all work the same way, they all need to obey the same 3 rules I mentioned in the first post:

1. When to inject the cancellation wave
2. How much the cancellation wave should be attenuated
3. Whether the waveform needs to be modified or not

And they are all subject to the same drawbacks:

1. How well it works depends on how accurately we can determine 1, 2, and 3 above
2. The effectiveness is limited by the number of sound sources and where they are deployed. I would imagine speakers and subs distributed around the room would be more effective than my layout with the speakers and subs on the front wall.
3. Additional DSP trickery may be needed to deal with non-rectangular rooms, asymmetric speaker layout, and the fact they are working with minphase IIR's which have to run on AVR's and not linear phase DSP with thousands of taps running on a PC like me.

Your ceiling is 2.9m high? That corresponds to that deep 59Hz null (0,0,1). https://www.hunecke.de/en/calculators/room-eigenmodes.html

I'm surprised that the VBA was still so effective. Shows a gap in my understanding.

My ceiling is 2.7m high.

I have a "DSP view" of room modes, which is slightly different to a conventional acoustics view. In the "DSP view", all the peaks and dips we see in the freq response are not frequency domain problems. They are time domain problems manifesting in the frequency domain. Examples: (1) direct sound interacting with a delayed reflection, (2) two speakers which measure fine in isolation but produce a lumpy response when played together. Because they are time domain problems, the solution should be to address the time domain issues. We have a few tools in our arsenal, the VBA is only one of them.

A typical mistake made by people who think a dip in the FR is a freq domain problem is to try to boost the dip. It sometimes works, because dips are not always perfectly 180deg out of phase, but they do require a lot of energy. A better strategy would be to look at the phase and timing and see what we can do to fix those.
 
Well, my VBA works! It just doesn't work as well as I hoped!
That's what I mean by "vs other techniques". I don't think I have ever seen one that isn't outperformed by simply using some form of peq (which is generally also significantly easier to design and implement hence outperformed from that perspective as well).

To my mind, a VBA is basically just an alternative scheme for addressing a single modal resonance using some appropriately delayed signal. Calling something like ART, based on what is known, a VBA seems entirely wrong to me. It would be like calling mso a peq.

but I am disturbed by how many people on ASR seem to have fallen for the marketing
I think you are missing the point. I am not aware of any other tool that attempts to do what art says it attempts to do. I don't even recall seeing people doing this manually let alone in any remotely automated way to be used in any room. Hence the differentiation is surely in the filter design algorithm.

To that extent it's like waveforming, based on known principles but the effort is in making that generally available via some automated filter design algorithm.

Of course the fact that it's taken them years to not roll it out suggests that might just be rather hard to achieve! Nevertheless if it works and they can roll it out to generally available consumer grade hardware then that seems to be more than any other such firm will have done (cf. Audyssey or trinnov).
 
Major weakness of VBA is that the sub driver emitter source and "absorber" is the same.

I rather like Fulcrum Acoustic's attempt at offering of "active bass control" as a viable option for larger PA type venues: https://support.fulcrum-acoustic.com/acoustic/designguides/immersive

Active Bass Control


Active bass control is useful for minimizing low-frequency "build-up" or variations throughout a room due to room boundary effects and varying subwoofer arrangements. Active bass control in Venueflex processors operates below 120 Hz and requires subwoofers to be placed at the offending boundary locations. In many cases, an improvement in coverage and a reduction in specific subwoofer room effects can be obtained while also using these same subwoofers to support object-based mixing or active acoustics.


Principle of Operation​


Active bass control operates by driving a network of subwoofers throughout a space with a custom-calibrated signal derived from the "subwoofer" or full-range mix signals being sent to the primary reinforcement or playback system. After the calibration process, the system uses FIR filters to create a custom signal for each subwoofer in the network. The objective is to control the sound pressure at the room boundary, minimizing the influence of reflective low-frequency energy on the audience area. Fulcrum One is used to configure and calibrate the active bass control system in a Venueflex processor. Active bass control consumes convolution channels in the processor and can operate in parallel with an active acoustics system as long as sufficient convolution channels are available to meet all project requirements.


Limitations​


Active bass control requires that a number of additional low-frequency sources (subwoofers) be added into a space. These subwoofers manipulate the low-frequency uniformity by “adjusting” the LF pressure along the walls and other room boundaries. Since we cannot add an infinite number of subwoofers fully covering the walls and ceiling, we cannot fully control the pressure at the boundaries at all frequencies and positions. This may lead to imperfections in the behavior at some seats, potentially introducing temporal artifacts or "time smear" at low frequencies. This can be more audible with fewer control subwoofers spaced over longer distances, as the wavefront cannot be fully "sampled" across the room boundary.


To minimize artifacts, the high-frequency limit can be set during calibration between 60 Hz and 120 Hz, with lower numbers more appropriate for sparse subwoofer arrangements. In most cases, these trade-offs can be made to be inaudible or minimized by careful system design and calibration. The improvements in overall uniformity tend to outweigh any localized artifacts.


Active bass control can be very effective at improving the overall performance of the system, but is not a "cure-all" for acoustical defects and poor subwoofer deployment.


Design Considerations​


When designing an active bass control system, consider the following guidelines:

activebass.png

  • Subwoofer arrangements: To fully control the sound pressure, subwoofers would theoretically "wrap" the entire venue. However, this is impractical and often excessive given the effects we are actually trying to correct. In most cases, placing subwoofers along high-pressure zones can help shift room behavior sufficiently to improve coverage and linearity. This might include locating subs in corners, along wall-to-ceiling joints or near balcony or raised seating areas.
  • Subwoofer spacing: Ideally, subwoofers should be spaced at an average of 1/2-wavelength at the highest frequency that is being addressed, and no more than 1 wavelength apart. For example, if treating 50 Hz, space subs at an interval of approximately 11 ft and no more than 22 ft apart in order to accommodate end-to-end wavefronts travelling parallel to the wall surface (equal pressure being perpendicular). Note, this criterion relaxes if the wavefront is traveling perpendicular to the wall (equal pressure being parallel to the wall) so this guideline helps to form a worst-case design recommendation.
  • Balconies and raised seating: Areas of raised seating or balcony regions inherently cause a change in acoustical impedance for large wavefronts traveling in a venue, which can affect low-frequency performance in these areas. It is often helpful to add active bass zones in these areas to minimize this effect for listeners seated in these regions.



I don't foresee too many places implementing this simply because of the cost and complexity.
 
Last edited:
Fwiw my scepticism is whether that goal (decay control) is actually worth the effort

Basically impossible to test that (you can't exactly a/b massive amounts of room treatment nor do I even have the space for it) but being able to a/b art or not (with equivalent in room response) would be interesting. For me personally I do have the capability to use such a tool (my LCR are rather large and my subs are also big) so would be interesting to give it a try if it becomes available on a pc.
 
My ceiling is 2.7m high.

I have a "DSP view" of room modes, which is slightly different to a conventional acoustics view. In the "DSP view", all the peaks and dips we see in the freq response are not frequency domain problems. They are time domain problems manifesting in the frequency domain. Examples: (1) direct sound interacting with a delayed reflection, (2) two speakers which measure fine in isolation but produce a lumpy response when played together. Because they are time domain problems, the solution should be to address the time domain issues. We have a few tools in our arsenal, the VBA is only one of them.

A typical mistake made by people who think a dip in the FR is a freq domain problem is to try to boost the dip. It sometimes works, because dips are not always perfectly 180deg out of phase, but they do require a lot of energy. A better strategy would be to look at the phase and timing and see what we can do to fix those.
There's always some difference between physical (visible) or simulated (virtual) boundaries and true acoustic (measured) boundaries, due to phase shift from wall/ceiling/floor flexure, absorption and so forth.

I asked about dimensions because it struck me that I don't have a good sense of what's happening in the room physically when, say, a prominent height node is cancelled by a technique that isn't taking it into account directly. I think it makes sense that your technique is more experimental than exact, because the measurements and thinking guiding are that way, too. No need to model everything out if you can tweak parameters using a set of reasonable assumptions. The results speak to that. It's efficient engineering.

I' like to understand why you got the results you did, but that's a theoretical question and my grasp of acoustic fundamentals isn't strong enough to readily intuit what the answer should be.
 
Back
Top Bottom