Alternative to VBA

Post Reply
User avatar
Ackcheng
Posts: 62
Joined: 19 Oct 2019 18:31

Alternative to VBA

Post by Ackcheng » 11 Feb 2020 14:30

I have been chatting with Uli offline about other options of Bass equalisation other than VBA. Uli has come up with another way of doing prefiltering.

Here are the steps
1. load pulses Pulse48L and Pulse48R
2. think about the height position of a possible target curve, lets use an example 6 dB. For safety add 1 or 2 dB and keep the value in mind.
3. calculate FD-Functions - Amplitude Inversion - linearphase and FD-Functions - Amplitude Limiter with value -8 dB (= inverse of 6+2 dB) for both pulses
4. apply TD-Functions - Gain +8 dB to both inversions
5. search for a proper frequency f below 200 Hz where both inverses have a value of 0 dB.
6. calculate TD-Functions - Phase Extraction - minimumphase below=0 and above=f. The result is now an unsmoothed filter which suppresses all peaks above 8 dB. Whereas dips are not in consideration.
7. Save the results as preL and preR and apply them in macro0. That's it.

This is my Pulse L and R



With Pre filter loaded
User avatar
Ackcheng
Posts: 62
Joined: 19 Oct 2019 18:31

Re: Alternative to VBA

Post by Ackcheng » 11 Feb 2020 14:30

After going through all the macros
Test convolution

In-Ear
Posts: 47
Joined: 02 Jan 2020 18:41

Re: Alternative to VBA

Post by In-Ear » 12 Feb 2020 11:15

Hi,

This is an interesting solution. It is basically the same as creating the pre-filter with an IIR filter, but much easier and more refined taking into account mainly all peaks below 200Hz instead of only concentrating on the main room mode peak.

Fujak in aktives-hoeren forum recommended to use 1/12 octave smoothing instead of psychoacoustic smoothing and 40/2 values for FDW in Macro 1. I think this goes into the same direction, to mainly not smooth out the area below 200Hz for following minimal phase f-curve correction.

Would be interesting to compare both results and also compare them to VBA results.

Best regards,
Jörn
User avatar
UliBru
Posts: 442
Joined: 19 Oct 2019 13:58

Re: Alternative to VBA

Post by UliBru » 12 Feb 2020 12:11

Please note that the octave smoothing is correcting dips much more than the psychoacoustic smooting. You can use the octave smoothing but I do not recommend it. The alternative VBA described in this topic does not care about dips. It concentrates on peaks. A variation is to run FDW before step 7 described above.
Stay well tuned
Uli

Moderator
Acourate system: JRiver/Roon -> AcourateConvolver -> miniDSP U-DIO8 -> TacT M/S2150 amps -> DIY horn speakers
In-Ear
Posts: 47
Joined: 02 Jan 2020 18:41

Re: Alternative to VBA

Post by In-Ear » 13 Feb 2020 10:36

Hi Uli,

I compared some PSY smoothed pulses with octave smoothed curves. To my understanding it looks like PSY does some max envelope between a strong and a light smoothing, so that dips are "filled up" and peaks remain nearly untouched. The VBA alternative here works with no smoothing, taking also dips into account (like octave smoothing) but only down to the limit set. The 1/12 octave smoothed curves remain nearly unchanged in low frequency area, keeping nearly all peaks and dips here.

If in PSY dips are filled up and the target curve lies below such filling line between 2 peaks this would lead to a further reduction of SPL in the dip area due to the correction, so I do not see the benefit of such correction bahaviour. What is the benefit of doing this?

Best regards,
Jörn
User avatar
UliBru
Posts: 442
Joined: 19 Oct 2019 13:58

Re: Alternative to VBA

Post by UliBru » 13 Feb 2020 11:28

Jörn,

you may consider the correction as the inverse of the smoothed curves. Now assume the following. The octave curve has a max. peak of +10 and max. dip of -10. Whereas the the psy curve has a max. peak of +10 and a max dip of -5.
So the correction will show up -10 for correcting the peak and +10/+5 for correcting the dip (octave/psy). Thus the octave correction will boost the driver by +5 more than the psy correction.
Now we know that boosting dips is a critical topic. Thus limiting the boost is a good idea. Acourate is doing this by the psychoacoustic calculation in time domain. Whereas competitors need to calculate averages by multiple measurements.
Stay well tuned
Uli

