• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. 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!

Cavern QuickEQ - Basic How to

Foxenfurter

Active Member
Joined
Mar 5, 2020
Messages
129
Likes
157
Location
London
For those of you who want to do room correction measurements, but find the software too confusing or expensive I thought I would post a quick guide to using Cavern EQ which is available at the great price of FREE!. I have been using various different measurement mics and software for a while, but I am in no way an expert. I am simply posting this as a user and hope that it helps some of you improve your audio cheaply and easily.

For this test I am used a cheap measurement MIC and USB adapter total price approx 40 GBP.

Provided you know how to connect your gear to a pc (preferably a fan-less laptop) and can do basic PC navigation the whole process takes less than 30 minutes and gives good results. For me personally I found the results better than what I was able to obtain with REW; ARC or DRC software and it felt much less hit and miss.

There are a couple of downers:-
  • I think the software is Windows only
  • there was a Windows Defender warning on opening the executable
  • the interface is quirky.
The software can be found here, I think the site and author is Hungarian.


For this experiment I used a Dayton Audio Calibrated Measurement MIC - this is really designed for a mobile phone and has a TRRS connector (note the extra ring)

Don't forget to download your calibration file from Dayton Audio and save it somewhere sensible.

To get this to work with a pc I used a TRRS USB adapter - this is the one I ordered

Download the Cavern Zip http://cavern.sbence.hu/cavern/downloads.php
I used 64 bit. There is no installer, so unpack the zip to a folder, in my case E:\work\Cavern\cavern64.
I also created a folder for Measurements E:\work\Cavern\Measurements

When unpacked open the executable E:\work\Cavern\cavern64\cavern.exe

