VituixCAD

...Each driver is measured at 1000 mm from center point of driver on baffle surface.

...and...

I have some questions related to positioning the microphone for far-field measurements (or which "convention" is implemented in Vituix)... when it comes to off-axis measurements (both vertical and horizontal), what is the Vituix convention...

So... for off-axis measurements of the individual drivers in a multiway loudspeaker, what is the Vituix convention for the location of the axes of rotation? For a loudspeaker with horizontally aligned drivers, I guess the axis of rotation for the horizontal off-axis meausurements would be the common x-axis center of all drivers. But what if the drivers are not horizontally aligned? What about the vertical off-axis measurements?

According to the above rule "Each driver is measured at 1000 mm from center point of driver on baffle surface", the axes of rotation (both horizontal and vertical) are at the individual x/y centres of the individual drivers (and z=0 on the baffle). At least that that's how I did my measurements for use with Vituix. Can somebody confirm this?
 
Documentation says:

• Elevation of mic is at the center point of driver under test i.e. mic and driver have the same Y-coordinate in mm. Turn speaker back/front if front baffle is tilted.
Exception: Mid and tweeter can be measured at common mic elevation = average Y of center points if drivers are small and close to each other, baffle is straight (non-stepped) and vertical plane is not measured i.e. drivers are circular and hor/ver difference in baffle diffraction is ignored on purpose.
• Rotation center on X-axis while off-axis measurement sequence is at the center point of driver under test.
• Rotation center on Z-axis while off-axis measurement sequence:
a) Rotation center on Z axis is common for all drivers if drivers are installed in straight non-stepped baffle. Rotation center is typically on surface of front baffle for the tweeter. Z=0 mm for all drivers in crossover simulation regardless of difference between baffle surface and acoustical center.
b) Rotation center on Z-axis varies with stepped baffle. Drivers on each baffle level has own rotation center on Z-axis. Distance from each baffle level to microphone must be constant (1000 mm). Differences on Z-axis are entered to the simulator as Z mm of the driver, e.g. tweeter Z=0 mm, mid range Z= 20 mm, woofer Z= 100 mm.

Each driver instance added in the crossover can be provided with location relative to “design origin”. Location is entered to Parameters grid. Design origin is typically perpendicular endpoint of listening axis on front baffle surface. X [mm] is horizontal coordinate of center point; negative to left and positive to right. Y [mm] is vertical coordinate; negative down and positive up. Z [mm] is horizontal distance coordinate; negative closer to mic and positive further from mic.
Horizontal rotation R [deg] or vertical inclination T [deg] of drivers is also supported, but angle should follow measured directions because VituixCAD does not interpolate frequency responses between off axis angles. Rotation R [deg] is positive to rightcounter-clockwise from top view, and inclination T [deg] is positive to up.
 
My suggestion was and still is to write it in a language and framework that works across ALL major platforms. My original offer was to do just that for you (what I do professionally) You will learn a tremendous amount by doing this and will become a much better programmer as a result.

Not sure what exactly you are talking about on the licensing because linux is basically royalty free (so is QT unless you are reselling it then you pay for support)

The good news is that this may just be the catalyst I need to develop such an application :)

I do appreciate you helping the community and out of respect for the work you have put in I wont be participating in this thread any longer. Good luck with the project.
 
Java is too darn slow. Why drive a yugo when you have a Ferrari ready to go. C++ ports to anything with ease and is the clear choice for any professional application. C# is a managed memory language and is slow and a memory hog. Dont even get me started on Microsoft's garbage collector. There is a reason that 99% of all large applications are still written in c++.

I guess I just prefer to talk directly to the metal

I found this a very theoretical type of argument.

There are programs that are many orders of magnitude bigger and more complex then VituixCAD and running very well and very smooth in Java.
So if that's a fact, I don't see why this can't?
 
Documentation says:
• Elevation of mic is at the center point of driver under test i.e. mic and driver have the same Y-coordinate in mm.
...
• Rotation center on X-axis while off-axis measurement sequence is at the center point of driver under test.

Alright, this seems to be consistent with how I did the horizontal off-axis measurements (see my previous post VituixCAD) -- but I am not sure I understand this correctly. Can you confirm?

What about vertical off-axis measurements? Same story with X and Y transposed?
 
(what I do professionally) You will learn a tremendous amount by doing this and will become a much better programmer as a result.

I've done programming few decades now - both professionally and hobby. Best days are probably over, but some learning might be possible. I have studied and tested some basic features of wxWidgets (3.1.2). Conversion looks possible, but I'd like to study new frameworks other/better than converting source package of 4.9 MB. Especially knowing that I won't need the result for my speaker projects.

