Room correction with Acourate

I have tried to do room correction with REW and other tools, but the results were unsatisfactory. Several discussions with @Brian, @rovinggecko and others. Several people, here and offline, have been telling me that Acourate is by far the best tool to measure and generate the convolution, but also that it is difficult to learn and use. I finally decided to take this seriously, and both statements are correct. (@Uli_Brueggeman, the author of Acourate, was helpful.)
The final result is excellent. Amplitude response, before and after, are here.

The tilt is intentional.

Step response is excellent too. And it sounds good. No tradeoffs.

Consider the cost picture. Roon already includes the convolution capability (I use 131,072 taps, the NUC doesn’t break a sweat). Acourate is about $300, the mic is $75, and @Mitch_Barnett’s book is $10. Compares favorably to gold-plated cables. (Excluding my time to learn how to do it…)


I couldn’t agree more, that Acourate is the best tool in competition for room correction.

But it is not neccessarily difficult, if you stay with the default room macros.

However, Acourate is not just a room correction software, it is so much more.
I would call it a math library or math tool, where the creation of room correction filters is one of the most popular functions.

Absolutely, my LX521’s love the Acourate, Roon combo!

My speakers are good, the room is large and wooden and irregular, and open to the whole open-plan house. Should be good. But the “before” results show the challenges, when your listening room is part of the listening space and can’t be ugly and has large windows to the view.

And the cool thing with the Roon approach is, I can now walk around with my mic and my laptop and correct all other rooms, at zero incremental cost because the server does it,

Yeah, my set of Pluto’s upstairs is next.

Curious where i will find the most gain.


Is Audiolense and option ? Did you test it ?

I was using REW for a while, then moved the speakers and invalidated my measurements. Maybe it’s time to dust off Acourate and give it another try. That curve looks very well sorted.

Have not.
I have used REW and Acourate, plus XTZ for measurement.

The curves look great @AndersVinberg , but more importantly seems like you’re getting good sound.

Since Dirac’s out, this seems like pretty much the only game in town (according to my research) for a similar result, but I was put off by the complexity too.

I was thinking I could live with PEQ but ultimately it just doesn’t satisfy, there’s always a ‘muddiness’ to the sound which most likely is just imprecise corrections, and not dealing with the reflections/phase etc. So I really might just have to go down the Acourare route.

I you have time, it would be great to hear about the whole process, in as much detail as you can bear :wink:

What’s XTZ? Don’t you measure in Acourate?

I’ll write it up when I get a moment.
Mitch’s book is useful but it tries to teach you everything about acoustics, which is mostly a distraction.

XTZ is a measurement system, hardware and software. It does what it does, but it doesn’t do very much, and it is a closed system, can’t interact with anything else. I bought it a few years ago. (I didn’t know this when I bought it, but XTZ is a Swedish outfit, as is Dirac. I was trying to make sense of the English manual which is pretty poorly written, when I realized they are Swedish and looked up the Swedish manual, since I know that language; much better!)

Today I use Acourate to measure when I am working on correction. But there is a problem with measuring the actual results of Roon. Both Acourate and REW want to output the test signal into the system, and measure what comes out of the speakers. This of course works for measuring the amp and speakers and room, but it can’t feed Roon which doesn’t have an input, only plays recordings. Acourate has a simulation mode, where you see what Acourate expects will be the result, but I don’t trust a simulation, I want to measure the actual results. (In fact, I once had a simulation curve that looked great but when I checked the actual results they were terrible – my fault, I had messed things up, but it illustrates why you want to measure, not just simulate.) REW works the same way, wants to output and then measure.

But I found a way to fool REW: it can output a WAV file of the sweep (and other test signals), and then I can save that file in Roon and use trickery to measure that. I cue up the sweep file in Roon, set up REW to output to a null output (the laptop speaker with the volume at zero), then click Measure and immediately start playing the sweep in Roon. That lets me measure the actual result of the Roon convolution. (That’s how I got the picture above.)

I haven’t found a way to do that in Acourate, it may be possible but Acourate is more precise, wants a single ASIO driver for input and output and clock sync, etc.

So in short, I measure and calculate and simulate in Acourate, measure for verification in REW, and use nothing else.

