VituixCAD

That is probable, but as I said, Olive's original equation 9 with slope-sensitive SM_PIR (calculated as PEARSON^2 or RSQ in Excel which prefers slope=-1) and slope-sensitive NBD_ON (which prefers slope=0) are able to detect totally wrong tilts so it's valid for evaluation of sound balance and coloration - at least compared to modifications where slope-sensitivity is totally removed from SM_PIR without adding SL_ON or/and SL_LW.
Yeah, I know.
I think optimization by the score could be a cunning approach but the slope dependency of the original equation is very very problematic.
And I personally do not like the concept because it's kind of a redeem of a bodge job, I mean, the only imaginable reason I need to use optimization by the score is the faulty directivity of my design.
I am an idealist, sort of, so I would take the only rightest approach I think, simply flat on-axis (or maybe slight tilt or roll-off, depending on the taste) and a proper directivity control, which would result in a nice PIR and more importantly good perception.
So I am not a big fan of optimization by the score but I hope optimization by the modified equation may be sufficient (depends on constants, obviously) and results in preferable sound for VituixCAD folks as well.

I hope he meant that PR is not inclusive enough for designing. Original PR with eq 9 is easy and quite adequate for fine tuning sound balance and coloration with XO parameters, but designer should ensure that overall balance and other properties such as linearity/compression, multi-source effects i.e. diffraction, total directivity, smoothness of directivity with acoustical design etc. are taken care of.
I think he might have been fed up as well with inappropriate use of PR by some PR fanboy.
 
slope dependency of the original equation is very very problematic.
I totally agree this though I tried to defense original equation 9 earlier. Effect of slope-dependence preferring slope=-1 is very low compared to effect of smoothness so optimizing for example active gain of tweeter with eq 9 can lead to quite bad overall sound balance - especially with near field monitors weighting ON and LW. That kinda proves that original equation 9 is not valid also for scoring. It just "happens" to give decent correlation in Olive's study, with selected speakers in selected listening environment and setup; distance, angle etc.
So I am not a big fan of optimization by the score but I hope optimization by the modified equation may be sufficient (depends on constants, obviously) and results in preferable sound for VituixCAD folks as well.
I optimize sound balance using custom equation with slope target for ON or LW and at least monitor slope of PIR to avoid too bright/harsh sound if optimized parameters affect to slope. The latest build has also target for PIR slope which could be the only slope target in some...many cases. This is very good method for fine tuning XO. Designer just need to know what are proper slopes for selected acoustical concept, target environment and typical listening setup.
 
If you don't fully comprehend the settings in Preference Ratings, are you insinuating to just leave it on the default settings (in v 2.0.88.4)?
i.e. don't use equation 9 or 10?

Is there any way (a link?) to learn/understand the Preference Ratings settings?
I understand the meaning of the acronyms, but am totally lost with the significance of each, and how to alter the settings.
As a newbie, would it be best to just leave them on your default settings?
 
I totally agree this though I tried to defense original equation 9 earlier. Effect of slope-dependence preferring slope=-1 is very low compared to effect of smoothness so optimizing for example active gain of tweeter with eq 9 can lead to quite bad overall sound balance - especially with near field monitors weighting ON and LW. That kinda proves that original equation 9 is not valid also for scoring. It just "happens" to give decent correlation in Olive's study, with selected speakers in selected listening environment and setup; distance, angle etc.

I optimize sound balance using custom equation with slope target for ON or LW and at least monitor slope of PIR to avoid too bright/harsh sound if optimized parameters affect to slope. The latest build has also target for PIR slope which could be the only slope target in some...many cases. This is very good method for fine tuning XO. Designer just need to know what are proper slopes for selected acoustical concept, target environment and typical listening setup.
If the basic design is fixed so the inherence of each driver on the loudspeaker can not be changed, score optimization (with optimized constants for individuals) must be a very strong tool.
Realist me likes the score optimization but idealist me rejects it and forced me back to the drawing board. ha-ha

For me, "proper slopes for selected acoustical concept, target environment and typical listening setup" (and preference of individuals), were the hardest part but bunch of measurements of products on the VituixCAD helped a lot.