First issue - this version seems to have an outdated certification and Windows Defender throws a warning ( I didn't get this with previous versions)

So I ran a quick virus scan - no issues so re-opened selected more info and run anyway.

The UI is built in Unity, which is mainly a gaming framework - you will find system menus like file pickers size oddly (in my case very small). Initially you are presented with a 3d representation of a room and some dashboard stuff.
1649429817108.png

I ignore this and select QuickEQ on the top right

1 - setup your microphone 0 degrees and upload your calibration file
1649429828921.png


2 - choose filter details. I usually try and measure flat as it is easy to then add in EQ adjustments to taste. The documentation describes what the various options do though.
1649429853914.png

3 - if you want to keep it simple you are ready to start.

Connect your system up to your laptop and ensure that you can play sounds, make sure you have any EQ/DSP off and background noise is at a minimum.
If you are using a DB meter set it to about 80db if not just set the volume to a volume you consider quite loud but not excessively so.

Decide how many measurements you want to take. We will do 3
So open the multi-mic menu

This is quick and dirty example
so sit in your normal listening position with the mic pointing at the midpoint between the speakers held at chin level.
Press start and you will hear 2 sweeps.
When finished
click add this as reference in the multi mic menu
Now hold the mic next to your right ear and repeat the measurement step but this time add the result to average
Repeat holding the mic to your left ear add the result to average
Now calculate the average
We are done measuring
You can dismiss the multi-mic menu by clicking it again
1649429892570.png


Check the EQ chart, in my case the environment is too noisy for RT60. This is my desktop PC and low measuring volume, I would measure again on my silent laptop.

Let's assume you are happy with your measurement

Now Open the Export/import Menu
and click show more
1649429917054.png


Thing to Note I have only been able to select the output folder. The files generated seem to have standard names, so you will need to manually rename/move them once exported if you want to avoid overwriting

Uncheck use zero delay convolution (if this is checked timing corrections are not calculated)

Export to Equalizer APO - generates a single text file with filters and delay and gain all populated. - files generated
  • Cavern QuickEQ result.txt

Export as Peaking EQ - same but with fewer parametric filters - files generated
  • Cavern QuickEQ PEQ result.txt

Export as convolution EQ - had a bit of trouble with menu closing and not saving... Eventually folder picker appeared and I get
  • Cavern QuickEQ convolution result.txt
  • Filter_L.wav
  • Filter_R.wav

Finally Export Room Simulation (uncheck Export after EQ as we want the room response not corrected room response
  • Room Simulation.txt
  • Impulse_L.wav
  • Impulse_R.wav

These impulse files can be loaded into REW if you want.

I use a single stereo wav file for convolution in my DSP software, the easiest way to achieve this is to use Audacity and add Filter_L & Filter_R, then
Pan the Filter_L all the way Left and Filter_R all the way right and then export as WAV file.

1649429998839.png
 

dc655321

Major Contributor
Joined
Mar 4, 2018
Messages
1,597
Likes
2,235
use a single stereo wav file for convolution in my DSP software, the easiest way to achieve this is to use Audacity and add Filter_L & Filter_R, then
Pan the Filter_L all the way Left and Filter_R all the way right and then export as WAV file.

Why are you “panning” the impulses this way?
 
OP
F

Foxenfurter

Active Member
Joined
Mar 5, 2020
Messages
129
Likes
157
Location
London
I assumed that I needed to when mixing two mono channels. Happy to be corrected as it is one less step.
 

VoidX

Member
Joined
Jul 18, 2022
Messages
80
Likes
146
Thank you for your tutorial, it's good to see one, I was too lazy to write the official :D I started fixing around by your feedback, many UI elements are already larger (the file browser is out of my scope as it's supplied by an old framework), and the folder exporter's revamp is added to the roadmap. A small correction: delay correction is always applied, it can be toggled from the Setup tab. Zero-delay convolution is a different tradeoff, it's a choose 1 of 2 situation: when it's on, delays are minimal for real-time processing (like movies), but the sound from each speaker will arrive to you at the same time. When it's off, the EQ won't add any phase distortion, but this comes at a cost of a large delay: the higher precision you want, the higher the delay gets. I recommend keeping it on, as its effect is below the hearing threshold. Complete phase correction (like Dirac) is coming, it will deprecate this option.
 

VoidX

Member
Joined
Jul 18, 2022
Messages
80
Likes
146
Thanks, yes, it's me. I found this thread by googling QuickEQ :D
 

hoverdonkey

Active Member
Joined
Oct 6, 2019
Messages
131
Likes
86
Thanks, yes, it's me. I found this thread by googling QuickEQ :D

Loving the combination of your Cavern QuickEQ + @Foxenfurter 's new Squeeze DSP plugin for LMS. I have longed to try room/speaker correction for a long time, but couldn't move away from my well-established LMS system. Now it is here in LMS and working beautifully, with Cavern QuickEQ making it a breeze to make measurements & EQ files. Having flat FR for the first time is truly a revelation (and it may just have saved my speakers from the Ebay!) Thank you both.

Is it my imagination, or does increasing Convolution Length also increase the delay between skipping through and between tracks? If so, will throwing more CPU grunt at it speed things up? I am currently running LMS on an RPi3B+. It is bearable, but it would be nice to have things a bit snappier.
 

VoidX

Member
Joined
Jul 18, 2022
Messages
80
Likes
146
Is it my imagination, or does increasing Convolution Length also increase the delay between skipping through and between tracks?
If you export linear phase filters, then the delay will be half the length of the filter, so it does increase delay. Try minimum phase filtering, it doesn't add any delay, and the phase impact is negligible. The linear phase option is only there for the absolutely minimal occasions that actually suffer from those minimal phase changes. With minimal phase, you can easily increase the convolution length until your CPU starts to suffer, which is overkill.
 

hoverdonkey

Active Member
Joined
Oct 6, 2019
Messages
131
Likes
86
If you export linear phase filters, then the delay will be half the length of the filter, so it does increase delay. Try minimum phase filtering, it doesn't add any delay, and the phase impact is negligible. The linear phase option is only there for the absolutely minimal occasions that actually suffer from those minimal phase changes. With minimal phase, you can easily increase the convolution length until your CPU starts to suffer, which is overkill.

Hi, thanks, but where is the setting for minimum/linear phase filtering please? I cannot find it.
 

hoverdonkey

Active Member
Joined
Oct 6, 2019
Messages
131
Likes
86
Under Export/import and then Special settings for convolutions, check Use zero-delay convolution.

Family out for a while... giving me a brief window of opportunity to do some timings! I exported 4 convolution files for the same measurement, two convolution lengths, each with and without zero-delay enabled:


Convolution lengthZero delay enabled?Time to skip to next track
(s)
131072n
11.0​
131072y
11.1​
65536n
7.1​
65536y
7.0​


It seems that the zero delay setting makes no difference. Could there be something wrong in my setup?
 

VoidX

Member
Joined
Jul 18, 2022
Messages
80
Likes
146
Could there be something wrong in my setup?
No, in this case it seems that the convolution is not real-time, but the entire track is preprocessed. This will be a hard optimization by the player's developer, requiring fundamental changes.

As a workaround, I recommend using 32k filters, they're recommended down to 40 Hz. 64k is for 20 Hz extension, and 128k is infinite baffle territory.
 

hoverdonkey

Active Member
Joined
Oct 6, 2019
Messages
131
Likes
86
No, in this case it seems that the convolution is not real-time, but the entire track is preprocessed. This will be a hard optimization by the player's developer, requiring fundamental changes.

As a workaround, I recommend using 32k filters, they're recommended down to 40 Hz. 64k is for 20 Hz extension, and 128k is infinite baffle territory.

Good to know. My speakers are spec'd down to 26Hz, so perhaps I should stick to 64k.

I am currently using the OP's Squeeze DSP plugin in LMS. I have it running a RPi3B+ with DietPi, sending to piCorePlayer running on a RPi4B. I could easily enable pCP's own LMS server instead, to see if its faster processor can make things usefully speedier. I'll do that next time I get some free time!

Many thanks.
 

hoverdonkey

Active Member
Joined
Oct 6, 2019
Messages
131
Likes
86
Good to know. My speakers are spec'd down to 26Hz, so perhaps I should stick to 64k.

I am currently using the OP's Squeeze DSP plugin in LMS. I have it running a RPi3B+ with DietPi, sending to piCorePlayer running on a RPi4B. I could easily enable pCP's own LMS server instead, to see if its faster processor can make things usefully speedier. I'll do that next time I get some free time!

Many thanks.
Just popping back in to report that I did eventually get around to trying this on LMS on a RPi4B, and can confirm it is usefully faster than the Pi3B+.
 
Top Bottom