Not sure what exactly you are talking about on the licensing

Cross-platform VituixCAD may not be freeware. Source stays here and I do what I do... :)
 
Alright, this seems to be consistent with how I did the horizontal off-axis measurements (see my previous post VituixCAD) -- but I am not sure I understand this correctly. Can you confirm?

What about vertical off-axis measurements? Same story with X and Y transposed?

See Rotation: Horizontal plane and Vertical plane images on page 3 in VituixCAD Measurement Preparations.pdf. That was drawn for those who have difficulties with my bad English. Is that drawing also bad or do you have old version in cache? Should be resision 2019-05-11.

Pretty sure those visual helpers was created/added especially for mbrennwa and claimed understood in past from post 813 up to 824 or more, so really kind of don't know why subject or the existence of a "VituixCAD Measurement Preparations.pdf" guide is brought up to surface lately :)
 
Kimmo has been extremely generous in sharing his wonderful software and in making modifications in response to requests. It feels like folks here are pushing the issue of him expanding it to other platforms. In my opinion, the question has been asked and now it is up to Kimmo to decide if he wants to do so. I strongly encourage people to now leave it to Kimmo and be thankful for what we have. No offense is meant here as I understand the enthusiasm to have this wonderful software run under various platforms, but please don't look a gift horse in the mouth either.
 
See Rotation: Horizontal plane and Vertical plane images on page 3 in VituixCAD Measurement Preparations.pdf. That was drawn for those who have difficulties with my bad English. Is that drawing also bad or do you have old version in cache? Should be resision 2019-05-11.

The drawing shows a one-way loudspeaker. It's quite obvious where to put the axes of rotation for this. My question is about multi-way loudspeakers.

PLEASE (sorry for insisting, but I want to be sure I am doing things the right way):
(1) Can you confirm my way of setting the axis of rotation for the horizontal off-axis measurements (as described in my previous post)?
(2) Do I set the axis of rotation for the vertical off-axis measurements in the same way as the with the horizontal measurements, just with X and Y transposed?

Thanks.
 
...and...



So... for off-axis measurements of the individual drivers in a multiway loudspeaker, what is the Vituix convention for the location of the axes of rotation? For a loudspeaker with horizontally aligned drivers, I guess the axis of rotation for the horizontal off-axis meausurements would be the common x-axis center of all drivers. But what if the drivers are not horizontally aligned? What about the vertical off-axis measurements?

According to the above rule "Each driver is measured at 1000 mm from center point of driver on baffle surface", the axes of rotation (both horizontal and vertical) are at the individual x/y centres of the individual drivers (and z=0 on the baffle). At least that that's how I did my measurements for use with Vituix. Can somebody confirm this?

Having been in a similar situation, and received several valuable tips from Kimmo, I might chip in, FWIW:

It seems that you are doing it correctly. Each driver should be treated as a "single way" and measured at 1000 mm (or other, constant, distance) on axis where X,Y and Z are all zero.

For a flat baffle and symmetrical layout, the mic distance is the same for all drivers, but the mic goes up/down (or the mic stays fixed but the box goes up/down) so that it is always at X,Y,Z zero. You measure horizontal 0 thru 180, and since it is symmetrical it can be mirrored for a full 360.

For a stepped baffle, for the stepped-back driver (usually the tweeter) the mic should be brought forward for the depth of the step, so that -again- all X,Y and Z are zero.

For an asymmetrical layout (like yours, with the mid and tweeter offset to the side) you move the mic for the mid and tweeter to the side (for X,Y and Z all zero) but have to measure full - 170 to +180 so that the 360 is realistic, you can't "mirror" it like in the symmetrical layout.

