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

How to make quasi-anechoic speaker measurements/spinoramas with REW and VituixCAD

The 'proper' way, as noted in Jeff Bagby's whitepaper, is to follow this formula: 20 Log ([port area]/[woofer effective area]). If both port and woofer and circular, that can just be: 20 Log ([port diameter]/[woofer effective diameter]).

For those who want to determine the sound pressure level change via a calculation, a generalized calculation uses the area ratios.
To calculate the sound pressure level change for any BR ports (rectangular, round,...) and woofer (round and oval) the area ratio can be used.

The calculation of the sound pressure level changes slightly
delta = 10 Log ([port area]/[woofer effective area])
 
Hi napilopez, my REW does not have alignment tool, can this be true?

Hi @changer, I assume you are not on the latest REW beta then. As noted in the setup section, this guide was written with the REW v5.20 RC6. The latest beta is 5.20 RC7. Those can be downloaded at AVNirvana.

There have been many updates since the last stable release, which was in 2018, although REW's creator is close to releasing a new stable version. He's been adding features and tweaks every month, but I have almost never had issues with the beta versions.
 
For those who want to determine the sound pressure level change via a calculation, a generalized calculation uses the area ratios.
To calculate the sound pressure level change for any BR ports (rectangular, round,...) and woofer (round and oval) the area ratio can be used.

The calculation of the sound pressure level changes slightly
delta = 10 Log ([port area]/[woofer effective area])

Oh derp you are correct, thank you for catching that! I've fixed it in the post.
 
Just in case you haven't seen this, bmc0 (diyaudio) has created a nice python script to display CTA2034 data and polar charts. The data input is text files used very similar to how Vituix does it. I like the look of the charts. All information is included in the readme and I made these test images running the script under Spyder development environment included in Anaconda which has all the required dependencies. The data is truncated in the images as this was from an ABEC waveguide simulation

https://github.com/bmc0/loudspeaker_directivity

directivity.png
directivity_contour_h.png
directivity_h_pos.png
 
For those who feel 70 measurements is too daunting, you should know that VituixCAD does a pretty darn solid job of interpolating missing angles for a spinorama.

For a typical bookshelf speaker, you can get really close to a full 70-angle spin with just 11 measured angles. This may be useful for those who are only measuring speakers casually and occasionally, rather than those of us who do speaker measurements regularly.

While I always encourage performing the complete spin because there may be cases where the anomalies occurs at very specific angles, (and in my case the most time-consuming part of measuring speakers is the setup), it is good to know the minimum you can get away with.

In theory, this can come in handy if measuring heavy tower speakers, in which case rotating the speakers about a turntable may be virtually impossible, especially for vertical measurements. In some cases, it may be easier to manually measure a handful of angles by repositioning the microphone rather than the speaker. I have done this a couple of times with speakers with very curved baffles, in which case it is difficult to turn them on their sides for verticals.

In my experience, the lowest density of measurements you can get away with for a typical front-firing speaker is using 30-degree intervals within the front hemisphere, plus a singular measurement at 180 degrees, omitting any mirrored angles.

That translates to H (0,30,60,90, 180) and V (+/-30, 60, 90) for a typical speaker with vertically aligned and horizontally symmetrical drivers.

You do however, have to set VCAD to interpolate and estimate the missing data with an Angle step of 10 in the 'Options' menu to get the proper results.

To show this with several examples, here's the HDI-1600 spin with 70 measurements:

HDI Full Spin.png


Here is the same measurement with just 11 angles:

HDI 30 Spin.png


Now the Q Acoustics 3030i full spin:
3030 Spin Full.png


And now with just 11 angles:

3030i Spin 11.png


Google Nest Audio full spin:
Nest Spin Full.png


Now with 11 angles:
Nest Spin 11.png


Now the JBL L82, which has an offset tweeter, requiring a few more measurements.

Full spin:
L82 Spin Full.png


The horizontal asymmetry forces us to need 14 measurements:

L82 Spin 14.png


Nearly identical still.

Of course, with something even simpler like the LS50 Meta, you could reduce the angles further. Full spin:
LS50M full spin.png


Just 8 measurements H(0, 30, 60, 90,180), V(30,60,90):

LS50M 8 spin.png


Virtually Identical again.

The worst correlation I found wa with the Polk L200, which appears to be because the extreme port design.
Full spin:

