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

Understanding the state of the DSP market

I think Acourate is easier to use than REW in some ways. Lately I have been experimenting with REW to see if I can do what I can with Acourate. Short answer - you can't. Not without third party software.
Great write up! Thanks!

But now it's becoming a bit too much Acourate advertising for my taste. What is wrong with third party software?
And to have to do an additional step here and there will still bring me much closer to a result than to shelf out 500€ before I can start. [Even more so as it does not run on my machine anyway.]
To measure with a convolver that I will later actually use for music listening is not a bad thing either. And I can load a filter into a convolver running in the background with a few clicks, it's just a window to the side.
My biggest concern with Acourate? How to trust a software that presents two methods of measurement that give very significant differences in results (your guide shows 4dB difference)?
And can I create FIRs for Minidsp with a length much below what seems to be possible in Acourate, or did I miss that?
 
Thanks for the measurements. Qurious what your findings are when listening to music.
Raw one feels like a guilty pleasure at low - night levels, minimal one is nice at any level above (over 75dB(A) average).
Over correction is horrible, I would rather listen to a nice chainsaw.
 
Raw one feels like a guilty pleasure at low - night levels, minimal one is nice at any level above (over 75dB(A) average).
Over correction is horrible, I would rather listen to a nice chainsaw.
How many measurment did you made. Did use numerous target curves only the over correction did the job very well. But have a look at my raw measurment almost a 15db difference
1000005526.png
:facepalm:
 
A recent (october 2024) paper about Exploring the Current Landscape of Open Research Software in Room Acoustics from Eindhoven Technical University. Overview in the Abstract.
I don't see what this has particularly to do with Audyssey, Dirac, etc -- except that the 'unavailable code' lamented in it perforce includes commercial room DSP.

I suppose my point is that a discussion of the 'state of the DSP market' that doesn't much include the by far most common players in that market, is more niche than advertised.
 
How many measurment did you made.
Just one, as we wanted to see the difference at the same spot.
I know Math says it needs more around the MPL but that was not the point here.

The point was to see how much corrects things along the way.
 
Great write up! Thanks!

But now it's becoming a bit too much Acourate advertising for my taste. What is wrong with third party software?
And to have to do an additional step here and there will still bring me much closer to a result than to shelf out 500€ before I can start. [Even more so as it does not run on my machine anyway.]
To measure with a convolver that I will later actually use for music listening is not a bad thing either. And I can load a filter into a convolver running in the background with a few clicks, it's just a window to the side.

Nothing wrong with third party software. No doubt that free vs. 500 Euros is a compelling argument. If all you want to do is integrate a subwoofer with 2 speakers, you can do it with REW + rePhase with a bit of pain. But if you want to create an 8 channel active system, the pain multiplies 8 times and you are better off with a more specialised tool.

My biggest concern with Acourate? How to trust a software that presents two methods of measurement that give very significant differences in results (your guide shows 4dB difference)?
And can I create FIRs for Minidsp with a length much below what seems to be possible in Acourate, or did I miss that?

Re: the first question, I am not sure what you are referring to.

1745260752008.png


Re: the second question, yes you can with the "CutNWindow" function.
 
I don't see what this has particularly to do with Audyssey, Dirac, etc -- except that the 'unavailable code' lamented in it perforce includes commercial room DSP.