By the way, can I ask how to add measurements such as "****_hor_deg15 ver_deg15.txt" (I mean horizontally 15deg and vertically 15deg )?
I know I can manually edit hor and ver in the Drivers tab so that I can get a more precise off-axis simulation but I could not find the right filename format for automatic recognition.

And I'd like to add 2.5deg step or 7.5deg step (some turntable has 7.5deg increment) measurements for convenience but I could not input decimal point.
Could I ask to add decimal point input?
 
Adding an extra decimal character to auto-generated filenames is a big step. Character recognition within the filename of real numbers (vs integers) can be a headache. It is not as easy as it sounds. When I managed an engineering software team, we struggled with this because our files were used across platforms, and Unix/Linux/Windows all handle thigs a bit different from each other. Backward compatibility was also an issue. Of course Kimmo is very clever and he may have some rabbit to pull out of his hat. :cool:
 
  • Like
Reactions: 1 user
If you don't fully comprehend the settings in Preference Ratings, are you insinuating to just leave it on the default settings (in v 2.0.88.4)?
i.e. don't use equation 9 or 10?

Is there any way (a link?) to learn/understand the Preference Ratings settings?
I understand the meaning of the acronyms, but am totally lost with the significance of each, and how to alter the settings.
As a newbie, would it be best to just leave them on your default settings?
Very difficult to give exact instructions due to wide variety of possible speaker concepts, listening environments and positioning, but here are few simple tips:

1. Do not optimize crossover or anything else in construction with equation 9 and 10. Use custom equation instead.

2. Decent weighting factors to start with:
1659682019077.png

This is quite universal and flexible for both near field monitors and longer listening distances, but not necessarily the best for all cases.

3. Increase weight of SM_PIR to 2 if typical listening distance is longer than near field.

4. Increase weight of SM_ON to 2 if listening distance is near field only.

5. Do not check SL_ON and weight too much SM_ON and NBD_ON if any of the drivers has bad on-axis response while LW and PIR are possible to get smooth. For example typical coaxial drivers (hifi and PA) have too bad on-axis for any optimizing with it. Keep SL_LW or SL_PIR or both checked, drop SM_ON and NBD_ON to half...zero to optimize smoothness with SM_LW, SM_ER and SM_SP alone. PIR contains LW 22%, ER 44% and SP 44% so you can increase weight of all three by increasing SM_PIR alone for example to 2...3.

6. Some concepts in some environments and with positioning may sound too bright and harsh with flat horizontal on-axis. For example speakers with strong directivity or line arrays at long distance. You can improve sound balance by optimizing LW slope=-0.5...-0.7... or PIR slope -1.5...-1.7...; making sure that on-axis tilts down enough.

7. Keep LFX and LFQ unchecked or set factors to zero or check 'With sub'. LF response cannot be optimized with typical passive XO, and active XO is best to optimize manually. LFX and LFQ and not very smart for optimizing.

After optimizing it's easy to peek PR also with equation 9, and test how result changes when some XO components or parameters are changed. Typically result gets worse right away.
 
Last edited:
  • Like
  • Thank You
Reactions: 6 users
Very difficult to give exact instructions due to wide variety of possible speaker concepts, listening environments and positioning, but here are few simple tips:

1. Do not optimize crossover or anything else in construction with equation 9 and 10. Use custom equation instead.

2. Decent weighting factors to start with:
View attachment 1078273
This is quite universal and flexible for both near field monitors and longer listening distances, but not necessarily the best for all cases.

3. Increase weight of SM_PIR to 2 if typical listening distance is longer than near field.

4. Increase weight of SM_ON to 2 if listening distance is near field only.

5. Do not check SL_ON and weight too much SM_ON and NBD_ON if any of the drivers has bad on-axis response while LW and PIR are possible to get smooth. For example typical coaxial drivers (hifi and PA) have too bad on-axis for any optimizing with it. Keep SL_LW or SL_PIR or both checked, drop SM_ON and NBD_ON to half...zero to optimize smoothness with SM_LW, SM_ER and SM_SP alone. PIR contains LW 22%, ER 44% and SP 44% so you can increase weight of all three by increasing SM_PIR alone for example to 2...3.