Not quite right, XTZ has a good way to measure and display reverberation in the room, through waterfall or color diagrams. The others don’t do that, as far as I can tell. I’ll probably use that, although I don’t know what to do about it if it is bad…

Did you just use 1 measurement to get those results or a set of measurements in various places that were then averaged (as dirac does)? I never understood how accourate can get such good results with a measurement from just one spot. I have tried REW from mic spots just 1 foot apart and the results have been consistently different.

With respect to validating your results, if you record the sweep with the timing signal and then set REW to wait for the timing signal then you don’t need to worry about starting the playback from Roon in a hurried/timed manner …

Yes, that’s what I did. But you need to be reasonably timely or it gets confused.

Yes, I used only one. I made several earlier, and got results similar to yours. But I decided to run Acourate from one, because the Acourate process seemed to fit that better. And then I listened and it seems to work.

But I will continue evaluating.

Ok interesting. This is my biggest concern about forking over the money for accourate - it’s process seems to only use 1 measurement/location. I just don’t get how that can provide for an accurate response. By using multiple measurements from different locations you can get a better sense of the real room peaks/nulls in play.

1 Like

Yes. I wonder about this a bit. Because of the approach, generating a convolution, the filter generation is a black box. There is no way to look at what it did, unlike systems like REW that create PEQ filters.

One thought I have: in all the discussion there is a lot of attention paid to the difference between the initial signal and the late sound. It reports the correlation between channels for the first 10 ms, the next 10, the first 80, and the long term. And the focus is on correcting the initial sound, and reports the change in those four correlations. It also recommends removing furniture, because it values precise measurement over resembling the actual listening experience. Mitch’s book even describes a procedure for averaging 10 measurements made along the beam from the speaker, which strengthens the direct signal and averages out the reflections. So it seems as if Acourate does a lot of sophisticated analysis that handles the position problem.

I may be wrong. I’ll be looking at it, and listening.

Having Roon, and Orion, Pluto, LX521 and LXmini I think ill have to keep an eye on this as it develops. Also referenced in the LinkwitzLab owners forum :stuck_out_tongue:

There’s nothing fundamentally opaque about convolution filters. It just takes a little bit more work to examine them.

I’ll grant–things are a little bit more transparent with IIR filters, but mostly because of how they are presented in software–in terms we understand.

Under the hood, Most IIR DSP is equivalent to what’s laid out in a few pages in The Audio EQ cookbook. There just isn’t a whole lot of room for magic beyond that. A butterworth filter is a butterworth filter. You can evaluate it at different levels of arithmetic precision and you can run filters in series to create more complex frequency response characteristics–that’s about it.

But FIR (convolution) filters are still pretty accessible… For example…one of my early REW-generated filters (not a good one :slight_smile: ), viewed using MATLAB’s filter visualization tool:

>> [y,Fs] = audioread('/Users/brian/Desktop/f.wav')
>> fvtool(dfilt.dffir(y),'Fs',Fs)

Frequency response:

Phase response:

Impulse response (same as waveform in the .wav file):

I haven’t done this exercise with an externally generated filter before…it’s actually pretty interesting.

If I had to guess, REW is totally based on IIR filters internally, and it computed the FIR coefficients by processing an impulse signal through the IIR filters and recording the result. This is a very simple (but correct) approach.

I’m guessing this way mostly because of how the impulse and phase responses look–neither have appearances characteristic of the usual FIR design algorithms–FIR design algorithms generate impulse responses with more obvious ringing (but cleaner phase responses).

It would be interesting to look at filters generated by other software in the same way. Maybe there’s something interesting there. Once I play with Acourate a little bit more, I’ll go through the same exercise and take a look…

There is no magic in DSP…no matter the marketing/hype that is often associated with it. It’s mostly math. The rest is engineering–deciding what you want to do and fitting it into a performance envelope.

But few of us have MATLAB.

Maybe if Roon visualized the convolution it has loaded…

I have done some more listening at different listening positions in the room, and there are no audible differences.

I also measured in six different locations in the sofa, sideways and front/back. This also has the furniture back in place. The curves vary plus/minus 3 dB, which is reasonable.

There is a systematic dip across all of positions of about 5 dB, around 200 Hz Possibly caused by the sofa and the mic in top of the sofa.

But I’m done. It’s good.

1 Like