I suppose my point is that a discussion of the 'state of the DSP market' that doesn't much include the by far most common players in that market, is more niche than advertised
It is more about sharing knowledge which is from a commercial point of view quite understandebly that the likes like Dirac, Lyngdorf, Mathaudio ( who stated that they don't use FIR filters) etc etc are not explaining how their algo's work. Which lead to the current situation that customers only compare by listening to make (costly) choices. An proffesionele overview/comparison under which conditions each product will work ( for instance full or Schröder correction) fine could be very helpful to make a choice. I have to correct for instance in the higher frequencies wich leads me to Full correction solutions.

@dominikz did an interesting helpful comparison.

 
Last edited:
Re: Audessey... I was under the assumption that we were talking about DRC for stereo here with AVR/multichannel DRC being discussed elsewhere.

(Personally I use MathAudio for stereo and MCACC for multichannel, via AVR.)
 
Ok, I was too curious to wait and I also tried to eliminate pipeline glitches (measuring from file while trying to preserve timing is tricky) . Mic at 1 m this time .
So I measured everything through foobar as:

Raw: Math bypassed by it's comparing button

Minimal: as shown:

View attachment 445777

Overcorrection: as shown:

View attachment 445778

Results (description on chart) :

View attachment 445779
FR

View attachment 445780
Impulse


View attachment 445781
Step


View attachment 445782
ETC


View attachment 445787
unwrapped phase

So definitely a pipeline error before, it seems gentle even at way overcorrection.

Edit: I was also able to replicate the previous "roomless" one by capturing and averaging (8 times) the same playback through RTA this time.

That looks more sensible now. Even with the room magnitude response overcorrection trace, though, very little appears to have changed in the phase i.e. there was no excess phase inversion step applied.
 
Idk. My memory of this stuff is hazy.

Say you want to build a FIR sub crossover and the sample frequency is 48k. 24x under sample would put Niquist at 1k, which might be sufficient, and cut the arithmetic workload by 95%.
But you'd have to pre-filter (anti aliasing) before down-sampling to limit the frequency content to less than the new Nyquist. You can't just take every 24th sample. By which time - why bother with the down-sampling.
 
But you'd have to pre-filter (anti aliasing) before down-sampling to limit the frequency content to less than the new Nyquist. You can't just take every 24th sample. By which time - why bother with the down-sampling.
Right. Thank you. So the answer to my question is likely: because any thing greater than one-sample delay leads aliasing. Corollary: it's possible to choose FIR tap values that cause aliasing.
 
Right. Thank you. So the answer to my question is likely: because any thing greater than one-sample delay leads aliasing. Corollary: it's possible to choose FIR tap values that cause aliasing.
Not entirely sure what you are getting at here. Having a delay in a filter of greater than one sample isn't the same as downsampling.
 
I thought I would make a public service post about DSP, because I have noticed that many people don't seem to understand it. I hope this post helps you understand what a DSP product offers you, what the advantages and disadvantages are, and ultimately help you choose what you want or need. This is a complex topic with a lot to say, and I have to keep it brief so that it fits in a forum post and can be easily understood by a general audience. So I am sure I will be criticised for not making certain points by the usually tough ASR crowd. To those people I say: screw you, write your own DSP introduction and see how easy you think it is to condense everything you know into a few posts! No marketing BS in this post, by the end of it you should be able to understand exactly what you are buying when you choose a DSP product.

The most fundamental difference is how DSP products implement DSP. They may use IIR filtering, FIR filtering, or a combination of both (mixed phase).

IIR filtering

View attachment 445562

IIR, or Infinite Impulse Response filters, are recursive filters, meaning they have feedback. Because of the feedback, the impulse can theoretically go on forever. The structure of an IIR filter is shown above - note that there is a feedforward stage and a feedback stage. Each feedforward/feedback stage has gain coefficients and delays. Without going into the math, each feedforward/feedback stage is a quadratic equation. Because the output of the filter depends on the ratio of the feedforward and feedback stage, an individual set of coefficients is known as a biquad.

Each biquad is a 2nd order filter, meaning it has two poles and two zeros. Therefore, a 2nd order filter (for example, a 12dB/oct Linkwitz Riley LPF) uses one biquad. An 8th order (48dB/oct) uses 4 cascaded biquads. A single PEQ is one biquad. Therefore, how many biquads you have available determines how complex your filter can be. With more biquads, higher-order slopes are possible, and so are more complex corrections.

This is how the filter works: first, the input signal (music) must match the sample rate of the filter. Either the music is resampled, or the filter designed for the music sample rate. At t=0, the first sample is multiplied with b0 and sent to the output. At t=1, the second sample arrives and is multiplied with b0. Meanwhile, the first sample progresses to b1 and a1 with and sent to the output or feedback stage respectively. And so on it goes. t refers to a time period which is 1/sampling rate, so if the sampling rate is 48kHz, t = 0.021ms.

Because IIR is economical with CPU power, it is commonly found on devices which have limited computational capacity such as AVR's and notably, MiniDSP, Danville Nexus, and the like. However, these devices may also have a limited number of biquads, depending on the model. The MiniDSP SHD which I am playing with at the moment has 18 biquads per channel, with a total of 4 channels. Of these, 8 biquads are reserved for the crossover, meaning you have 10 biquads available for PEQ's per channel.

As mentioned, complex corrections are achieved by cascading biquads, however this creates its own issues. Quantisation errors can occur, especially at low frequencies where precision is crucial. Because of the recursive nature, these errors lead to noise accumulation and potential stability issues. Each biquad is minimum-phase, meaning that phase distortion accumulates the more biquads are used. This makes design of a filter with multiple biquads difficult to design if we want to maintain the desired response and avoid unwanted artefacts.

Biquads also have poor portability. Because different manufacturers have different implementations of coefficients, biquads have to be specifically tailored to one model of DSP. The same set of biquads will produce a different output from a different manufacturer. Also related, biquads are tied to the sample rates they were designed for. For example, if a biquad designed for 48kHz were applied at 96kHz, frequency shifts would occur. Specifically, they would double - so a 100Hz LPF becomes a 200Hz LPF.


FIR filtering
View attachment 445563
FIR, or Finite Impulse Response, has a fundamentally different filter structure. It contains a series of taps. Each tap is a delay-gain pair. If you look closely at the structure of 1 tap, it is exactly the same as one coefficient in an IIR filter. The difference is, IIR filters are recursive and FIR filters are not. This means that if we want to replicate what an IIR filter does with a single biquad, a great number of taps are needed. What this also means is that it is impossible to exactly replicate an IIR biquad, because an infinite number of taps is required.

You may have heard of taps and bins. Taps are time domain entities, and bins are frequency domain entities. For our purpose, it is enough to think of them as equivalent since they can be converted into each other by either inverse FFT or FFT. If you have 65536 taps, you also have 65536 bins. The bin width determines the resolution of the filter. It can be calculated by Fs/n (sampling rate/taps). So if you have 65536 taps and a 48kHz sampling rate, each bin is 0.73Hz wide. This is roughly analogous to a graphic equalizer with 65536 bands of adjustment, with each band being 0.73Hz wide.

This is how it works: at t=0, the first sample is arrived, multipled with the gain coefficient, and sent to the output. At t=1, the second sample arrives, is multiplied, and sent to the output. Meanwhile the first sample has been delayed by 1/Fs before it is multiplied with the second gain coefficient, and on it goes. It keeps going until we reach the filter length which is the total number of taps that we have.

More taps and higher sampling rate means that computational requirements go up. If a filter is 65536 taps long and we have a 48kHz sampling rate, this means we need to hold an absolute bare minimum of (65536/48000) = 1.37 seconds of audio in memory. Multiply that by the number of channels you wish to process, add a bit to prevent starvation, and you can see why we need an ARM processor or a PC to implement FIR filtering with long filter lengths with multiple channels.

This all sounds terrible, so why bother with FIR filtering at all? This is because any filter can be created provided you have enough taps. The same 65536 taps can be used to create very high order filters or very complex corrections with no additional cost (beyond the computing requirements which have already paid). With IIR filtering, you will have to use more biquads to achieve the same outcome, and as we have seen, using more biquads has its own disadvantages. FIR filters can do everything an IIR filter can do, and more. Well, everything except run on low CPU power devices. FIR filters are robust, not prone to instability, and not prone to numerical precision errors. But more importantly, FIR filters can be used to create linear phase filters. More on that shortly.

Mixed Phase
This is achieved by cascading an IIR filter with a FIR filter, sometimes the other way around. Many MiniDSP products (though not all!) are mixed phase. This is done to obtain some of the advantages of FIR filtering (ability to design more complex filters) with IIR filtering (low computational requirements).

Wow - over $300 for Dickason's book. Should we choose a different hobby?
 
Sincere thanks, great summary. Very helpful, logical easy to understand break down.

Proceeding posts could be half as interesting. We’ve got a half baked Math Audio convolution no one asked for, others saying they can’t understand what they can’t understand??

It didn’t sound like an advertisement for Acourate either. The point was REW is clunky compared to Acourate. Clunky meaning a bunch of steps that don’t enlighten anyone they’re just a pita.

Valuable feedback, not a sales pitch.
 
Couple of questions...

Can you use additional VSTs along with DIRAC?

Dirac outputs proprietary filters and can be used two ways: (1) as a standalone convolver, similar to Hang Loose, Camilla, and others, or (2) as the final component in a VST pipeline.

So yes, you can use additional VST's with Dirac. You need software that can do it, e.g. JRiver.

Does anyone know what the differences/similarities are between Dirac and MathAudio RoomEQ?

You can answer the question yourself - read Mitch Barnett's review of Dirac and see what additional features it has over MathAudio's RoomEQ.
 
Great write up! Thanks!

My biggest concern with Acourate? How to trust a software that presents two methods of measurement that give very significant differences in results (your guide shows 4dB difference)?
good point, but then which measurement to believe? How do you know?
Fact is that i use Acourate and do not have such difference between the sweep or pulse measurements, or with Arta by comparison. Still that is my only test to assure the correctness of the measurement.
 
Dirac outputs proprietary filters and can be used two ways: (1) as a standalone convolver, similar to Hang Loose, Camilla, and others, or (2) as the final component in a VST pipeline.

So yes, you can use additional VST's with Dirac. You need software that can do it, e.g. JRiver.



You can answer the question yourself - read Mitch Barnett's review of Dirac and see what additional features it has over MathAudio's RoomEQ.

Shall do. Thanks again for your help.
 
...Processing power required by the various DSP options is another thing I'm curious about.

(I use low power fanless N100 MiniPCs and it appears that MathAudio RoomEQ and EasyQ use minimal resources.)
 
My biggest concern with Acourate? How to trust a software that presents two methods of measurement that give very significant differences in results (your guide shows 4dB difference)?

Actually, I think you might be talking about the sinc pulse vs. logarithmic sweep comparison. The reason for the difference is that they are taken at different volume levels.

The sinc pulse is a series of Dirac pulses, meaning that it contains all frequency components from DC to Fs/2, but is only one sample wide. The advantage of such a pulse is that the group delay is constant, so it is excellent for taking timing measurements. Exactly what you want if you want to correct the phase of a driver. You can even send DC to the tweeter with no damage because the pulse is so short.

The disadvantage is that there is very little energy sent to each driver, so the amplifier output needs to be increased. Even then, you do not get an adequate SNR, so you have to take many "clicks" and sum them to improve the SNR. To get a proper measurement of a driver with adequate SNR, you need about 1000 clicks, or about 20-25 min of measurement time. The other disadvantage is that a 1 sample wide pulse is not enough to excite a woofer or subwoofer, so if we want to measure these drivers, we need to increase the width of the pulse.

When I do the logarithmic sweep for comparison (not necessary, but I always do it) I have to lower the volume to avoid blasting my ears. I don't really care about matching the SPL of the sinc pulse, all I want is to compare the two. It is very easy to normalise the SPL for comparison, but I did not do that for the illustration in the guide.

As I learn more about measurements, I start to realise that all types of measurements have limitations. If the Sinc pulse gave exactly the same result as a logarithmic sweep, then there is no point doing the Sinc pulse. And if you are going to complain that two different methods of measurement give different results, then ask yourself why a MMM gives a different result to taking 10 sweeps at different positions and averaging it. One has a better signal to noise ratio and is more likely to be free of artefacts, the other is easier to do and more repeatable. You choose the type of measurement you want to take, they all have advantages and disadvantages.
 
Back
Top Bottom