6. Some concepts in some environments and with positioning may sound too bright and harsh with flat horizontal on-axis. For example speakers with strong directivity or line arrays at long distance. You can improve sound balance by optimizing LW slope=-0.5...-0.7... or PIR slope -1.5...-1.7...; making sure that on-axis tilts down enough.

7. Keep LFX and LFQ unchecked or set factors to zero or check 'With sub'. LF response cannot be optimized with typical passive XO, and active XO is best to optimize manually. LFX and LFQ and not very smart for optimizing.

After optimizing it's easy to peek PR also with equation 9, and test how result changes when some XO components or parameters are changed. Typically result gets worse right away.
@kimmosto -That is absolutely awesome.

This is my first design using VituixCAD, and I am really struggling (especially with Preference Ratings).
You have designed a brilliant but very powerful program, and simple DIYers like myself, really struggle with some of the more complex, but very important features.
However, I think I speak for many of the DIYers, we are willing to persist with trying to understand as much of the program as possible, which hopefully, will enable us to produce quality crossover designs.
Thanks again for producing such a program, and thanks for the patience in continuing to provide seemly basic information to newbies like me. :love:
 
  • Like
Reactions: 1 user
If the basic design is fixed so the inherence of each driver on the loudspeaker can not be changed, score optimization (with optimized constants for individuals) must be a very strong tool.
Realist me likes the score optimization but idealist me rejects it and forced me back to the drawing board. ha-ha
Optimizing based on some math is balancing sound with less random subjective variation. Balancing with XO is needed no matter how good acoustic design is and how idealist, experienced and smart designer is in his own opinion. Every multi-way design has many possible combinations for XO parameters, and it's quite difficult to decide how to weight each response to 3D space and try to apply experiences to different speaker concepts. Using documented parameters is good method to control that task and use experiences for next projects in a controlled manner. In addition, quality and strength of directivity is not global fixed constant, and it's not enough to make excellent speaker. For example many DIYers think that Kef's coaxial speakers are something special because they have excellent directivity features. But actually those are just average and no problem to design better with worse directivity, vertical lobing etc.

I've known one local idealist for almost two decades. He planned speakers for many years. Endless discussion on forums and by e-mails, selecting the best concept, close to best drivers, flawless shape for the concept and so on. But sound was total crap in his room. Idealism and perfectionism limited to speaker alone is quite worthless without adequate experience and understanding what features in whole system make good sound reproduction.
 
  • Like
Reactions: 3 users
I've known one local idealist for almost two decades. He planned speakers for many years. Endless discussion on forums and by e-mails, selecting the best concept, close to best drivers, flawless shape for the concept and so on. But sound was total crap in his room. Idealism and perfectionism limited to speaker alone is quite worthless without adequate experience and understanding what features in whole system make good sound reproduction.
If you're serious about the quality of sound you want to hear, I believe you have to put as much work into your listening room as you do your speaker design.
Of course it goes without saying that the rest of the audio equipment must also match the quality of the speakers.
 
Good news for REW users - the next version of REW will include support for full dual channel measurement, not just a timing reference. I would expect it to be included in the next release 5.20.10.

View attachment 1076106
Great to have new features but as a novice it becomes a bit overwhelming.
It's a very powerful tool but you need to know how to use it properly.

I try to learn how it works and read many users comments/video's. Bits and pieces which are hard to glue together.

Also the manual isn't that easy to understand. I've read it many times. Need time to learn and understand the vocabulary etc...

Don't know if it is possible to have a video which explain things in detail. Always more easy to follow then reading texts.

Im particulary interested in :
- how to make proper REW measurements with LOOPBACK function (you find many with USB mic, but even then different approaches)
=> which settings you have to make in MEASUREMENT - ANALYSIS window
=> how to measure : on individual driver height or on listing height for all drivers
=> what with tilted speakers?

  • How to import measurements in VIRTUIXCAD Export FR or use the Convert IR to FR function
  • What do you fill in on Z-offset on driver screen
  • What do you fill in on X-Y-Z on crossover screen

From all the above you can find some information but even more contractions depending on who you talk to.
As a novice you try to swallow, digest all the information..till you don't know anymore what you have to do, to work properly with this magnificent tool.
 
I understand, with anything there are different approaches for different reasons, with different software, and differing opinions on what is the correct approach, and learning on the internet is not like a class with a textbook and progressive flow of information, instead you have to piece it together to from various sources.

