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

Active Room Treatment (ART) by Dirac

I always read your comments on various blogs with great interest. Over time, you have acquired an impressive level of expertise in these areas. I have myself learned the basics of acoustics, speaker measurement, phase relationships, delays, etc. on the job in order to achieve specific results. I know enough to recognize when Dirac is more of a hindrance than a help. But I am nowhere near as skilled as you are. That's why I hope that one day you'll explain why your lack of interest for his algorithm or you'll have the time and the means to get on board with Dirac, because for us mere mortals, it's the application that allows us to achieve the most. For example, what intrigues me is the fact that you recommend (if I'm not mistaken) several measurements in the same place, whereas Dirac has made a (surely well-researched) choice of 9 measurements distributed around the MLP.

Translated with DeepL.com (free version)
As I said, I have not delved too deep into their algorithms but as I understand it, Dirac Live separates the response into minimum phase and excess phase components, compares the pole–zero structure against a desired target, and then constructs a mixed-phase correction filter that nudges the combined response toward that target. Conceptually this is elegant, but the real challenges in DSP always lie in the implementation details. For example, extracting excess phase correctly requires robust removal of the IR delay and careful handling of the true impulse response peak. Dirac probably uses a basic delay normalization procedure that works well for very typical measurements but is quite unreliable in difficult rooms or in the presence of strong early reflections. When the excess phase estimate is off even slightly, phase correction filters will lead to perceptual artifacts such as a "shifted center image". Audyssey can be forgiven for using simpler techniques since their correction algorithms need to run on the DSP chips with limited memory and CPU in the absence of Editor or X apps but Dirac runs the correction algorithm on a computer!

Multi-position measurements are helpful for stabilizing low frequency correction, but full-range EQ places much stricter demands on how high frequency response is constructed. Averaging or merging multiple mic positions above a few hundred hertz is quite tricky. In my view, Dirac does not employ particularly sophisticated or robust techniques in this area, which limits the accuracy of the high frequency correction derived from multiple mic position data.
 
LLM AI is merely next word prediction based on probability derived from training data. In many audiophile subjects, that's 90% forum gibberish. It's not even truly context aware although that's improving rapidly.

Fully agreed, it should be obvious I was just making my points about why I get skeptical, perhaps a little too easily.. I used AT to save time when I want to search information quickly, but I am aware of the information they found may contain a lot of hearsay, often from forum posts such as our ASR, AVSF and others so one has to drill down from there become drawing any conclusions.

"List me resources that claim 512 for taps for Audyssey" kind of prompts would be a better use of AI for research imo.

1024, 512 and 128 are all valid constants taken from the actual interface but it's quite a bit more complicated than that.

Understood, and again thanks for that, and that is exactly one of my point, that it is a bit more complicated than the single absolute number such as 1024 512 etc. Unfortunately, no I have not ever seen those numbers directly translated into "tap count" by any credible sources, but it does seem clear Audyssey, claimed they wouldn't reveal the tap count number for a variety of reasons, one being it is proprietary, another being their so called "..dynamic, or whatever they called it..." approach, so those numbers as shown on the table below often found on forums, are a relative thing for comparing between their XT32, XT, MultEQ, 2 EQ etc.:

Example of that comparison has been quoted a few times on ASR and other forums:


1763209716501.png

The trouble/confusion is, if XT32's "resolution" is 512X, XT is 16X, then if XT can only have a maximum of only 32 fir taps, then does that mean XT32 would have 32X512/16=1024 taps, is that how it works, who knows?:D And, would XT has merely 32 taps?

Other than that, I thought there are some information that can be found from Audioholics interviews with Chris, and since Chris is a co-founder, and a PhD, EE, professor, I would have a little more faith in what he said in those interviews:

Below are some quotes that I think are relevant, that can be considered when trying to compare the so call tap count,, resolution among RC software:

Audioholics interview with Chris, dated 2014:

Audioholics: What kind of filters do your room correction products use, and at what resolution (i.e. 1/3 octave, 1/12 octave, etc.)?

Chris Kyriakakis: Audyssey MultEQ uses Finite Impulse Response (FIR) filters. Audyssey uses a proprietary method in calculating the filter coefficients, and so we do not disclose the resolution as it would lead to confusing comparisons with traditional methods.
Audioholics: What do you feel are the important differentiators between your room correction solution and competitors?

Chris Kyriakakis: There are three major components which set MultEQ apart from competitors:


  • Taking measurements in the time domain to generate impulse responses

  • Taking multiple measurements to inform the filters about the spatial variation of the acoustical problems

  • Using psychoacoustic criteria and multi-rate signal processing methods to apply the proper filter resolution where it’s needed the most and to optimize processing requirements
Audioholics 2004 interview:

There is an older Audioholics.com interview, in which Chris Kyriakakis did dive a little more into the details about Audyssey's approach on the "resolution", "tap count" kind of stuff:

It's dated year 2004 so I don't think XT32 had launched yet and that may be the reason there aren't that many forum posts linked to that one, but in that interview Chris did touch on the so called "Dynamic Frequency Allocation (another of the imbedded technologies) which gives non-linear spacing."


"The approach to solving this problem in the past has been based on parametric EQ which is an extension of what was done with analog equalizers just, done digitally. The first problem is that you never have enough bands, typically 10, using an IIR (infinite impulse response) filter. IIR filters allow you to do things in the frequency domain but it does unknown things to the time domain. In many cases it manifests itself in ringing or smearing."

"Our approach is based on FIR filters which in the past have been computationally intensive but this is not an issue any more because the DSP power has increased so dramatically. FIR filters allow us to correct the time domain and frequency domain at the same time. 'Well, you might say, FIR filters don't give you enough resolution if you want to keep them relatively short.' And that's true. This is the reason we implemented Dynamic Frequency Allocation (another of the imbedded technologies) which gives non-linear spacing. So instead of having only 80Hz or so resolution we can get down, at low frequencies (where it matters), to under 5Hz of resolution. It's on a Bark Scale but the resolution starts below 5Hz at the lowest frequencies and goes up to a few tens of Hertz at 20KHz."
(The Bark Scale ranges from 1 to 24 barks, corresponding to the first 24 critical bands of hearing. For computing all-pass transformations, it is preferable to optimize the all-pass fit to the inverse of the map, i.e. Barks vs. Hz, so that the mapping error will be measured in Barks versus Hz.)

The conversation now turned to the bottom line technology within MultEQ. The ability to have every seat be a good seat. Again Tom provided his historical perspective from tuning theaters in the early eighties. "While real-time analysis is 'time-blind' (so you have to know something about the time domain before you use it) nevertheless, if you clean it up, it has some advantages over the FFT-based analyzers. The THX R2 (from the eighties) was readily able to do spatial averaging and temporal averaging and we realized if we made an extension of it using a laptop with an add-on spectrum analyzer peripheral that we could send signals across dynamically from the analyzer and do a lot of mathematics to it and therefore clean up the signal."

MultEQChris takes over, "So part 1 was, we knew if you EQ for the single sweet spot then every other position would suffer from much poorer frequency response. (And that was one of the reasons for the bad name 1/3 rd octave equalizers were given.-Tom) Initially Denon and every other potential customer thought 'let's have two modes'. One for a sole listener and one for when you have several listeners in a room. Well, it turns out if you EQ a whole room the audiophile seat gets better. If you take more of the problems of the room into account you're fixing a bigger area than just the audiophile seat so there's no need for two modes."

Chris continues, "The approach other people have taken is to throw DSP at it. There are room correction units on the market that do just that. They can do 8000-tap FIRs and you need 3 DSPs per channel. But if you want to be in a consumer product you have to make some computing decisions. So that was the thinking that went into Audyssey's Dynamic Frequency Allocation.
 
@OCA , I seem to remember you had mentioned Anthem ARC Genesis at one point when you were still working on your earlier versions of your scripts, do you still have plan to work on one that can work with ARC G like it does with Audyssey? ARC G has an excellent interface, but while it is tweakable by users, I find it very limited. It works well enough imo on the MF/HF but unfortunately, where it really count most, that is the deep bass range, it can't even come close to Audyssey XT, let alone DL, or REW, A1 EVO.
 
This is an ART thread and we are deviating quite a lot. I know that table circulates around since years but it's not only wrong but also quite meaningless. Typical example of how truly useful info is carefully hidden in audio. XT32 sub filters have 704 available taps of which only 687 are used but the filter is decimated into different frequency bands and sample rates ranging from 6kHz to 48kHz. XT and basic EQ (2EQ no longer exists) subs use 512 taps all of which are directly sampled down at 6kHz increasing their resolution 8 times in the bass frequencies. So, all models have quite similar and sufficiently powerful subwoofer filters. It's quite easy to understand that 512 filter taps would normally have a minimum filter resolution of 48000/512 = 93.75Hz which would deem any meaningful bass correction impossible.

Real difference between versions is in speaker filters. XT32 has 1024 taps which is again cleverly decimated to multiple regions and sampling rates. XT has 512 and basic EQ has 128. If XT and basic would be applied multi-rate multi-band decimation like the XT32, even these tap counts would be quite efficient. However, they don't go through that process (although the algos are all there) but use fixed 48kHz sampling rate which make them extremely ineffective.
 
@OCA , I seem to remember you had mentioned Anthem ARC Genesis at one point when you were still working on your earlier versions of your scripts, do you still have plan to work on one that can work with ARC G like it does with Audyssey? ARC G has an excellent interface, but while it is tweakable by users, I find it very limited. It works well enough imo on the MF/HF but unfortunately, where it really count most, that is the deep bass range, it can't even come close to Audyssey XT, let alone DL, or REW, A1 EVO.
I had written a script that decodes .arc Genesis measurements and imports them to REW some time ago on demand from an ARC user and it should be somewhere in this forum but cannot go beyond that without an arc device which I don't plan to buy :)
 
Dirac probably uses a basic delay normalization procedure that works well for very typical measurements but is quite unreliable in difficult rooms or in the presence of strong early reflections.
I can confirm that. I can't choose where to put my 2 surrounds. Both are very close to a wall and Dirac struggle to choose the impulse. Am I right to try and repeat the mlp measurement in Dirac until I see the 2 surround upwards peak choosen? Sometimes it need to put absorbtion on the wall between the tweeter for the mlp measurement. Sometimes not...etc
1763215763235.png


1763215778595.png

1763215803836.png
 
I can confirm that. I can't choose where to put my 2 surrounds. Both are very close to a wall and Dirac struggle to choose the impulse. Am I right to try and repeat the mlp measurement in Dirac until I see the 2 surround upwards peak choosen? Sometimes it need to put absorbtion on the wall between the tweeter for the mlp measurement. Sometimes not...etc
View attachment 490635

View attachment 490636
View attachment 490637
Hard to predict what would help the algo to find the correct peak. Absorption would help as you already found out but will change the frequency response. I'd try multiple measurements all at the same position, at closely spaced positions and 50cm radius positions. One of these might help. But this is just a wild guess.
 
Hard to predict what would help the algo to find the correct peak. Absorption would help as you already found out but will change the frequency response. I'd try multiple measurements all at the same position, at closely spaced positions and 50cm radius positions. One of these might help. But this is just a wild guess.
If at the first attempt the 2 peaks are not upward, I redo it with or without absorbtion until I get the first measurement at mlp with all satellites impulses upward as they are in REW. Then I rermove the absorbtion rockwool little panel and continue without any absorbtion for the next 8 mic positions measurements needed to calculate DLBC filter.

But anyway all that matter is I must run Dirac only if I got with the correct impulses for all satellites isn't it?
 
If at the first attempt the 2 peaks are not upward, I redo it with or without absorbtion until I get the first measurement at mlp with all satellites impulses upward as they are in REW. Then I rermove the absorbtion rockwool little panel and continue without any absorbtion for the next 8 mic positions measurements needed to calculate DLBC filter.

But anyway all that matter is I must run Dirac only if I got with the correct impulses for all satellites isn't it?
I’ve never really paid attention to the impulse peak direction in Dirac — does it actually sound different if it’s inverted?
 
I’ve never really paid attention to the impulse peak direction in Dirac — does it actually sound different if it’s inverted?
That is an interesting question - neither did I.

Also not sure how that fits into the entire bigger picture of FQ and decay response which most seem to value the most (but not all so we will for sure hear crap about it). Does it make it worse, and if so how much worse. For overly worried ones, they might also measure group delay to make it even more complicated.
 
I’ve never really paid attention to the impulse peak direction in Dirac — does it actually sound different if it’s inverted?
If all others speakers are also inverted (which is my case with the new mic) it seems ok except for a little difference (1.56ms instead of 1,68 ms for instance) in the delays calculated by DLBC. When my surrounds peak don't match I think or feel that the sound is not as good as supposed.
 
@RenPa
Do you have anything loose around the speaker or does it vibrate ?

When i designed and built my room it was made as a big panel absorber
Keeps RT60 nice and flat with a decay time under 0,2sec without the pressure on the ears as an overdampet room can have

I did a lot of measuring along the way to keep track of the progress
At the end i had a couple of panels half loose and it gave strange results to say the least
It is so long back i only have a couple of pix left

Black is good, red is bad
1763273412890.png



When looking closer on the impuls i found several new peaks, so it was just to measure the distance from the mic and sure enough
As seen there are more red peaks then black and when overlapping the black are not as high as red
1763273601575.png


I also found out that my design worked as intended, most of the fault was in the higher region
Group delay, no smootning - as in the impuls more red spikes then black

1763273759745.png
 
I installed the fourth subwoofer, set up ART, and finally measured everything properly in REW.
The integration of multiple subwoofers is far better than with BC.
Even with just one subwoofer, ART gives an amazingly good result, so… please don’t add too many subs, everyone lol
The decay behavior is completely different, and it confirmed again that ART produces low-frequency response without any lingering tail.
JBLSPL.jpg

LFE.jpg

スクリーンショット 2025-11-16 173406.png

Decay.jpg

RT60.jpg
 
quite a lot according to those measurements!
Yes! I’m really happy that ART gives me so much infra bass. :D
And I also compared BC and ART in a really wild spot in my room, so take a look if you’re interested.
 
I installed the fourth subwoofer, set up ART, and finally measured everything properly in REW.
The integration of multiple subwoofers is far better than with BC.
Even with just one subwoofer, ART gives an amazingly good result, so… please don’t add too many subs, everyone lol
The decay behavior is completely different, and it confirmed again that ART produces low-frequency response without any lingering tail.
View attachment 490935
View attachment 490936
View attachment 490937
View attachment 490938
View attachment 490939
Looks very good! Are you still using -18dB as support level for the LFE/subs?
 
Back
Top Bottom