L200 Spin Full.png


With 11 angles:

L200 Spin 11.png


The L200 has its port flaring so that it is very loud at 90 degrees horizontal, so it makes an extra large contribution to the sound power here. So it is still worth measuring more angles.

Still, goes to show how far just a few measurements can go.
 
Last edited:

Thanks for that! Nice to see the direct effect. Most apparent to me is that the sound power and SPDI are, unsurprisingly, the most affected. But the PIR actually changes the least.

In practice, horizontal measurements aren't usually very hard to do if you have a turntable, so this is mostly good to know for vertical measurements.
 
A little bit off-topic, but I have the following question: I use a focusrite 2i2 which has adjustable mic gain. How can I get correct SPL measurements? Not strictly important for speaker frequency response, but if I want to monitor it's levels, I have to find out. Any explanation/link/... welcome.
 
An easy way is to use another device that is calibrated for SPL as part of the process, that can be a cheap SPL meter a smartphone app or if you have money to spend and want accuracy there are very accurate level calibrators. A UMIK is level calibrated and works as is with REW if you have one.

There is an explanation of the process in REW here
https://www.roomeqwizard.com/help/help_en-GB/html/inputcal.html

I do this with a cheap SPL meter and use a 1K tone at my measurement distance (All the noise weightings converge at 1K). Set the output level and mic gain to give the signal reading and headroom you need for the measurement (in case you want to measure a louder SPL without recalibrating) then tell REW what the reading is from the meter. There will be some fluctuation but the level should be accurate within a few db's.

Another way to do it is in the link below if you have the sensitivity figure for your microphone
https://johnr.hifizine.com/2013/03/room-eq-wizard-spl-calibration-without-an-slm/
 
6) Creating the Spinorama in VituixCAD

You don't need VituixCAD to create a spinorama, but it makes it a lot easier. VituixCAD creates a spinorama automatically upon importing the relevant data, and it can simulate the off-axis bass measurements we ignored in previous sections.

(Note: this guide was written with VCAD version 2.0.65.0)

First we need to export the data out of REW with the proper formating. If you ignored my suggestions in the previous section, you'll need to label your files as +/- horizontal and vertical angles. The VCAD default suffixes are 'hor' and 'ver' but we can change that; I prefer H and V because I'm lazy.

Order doesn't matter, just that they are labeled as positive and negative. VCAD will ignore duplicate angles (such as V0 and V180), so it's up to you whether you want to keep them in there or not. I delete them so I can just choose which duplicate I want to use.

I will also remind you that all your angles should use the same gate, or else the directivity information gets screwed up without some workarounds.

We begin by going to File>Export> Export all measurements as text. These are the settings I use:
  • Use range of measurement
  • Use resolution of measurement
  • Use custom smoothing: No smoothing (smoothing should be added at the end).
  • Use REW export format (recommended)
View attachment 123470

I recommend exporting these files into their own folder called 'Spin angles' or 'For VituixCAD' or whatever. Because this will export all the measurements in your REW session, I recommend deleting anything you do not strictly need to create the spin: the angles and the corrected nearfield bass response.

You can only export one measurement or all of them. I recommend deleting or moving these extraneous files after exporting to make your life easier, except for the corrected bass response we created earlier, which we will merge with VituixCAD.

Now we open up VituixCAD. Before we can do anything else, we'll need to go to the crossover tab, and link the amp and driver (just draw tap from one dot to the other). VituixCAD is a speaker simulation app, and we're basically asking it to imagine that all these measurements came from a single driver.

View attachment 123475

Next we're going to set up VituixCAD to format data the way we want it.

Click on the Options menu. When the window pops up, you want make sure all the settings are kosher for a proper spin. Here's what I'm using:
View attachment 123477

Simply pressing the "CTA-2034A" button should make it match the spin standard right away. But some things to note:
  • Set "plane keywords" to whatever you are labeling your files. I just use "h" to denote horizontal and "v" to denote vertical. The default is "hor" and "ver," so you'll want to switch that if you're using a different naming scheme. The CTA button won't affect this setting.
  • Make sure mirror missing angles is checked (it fills in missing horizontals on symmetrical speakers).
  • Make sure "Listening Window DI" is checked, as this is more common than on-axis DI for spinoramas.
  • Make sure the Power & DI section matches the above image. Although you can mess with the Angle Step setting if you'd like if you'd like -- VCAD will interpolate the results if you choose a different angle step.
  • I'm using 1000 mm listening distance because that's the distance I measure at. The spin standard is 2000 mm, but it shouldn't have a big impact on your results either way.