All your drivers are circular, so probably no need to measure vertical, it is supposedly the same as horizontal.
But if you want to you can (that's what I do) lay the speaker on the side and repeat measurements as above, as for horizontal - bcs it is much easier than rotating the box vertically.

Hope this helps a little - Kimmo is watching this so any misinfo will hopefully be waived.
 
One correction: If you really want to be accurate, assuming vertical measurements are the same as the horizontal due to the circular nature of the driver is not correct as you will get different baffle effects on the diffraction as you move the mic up and down in relation to the driver.
 
One correction: If you really want to be accurate, assuming vertical measurements are the same as the horizontal due to the circular nature of the driver is not correct as you will get different baffle effects on the diffraction as you move the mic up and down in relation to the driver.

From "Measurement preparations" page 5:

" Measurement of vertical plane can be skipped if the driver and possible wave guide/horn are circular i.e.
directivity in vertical plane is equal to horizontal plane. Skipping of vertical plane could cause small hump (<
1 dB) to power response at diffraction peak frequency if baffle height is longer than width. In that case sound
balancing should be weighted by axial response around diffraction peak frequency (wave length = baffle width)."

But I agree with you JMB.
 
Last edited:
The drawing shows a one-way loudspeaker.

No. Drawing shows the driver under test. At the moment I'm quite sure that you would insist 2nd drawing for tweeter measurement and 3rd drawing for mid-range measurement if those drawings would show typical 3-way speaker.

Text after the drawing says very clearly (imo):
* Elevation of mic is at the center point of driver under test i.e. mic and driver have the same Y-coordinate in mm.
* Rotation center on X-axis while off-axis measurement sequence is at the center point of driver under test.
* Rotation center on Z-axis is... ~on baffle surface of driver under test.

Those must be full-filled for all measured planes (horizontal, vertical and any diagonal) because off-axis sequences in different planes must have the same main axis and rotation center to have the same direction, timing and amplitude features in measurement data.

Secondary option is to measure all drivers with the same mic position and rotation center. But that becomes impossible in practice in vertical plane and short time windows because distance from mic to drivers far from rotation center varies so much that impulse flows out of time window at constant position (which is required to capture accurate timing/phase differences between drivers 0...180 deg off-axis).
Common mic elevation usually works in horizontal plane though cone resonances are not necessarily captured and time window for the lowest drivers have to be too short to be useful.
 
No. Drawing shows the driver under test.

The drawing shows a box with one driver. I would be surprised if I were the only one who would think of a one-way loudspeaker. I was lost with this drawing (and the description) because it does not convey how things work for multi-way loudspeakers.

Thanks to Draki and JMB for their comments, which cleared up things for me.

However, this leads to the next question... I would like to understand how Vituix calculates the response of the full loudspeaker system at a given point in space (the "listener position"). Since the individual driver response curves were recorded at discrete angles relative to their individual center points, Vituix needs to convert these response curves to the angles corresponding to the listener position. How does this work? Is this a "simple interpolation" between the angular response curves of the individual drivers?
 
Rev. 2.0.19.0 (2019-08-04)

Box volume tab in Auxiliary calculator:
* Back wall thickness separated from Side wall thickness.
* Added display of Inner Width, Height and Depth.
* Added internal volume loss due to vents: Diameter/Area, Inner Length and Number of vents. Units cm to be compatible with Enclosure tool.
* Added estimation of internal volume losses due to Drivers, Braces and Amplifier box in liters.
* Added graph with frequencies of internal axial modes by width, height and depth as well as open pipe resonances of vents.
 
how Vituix calculates the response of the full loudspeaker system at a given point in space (the "listener position").

This topic has been discussed earlier at least on htguide and probably here too. VCAD documentation does not explain - just recommends. Short single answer:

Program does not interpolate frequency responses. It calculates exit angle from each driver to simulated point in 3D space and selects the closest angle from off-axis response list. Then frequency response is compensated with driver's location given in XO schematic (relative to speaker's origin) and listening distance: magnitude response is scaled and phase response timed to simulated point in 3D space.

Error due to limited amount of measurements is close to zero if speaker is simulated to infinite distance or speaker is simple coaxial driver because only measured directions will be simulated. Practical methods to reduce possibility of error are measuring with 5 deg angle step (at least within listening window) and simulating to longish distance set in Options window. Variation of magnitude response within +/- 2.5 deg window (with 5 deg angle step) is small at typical XO range so 5 deg angle step is not mandatory, though recommended at least with horns and PA drivers to get valid power response and representative listening window average for automatic optimizer.

More serious fundamental issue is that measurements in horizontal and vertical planes only do not cover diagonal angles which are needed to get exact result with rectangular drivers rotated horizontally or tilted vertically or located significantly away from speaker's origin. So exact result to all directions in all individual cases is not possible with this method.

As mentioned few times earlier, VituixCAD user does not have to use methods developed especially for measurements in problematic (small & reflecting) home environment. Acoustic lab / anechoic chamber with measurement distance of 2.5-3 meters is needed. Then we could measure without short and limiting time windows and mic could be located in designed listening point and speaker could rotate around it's origin in both planes. In that case all drivers are set to X,Y,Z,R,T=0,0,0,0,0 in XO schematic to disable geometry compensations. But this house of cards will also collapse if location of drivers are adjustable and designer wants to simulate and optimize location of radiators.