I am willing to help you, as all of the topics you've listed above can be approached with the context of a loopback measurement system and the purpose of utilizing VituixCAD as the design tool. I am not a video producer however, but I can screen capture and record audio, so it's a possibility in the future given enough time and motivation. For now the best reference material is the Measurement guide for REW. With that document in mind:
  • Measurement process can be the same using loopback timing reference, or timing + cal. There can be an update to the document to detail the measurement jig arrangement to complete full dual channel measurement, similar to what is done with ARTA. Loopback for semi-dual measurement is as simple as running a patch cord from your audio interface output to input. Literally loop it back.
  • Meaure on-axis with each driver (at driver height), this is made clear in the measurement guide.
  • For tilted speakers, place them on a wedge to angle forward so the baffle appears flat (90 deg to the floor) to simplify the measurement process and easily maintain the same distance from mic to baffle for each driver.
  • The measurement guide for REW details to export the FR directly from REW. It is certainly possible to export the IR and process in VituixCAD, but its not a necessity as REW includes the features to process all spatial measurements in bulk.
  • When measured correctly using timing loopback, and IR processed with locked reference start time, all Z axis offset can be zero.
  • I would try to avoid using any delay or level adjustment in the driver tab, think of these features as band-aids to correct bad data.
  • In the crossover, x,y offset should be entered accordingly to the driver locations on the baffle, relative to the tweeter, so the tweeter is left at 0,0,0 coordinates.
  • Do not use a USB mic, single channel measurment is insufficient for spatial data.
 
  • Like
Reactions: 1 users
I understand, with anything there are different approaches for different reasons, with different software, and differing opinions on what is the correct approach, and learning on the internet is not like a class with a textbook and progressive flow of information, instead you have to piece it together to from various sources.

I am willing to help you, as all of the topics you've listed above can be approached with the context of a loopback measurement system and the purpose of utilizing VituixCAD as the design tool. I am not a video producer however, but I can screen capture and record audio, so it's a possibility in the future given enough time and motivation.
I'm absolutely aware that it takes a lot of effort and commitment to make a manual to document a product/process. (and keeping up with changes in screen/windows is a ....)
I don't know if it is possible to create some kind of wiki page where others can contribute and the owner has control over the content. Some people can maybe add some video or other stuff.....
I'm just brainstorming here....
For now the best reference material is the Measurement guide for REW. With that document in mind:
  • Measurement process can be the same using loopback timing reference, or timing + cal. There can be an update to the document to detail the measurement jig arrangement to complete full dual channel measurement, similar to what is done with ARTA. Loopback for semi-dual measurement is as simple as running a patch cord from your audio interface output to input. Literally loop it back.
No problem there to make the loopback setup.
  • Meaure on-axis with each driver (at driver height), this is made clear in the measurement guide.
It is clear in the manual but some people seem to measure at listing height for all drivers.
How you cope with off-axis. (do you measure each driver first on-axis and then start off-axis, or do you measure 1 driver on and off axis and then move to the next driver? ) One is difficult to find the same height of the microphone the other one has difficulty to find the exact same angle)
  • For tilted speakers, place them on a wedge to angle forward so the baffle appears flat (90 deg to the floor) to simplify the measurement process and easily maintain the same distance from mic to baffle for each driver.
Nothing special needs to be made in VirtuixCAd to make it "tilted" again? Adjust Z-offset on xo-window?
  • The measurement guide for REW details to export the FR directly from REW. It is certainly possible to export the IR and process in VituixCAD, but its not a necessity as REW includes the features to process all spatial measurements in bulk.
OK makes sense. Do you apply any smoothing to the measurement?
  • When measured correctly using timing loopback, and IR processed with locked reference start time, all Z axis offset can be zero.
Can you elaborate on this. Which setting you need to make in the different screens? I think mosyly in the measurement and preference/analysis window.
  • I would try to avoid using any delay or level adjustment in the driver tab, think of these features as band-aids to correct bad data.
  • In the crossover, x,y offset should be entered accordingly to the driver locations on the baffle, relative to the tweeter, so the tweeter is left at 0,0,0 coordinates.
  • Do not use a USB mic, single channel measurment is insufficient for spatial data.