Now return to the "Drivers" tab of VCAD. Right-click on the "Power & DI" panel and select 'Traces.' Make sure all the Spinorama curves are selected (this is just for previewing the data, we can export it later). These are the standard ones we use, although lately

View attachment 123485

Now let's generate the spins. Although we already showed how to merge the nearfield and farfield respones in REW, we will do it again in VituixCAD to generate a complete spin.

Go to Tools> Merger, or press F4.

First, let's import the corrected bass response. Tap on the folder icon in the 'Low frequency part' section and open the bass file we just exported. On the bottom right of this section, make sure 'No baffle loss' is selected. By default it is set to spherical baffle loss, but we need to switch it as we have already corrected the bass in a more accurate way.

View attachment 123488

Let's import the farfield data next. Select the folder icon under the 'High Frequency' part of the window. Navigate to the folder where you've exported all your measurements. Select all the spinorama angles, and double check that nothing except for the angles are selected before you import.

Next we are going to scale down the bass response to line up with the high frequency measurements. First look through the high frequency measurements and click on H0 to preview the measurement. It should be checked as 'axial,' but if not, make sure it has a checkmark.

View attachment 123490

Then scale down the low frequency measurement until it lines up. You can simply tap on the 'Scale' text box and press your keyboard's down arrow until the two measurements line up, or enter the value manually.

Now in the 'Transition' box to the right, select where you want to merge the data. As noted earlier, somewhere between 200Hz and 800Hz, depending on how well the measurements line up. You may have to experiment with this to see what gets you the best results, as it may vary depending on your gate, but in practice, I usually select between 300 and 600 Hz.

Next to 'Blending,' select how smoothly you want to merge the measurements. I usually blend them across 1/2 an octave, though 1 octave works too.

In the "Output" segment at the bottom right, select "create merged responses" and "feed speaker". Select TXT as your file format. Then click Save on the bottom right.

Chose a place to save your merged frequency responses. I usually keep them in a subfolder for the speaker I'm measuring and call it 'V Merged'

If all goes well, VituixCAD should tell you it's done after a few seconds (it may also warn you that a duplicate direction wasn't loaded, which is fine). Return to the main window, and.... congratulations! You should now see an honest-to-goodness Spinorama in the 'Power & DI' section. You can double-click on this window to see a larger version.

View attachment 123510

Now you should save the project file. From here it's up to you how to present the data.

If you just want to use VCAD's spin and call it a day, you can right-click on the spin and select 'export image.'

If you want to change the colors, you can right-click on the image and select 'Traces,' then pick the colors from the 'Line Color' column. If you want to smooth the data, you can do that from the right side of the window where it says 'smoothing.

Personally, I prefer to deal with data presentation in REW. It makes the measurements prettier and makes it easier to present consistently.

To do so, make sure smoothing is disabled, then simply go to File>Export> CTA-2034-A data. Find a folder to keep the spin curves; I recommend making a separate folder as there will be 16 resultant curves. Set the file name to something reasonably short, since REW has short character limits.

Under 'Save as type' select '.txt.' This will create all the traditional spinorama curves, as well as the early reflections breakdown (ceiling, floor, side, rear, and front reflections), total horizontal and total vertical reflections, as well as horizontal and vertical ERDI DI.

Now navigate to the folder where you saved the files, and drag and drop them all into REW. Note: You will need to add an offset to the Directivity curves in order to make them visible next to your other measurements. You can use whatever value works, but I recommend a multiple of 5 (say 45 or 50 dB) so it lines up cleanly with REW's grids.

You can then of course change the colors to whatever you want them to be. If you want to make any of the curves dashed, say the predicted in room response, you can do that from the trace options menu.

Lastly, I consider consistent scaling to be extremely important. As noted earlier In REW, we can use the 'Capture' button in the All SPL window. Select 25/dB per decade as your aspect ratio to make sure your images are always at the right scaling. While VituixCAD also has the option to export an image at specific aspect ratios, for whatever reason, it doesn't seem to be consistent.

View attachment 123513

