VituixCAD

Ideal vs. excess group delay seen in some speakers. The most lame and thin sounding industry has greated.
This is great, thank you very much for the post and the graphs! Particularly the step response graph illustrates the difference between hammer blow / lame quite nicely. Time to learn about the ETC graph, perhaps it is even more meaningful of the two. This helps immensely, exactly the kind of info I was hoping.

Here is an example of my diy 4-way speaker with all-LR4 vs. all-LR2 crossovers
Also, thank you for the graphs!
 
Last edited:
I can try to do that. It requires detecting possible HP slope of result G(f) right above freq. range low limit, and using that slope below freq. range low limit down to 5 Hz. It's just imitating magnitude slope - not HBT.
Yes, that was the suggestion. I didn't mean to suggest to use HBT instead of what you already have in place, only to provide the ability to generate sloped "tails" to the response.

On the topic of HBT, I'm just thinking about the workflow in Bodzio UE. That software would have you complete measurements and merge as you normally would, then apply HBT to the entire response which can remove that noise floor from the measurement. In UE this HBT process is also being used to correct the phase in the near/far merging process, as it doesn't complete the same delay calculations as VituixCAD for phase alignment of the nearfield response.

In any case, with HBT applied to the driver response (and delay corrected), the TF process in VituixCAD would apply a filter closer to what one would expect, as long as phase is not too damaged in the HBT process.
 
One option would be continuing down to 5 Hz with fixed 12 dB/oct slope if target has HP. That is simple to do and prevents increasing of excursion, but nothing more. Slope imitation could produce close to same result with freezing if system tries to correct excessive response drop by boosting right above freq. range low limit. Excursion would increase at LF. Smartest option might be imitating, but minimum 12 dB/oct if target has HP. I will test...
 
Time to learn about the ETC graph, perhaps it is even more meaningful of the two.
Excess group delay graph is much easiest to understand than step or ETC. Also timing requires some design target. Experience does not help much because whole thing is very difficult to test. If timing and dynamics is valuable or interesting, the best move is to do almost everything possible to drop excess GD below 2 ms...close to 0 ms above 100 Hz. Very easy with 2-way and DIY scene because many limits can be ignored. Some enclosure types such as vented with rear port have extra delay, but closed and dipole usually not.

One extra advantage and difficulty with ETC is that it also shows diffraction, reflections and noise so ETC could be poor & shallow though delay due to XO is very short. Referring to our previous discussion about diffraction. Diffraction is more significant than just on-axis response problem. It can damage also timing and sound stage.
 
  • Like
Reactions: 1 user
I have not yet invented good logic for selecting between fixed gain and extrapolation outside equalized frequency range so I added two checkboxes:
  • Free LF is "Constant gain below frequency range low limit"
  • Free HF is "Constant gain above frequency range high limit"
Unchecking extrapolates with simple standard routine.
Phase response of TF is always extrapolated outside equalized range. Minimum phase and excess delay are not maintained exactly.
1644179330001.png

This build is for testing so revision is still the same 2.0.83.1 requiring manual download and installation.
 
Well the top left is the acoustic response, and the right middle is the electrical response. Both are "correct" in some context of crossover frequency depending on what you are talking about, but for most cases when speaking of the crossover frequency of a speaker, we are speaking of the acoustic result.
I see. Interesting. Thanks for the quick response.
 
I have not yet invented good logic for selecting between fixed gain and extrapolation outside equalized frequency range so I added two checkboxes:
  • Free LF is "Constant gain below frequency range low limit"
  • Free HF is "Constant gain above frequency range high limit"
Unchecking extrapolates with simple standard routine.
Phase response of TF is always extrapolated outside equalized range. Minimum phase and excess delay are not maintained exactly.
View attachment 1022676
This build is for testing so revision is still the same 2.0.83.1 requiring manual download and installation.
Just tried it out and it seems to work wonderfully. Thanks!
 
so another quick one.... when designing my MTM center channel, should i be using

1. two drivers in the "drivers" tab and creating a second instance of the second woofer in the crossover design
or
2. three drivers in the "drivers" tab with the woofer being duplicated?
Unless the baffle around one M is significantly different than the other M, you can generally get away with measuring only one driver, then use 2 instances of the driver in the crossover to build the MTM arrangement. Two different drivers in the drivers tab is only necessary if you have a different measurement set for each driver.
 