Moderator
Acourate system: JRiver/Roon -> AcourateConvolver -> miniDSP U-DIO8 -> TacT M/S2150 amps -> DIY horn speakers
In-Ear
Posts: 47
Joined: 02 Jan 2020 18:41

Re: Alternative to VBA

Post by In-Ear » 13 Feb 2020 12:55

Hi Uli,

everything is relative, no? In your example you set +10/-10 in relation to a target line on the zero level to which the inverse is calculated. But what if Target line is the -10 level? In this case you cut the dips you filled with the psy calculation for another -5dB while with an octave smoothing it would remain "untouched". But I understand the idea of not boosting dips and limiting dynamic range..

Best regards,

Jörn
Ecwl
Posts: 47
Joined: 19 Feb 2021 01:05

Re: Alternative to VBA

Post by Ecwl » 19 Feb 2021 01:13

I have been experimenting with VBA on my 2-channel passive speaker system. And I appreciate the effect on top of the convolution filter.
I’m about to try the Alternative to VBA to see if I like it.
And then my mind keeps wondering, what if I do a VBA, and then the remaining bass peaks that are not taken care of by VBA, I use the Alternative to VBA to get rid of them first.

But ultimately, the point of confusion is why does the main convolution filter generated by Acourate from the target curve not produce the same results? As in, why do I need the VBA or Alternative to VBA pre-filters in the first place?

Is it because the psychoacoustic smoothing on the measured Pulse would remove some specific bass peaks so the main convolution filter would not adequately correct for them?
Or is it that it’s better to correct bass peaks using more traditional IIR type filter or using VBA first, and then the convolution filter is better for other frequency response and phase issues?
Or is it because once you have imperfect crossovers, speaker frequency response, room response, you’re always living with compromises so it just becomes trying out different methods of correction to compensate to reduce the compromises involved? As in, no filter is going to get you back to a perfect speaker with active crossovers in an anechoic chamber so all DSPs are compensatory with their own sets of trade-offs?

I probably shouldn’t be too philosophical and should just play around with more filters and listen to what I like. But it would be good to understand the science better.
User avatar
UliBru
Posts: 442
Joined: 19 Oct 2019 13:58

Re: Alternative to VBA

Post by UliBru » 20 Feb 2021 10:54

Indeed a correction is always a compromise. This includes the psychoacoustic processing, the smoothing and the windowing.
Now the VBA or alternative VBA approach takes place before room macro1. So it allows to use prefilters BEFORE all the processing in macro1. Thus the prefilters are independent.

I like to give some easier example for better understanding:
a multiway speaker has its own behavior which is heavily influenced by the crossovers. You can measure the speaker in the room (the usual case) and you get a mixed result of drivers, crossovers and room. Now a necessary FDW (for the room) will also be applied to the inherent answer of the crossovers and drivers.
When you measure the speaker in an anechoic chamber you mainly measure drivers + XOs. And you can create a prefilter independent of the room.
So later you can apply such a prefilter on the room measurement before macro1 which then processes mainly the room behaviour.

So the idea is to split different influences. The VBA approach simply tries to simulate the basic room mode and to prefilter it first.
Of course in reality it is always difficult to separate single influences from a total mix in the measurement. There is always a compromise. And that's why the result is different with different approaches.
Stay well tuned
Uli

Moderator
Acourate system: JRiver/Roon -> AcourateConvolver -> miniDSP U-DIO8 -> TacT M/S2150 amps -> DIY horn speakers
Ecwl
Posts: 47
Joined: 19 Feb 2021 01:05

Re: Alternative to VBA

Post by Ecwl » 20 Feb 2021 18:56

Thank you, Uli. The explanation was super helpful.

For me, the VBA prefilter (after figuring out the optimal cutoff frequency and gain) produced better results than the Alternative to VBA for my system (and to no VBA). So I’m very happy that VBA exists to help me get even more out of my system. Thanks.
Post Reply