Some notes:
  • You can visualize directivity from the 'Directivity' window of VituixCAD. Right-click to see more directivity views, including polar maps and SPL plots; you can also opt to normalize the graphs or add contour 3dB lines to the polar maps
  • Sometimes the off-axis bass just doesn't look right for whatever reason. In these situations, I prefer to cut off the data below 200Hz. To do this, import the spin data into a new REW window, then select 'Export all measurements as text.' This time select 'use custom range' and cut off the data below 200Hz. Then re-import these truncated curves into REW, which you can present alongside the merged on-axis.
  • I like to apply 1/24 smoothing in REW.
  • You might want to rename the spin curves from VituixCAD's defaults, as many of them are rather long.
  • Dark mode looks cooler :)
And that's it! Hopefully this extremely long guide was helpful to get you on the way to creating a spinorama without having to buy a Klippel NFS or anechoic chamber. Good luck, and feel free to ask me any questions!

P.S. Apologies for any typos. I wrote a lot of words very fast.
An amazing resource! Thank you so very much for your time and considerable effort!
 
In that case you just need to get the microphone as close as possible to the port or even a bit inside it and use the eyeball it method. I've tested a few weird ports this way and it's worked out just fine.
I don't mean to sound dense (even if I'm being exceptionally successful at it :)), but I assume that the same applies to a port in the back of the speaker. Should I measure and add the port even if it's in he back and its effect on sound heavily depends (in "real life", I mean) on positioning?

And since in my case the baffle has rounded corners, but the port is in the back where the corners are square, how would that factor into the baffle simulator data?
 
Last edited:
I don't mean to sound dense (even if I'm being exceptionally successful at it :)), but I assume that the same applies to a port in the back of the speaker. Should I measure and add the port even if it's in he back and its effect on sound heavily depends (in "rea life", I mean) on positioning?

Yeah, port location doesn't matter all that much. Front, back, bottom, wherever; you should generally be able to get a 'close enough' sum this way. I prefer the rear ports anyway -- the sound is a bit more isolated from the woofer for the summation.
 
And since in my case the baffle has rounded corners, but the port is in the back where the corners are square, how would that factor into the baffle simulator data?
At port frequencies the cabinet would have to be very large to have any diffractive effect and the difference between rounded or square corners is insignificant for the same reason, that the wavelengths are too large to "see" the difference. Some pictures and information in the link below that might help understanding the principal.

https://www.css-audio.com/single-post/2018/09/14/understanding-baffle-step-and-diffraction
 
And since in my case the baffle has rounded corners, but the port is in the back where the corners are square, how would that factor into the baffle simulator data?

At port frequencies the cabinet would have to be very large to have any diffractive effect and the difference between rounded or square corners is insignificant for the same reason, that the wavelengths are too large to "see" the difference. Some pictures and information in the link below that might help understanding the principal.

https://www.css-audio.com/single-post/2018/09/14/understanding-baffle-step-and-diffraction

Sorry I'd missed that part of your post, but as fluid said, no big deal with getting it too precise. You could, for example, apply the difrraction simulator to the port and woofer separately and then add them, but I've not tested a speaker where it's had a major effect.
 
Sorry I'd missed that part of your post,
That was my fault, actually :(. I realized I left out a part of my question, and you had already replied to my question while I was editing it. Thanks to both you and @fluid for the extra details (and the link).

And thanks for the amazing tutorial you wrote here, it's really a lot of work and incredibly well done.
 
That was my fault, actually :(. I realized I left out a part of my question, and you had already replied to my question while I was editing it. Thanks to both you and @fluid for the extra details (and the link).

And thanks for the amazing tutorial you wrote here, it's really a lot of work and incredibly well done.

My pleasure!


One note I wanted to add in general about quasi anechoic measurements: it's always worth messing around with different mic and stand positions and the like. Sometimes it's hard to tell whether a small dip in the frequency response is part of the speaker or part of your setup. It's particularly difficult in the lower midrange where these types of measurements lack resolution.

While it may be hard to present this sort of investigation, it's hard to present this data, you can usually investigate a resonance by simply taking multiple measurements at different positions and distances. If you see that a peak is maintained at say, 600Hz regardless of the setup, then chances are it's inherent to the speaker's response.
 
Last edited:
To be honest, I wouldn’t put too much weight into bass measurements anyway. No matter what you likely need a sub and the room ultimately dominates the response no matter what.
 
Back
Top Bottom