Thanks for the information. It helps a lot. Like I mentioned there is much information out there with different approaches till you don't know anymore which combinations work and which doesn't.
I like to follow the approach as recommended by the designer.
 
I'm absolutely aware that it takes a lot of effort and commitment to make a manual to document a product/process. (a

It is clear in the manual but some people seem to measure at listing height for all drivers.

How you cope with off-axis. (do you measure each driver first on-axis and then start off-axis, or do you measure 1 driver on and off axis and then move to the next driver? ) One is difficult to find the same height of the microphone the other one has difficulty to find the exact same angle)

Nothing special needs to be made in VirtuixCAd to make it "tilted" again? Adjust Z-offset on xo-window?
The vituixcad geometric approach deals with all this.
The xyz coordinates of drivers deals with the tilt of the baffle , the driver tilt is an separate parameter you can set.
The LP is set in room setup and preferences.
All to add is for each driver its response measured at angles as described. Beginning (0 point) straight in front of driver at a given distance, usually 1m.

Draw a 3D like picture and it will be quite clear, including the xyz conventions.
Basically all points(drivers, LP) are in one orthogonal coordinate space.

As it results in many measurements files, naming and storing conventions are a great help.
 
Last edited:
It is clear in the manual but some people seem to measure at listing height for all drivers.
Lots of people do, and they'll only have good data at mic distance and single axis, and is the only way to determine any acoustic offset using a USB mic. We're using VituixCAD here with full spatial data, not Xsim, so just forget about measuring any woofer at the tweeter axis, it's incorrect for this purpose.
How you cope with off-axis. (do you measure each driver first on-axis and then start off-axis, or do you measure 1 driver on and off axis and then move to the next driver? ) One is difficult to find the same height of the microphone the other one has difficulty to find the exact same angle)
Minimal relocation of mic is ideal, so measure each driver fully before moving on to the next. Be careful when moving the mic to ensure the same distance mic to baffle is maintained. Error in mic distance between driver measurements means an error in the captured acoustic delays (z axis differences).
Nothing special needs to be made in VirtuixCAd to make it "tilted" again? Adjust Z-offset on xo-window?
Yes, my description was for simple measurement method only, so you can generate full spatial data at the correct axis and rotation. Once you bring the data into vituixcad, adjust the tilt of the driver accordingly in the crossover, as well in this case you will enter a Z axis offset that is equal to the physical z axis difference based on the slope of the baffle and driver separation.
OK makes sense. Do you apply any smoothing to the measurement?
I usually avoid smoothing of the measured data, it is easily smoothed on the fly when you bring it into VituixCAD, in the driver tab, which makes for the ability to make live adjustments to smoothing, where if you smooth the measured data directly you are stuck with that level of smoothing.
Can you elaborate on this. Which setting you need to make in the different screens? I think mosyly in the measurement and preference/analysis window.
Follow the instructions in the measurement guide. Page 9 of the measurement guide for REW details windowing settings for export of data. Following this instruction you will achieve success. There are a few things to note, but will mostly be done automatically if you simply follow all the settings outlined in the document. The window reference time should be at or near the peak of the impulse, and must remain in the same location for all measurements, for all drivers. This ensures that all measurements have captured phase that includes any acoustic delays, so z axis offset can remain at 0 provided that mic distance is the same for all measurements, all drivers. If you follow the instructions, you will enter a timing offset equal to the distance from mic to baffle so the reference start time of t=0 will already be at the impulse start.
You will see that the location of the impulse will move around a bit from measurement to measurement at various angles. The left window will ensure that even if the window start is in front of the impulse, the frequency response is still accurately captures, you will simply have some negative phase in the measurement.

Thanks for the information. It helps a lot. Like I mentioned there is much information out there with different approaches till you don't know anymore which combinations work and which doesn't.
I like to follow the approach as recommended by the designer.
 
I think you have to be careful with the phrasing used regarding the co-ordinates.
If you are taking horizontal measurements while rotating the speaker (say on a turntable), then you are rotating about the Y axis, but taking measurements on the X plane.
If you tilt the speaker forward and backward, you are rotating about the X axis, and taking measurements on the Y plane.