Unless the baffle around one M is significantly different than the other M, you can generally get away with measuring only one driver, then use 2 instances of the driver in the crossover to build the MTM arrangement. Two different drivers in the drivers tab is only necessary if you have a different measurement set for each driver.
so i assume since the one M is a mirror of the other M, flanking the tweeter, which is offset above the axis dead center, this means i can just use two of these drivers in the crossover tab?
 

2.0.83.2 (2022-02-07)

Main, Optimizer
  • Export TF button moved outside Textbook target group to enable export with target file.
  • Added Free LF checkbox. Check to export TF with constant gain below frequency range low limit. Uncheck to extrapolate gain below low limit.
  • Added Free HF checkbox. Check to export TF with constant gain above frequency range high limit. Uncheck to extrapolate gain above high limit.
 

2.0.83.2 (2022-02-07)

Main, Optimizer
  • Export TF button moved outside Textbook target group to enable export with target file.
  • Added Free LF checkbox. Check to export TF with constant gain below frequency range low limit. Uncheck to extrapolate gain below low limit.
  • Added Free HF checkbox. Check to export TF with constant gain above frequency range high limit. Uncheck to extrapolate gain above high limit.
This is great, now we can define all sorts of crazy targets and generate a perfect transfer function!
 

2.0.83.2 (2022-02-07)

Main, Optimizer
  • Export TF button moved outside Textbook target group to enable export with target file.
  • Added Free LF checkbox. Check to export TF with constant gain below frequency range low limit. Uncheck to extrapolate gain below low limit.
  • Added Free HF checkbox. Check to export TF with constant gain above frequency range high limit. Uncheck to extrapolate gain above high limit.
This is powerful. Borderline dangerous :)
 
Hi all from Czech Republic!
I'm very pleased with your software Kimmo. (y)

I was thinking while working in VituixCad - is it possible to add scroll buttons up and down (see appendix) to switch between polars? If I understand correctly, now I need to type the required polar response (reference angle) in the "SPL_Ref angle" window? But is there any way to make it faster than write it down (I think click is faster)? I apologize for my own stupidity, if there's any trick for it and I don't know it. :giggle:
 

Attachments

  • Polars_switches.png
    Polars_switches.png
    12.1 KB · Views: 57
Hi all from Czech Republic!
I'm very pleased with your software Kimmo. (y)

I was thinking while working in VituixCad - is it possible to add scroll buttons up and down (see appendix) to switch between polars? If I understand correctly, now I need to type the required polar response (reference angle) in the "SPL_Ref angle" window? But is there any way to make it faster than write it down (I think click is faster)? I apologize for my own stupidity, if there's any trick for it and I don't know it. :giggle:
You can scroll. Hover over the numerical ref angle box and scroll....
 
  • Like
Reactions: 1 user
Mouse wheel is the most common method for adjusting values, traces and graph scales. Shift, Ctrl and Shift+Ctrl keys provide extension to mouse wheeling command. For example:
  • Mouse wheel is tuning value in a text box, Y-axis maximum, distance of Surface chart and selecting angle cursor of Waterfall
  • Shift+mouse wheel is fine tuning value in a text box
  • Ctrl+mouse wheel adjusts Y-axis span of Line chart, and depth of Waterfall and Surface charts
  • Shift+mouse wheel adjusts scaling of chart overlay
  • Ctrl+Shift+mouse wheel is fine scaling of chart overlay

So testing all four options reveals possibilities without keyboard.
 
  • Like
Reactions: 2 users
Oh yeah, spinorama is all we need to know - no matter what ever happens above 85 dBSPL, what kind of acoustics, how speakers are positioned, how far listened, 100% THD or 100% IMD is also okay, terrible resonances <100 and >16k are just fine, shotgun soundstage created by terrible diffraction is perfect, bass may arrive half a day after HF etc. Long live ASR! :D
Another annoying aspect of the Amir speaker reviews on ASR is that he uses the term "directivity error" to describe any DI shape that is other than a straight line that gently rises. His reviews often emphasize DI performance over all the other performance aspects (as you pointed out). The research of Toole and Olive, as well as any subsequent research, showed only that large peaks/dips in DI were correlated with lower preference among listeners... and small peaks/dips correlated with a higher preference. It was a rough correlation in the data, not a high correlation.

It would be analogous to deciding that the ideal bass rolloff is -3 dB at 32 Hz, and -10 dB at 20 Hz... and then describing a speakers bass response as a "bass error" if it did not follow that ideal.
 
  • Like
Reactions: 1 user