Automatic crossover designing with XMachina

New version of XMachina: 1211103

Another update. LINK.
  • Significant improvement (speedup) of power response calculation.
  • Charts for system off-axis response.
  • New options in the chart legend context menu of the analyser window.

hor_vert_oofaxis.jpg


hor_vert_oofaxis.png
 
Last edited:
I've finished the development of a two-way speaker a few months ago. It is equipped with a Monacor SP-10A/302PA and a B&C DE250 on a P.Audio PH-230. I've made the measurements with REW, they were gated to keep out room influences, and merged with bafflestep corrected nearfield measurements of port and woofer. The measurements were made semi-two-channel.

I've developed the crossover with VituixCAD. This is the result, which has already been confirmed with further measurements:

The crossover....:
Weiche ich.png


....and the VituixCAD-Sixpack:
6pack ich.png


Yesterday I tried XMachina for the first time. I hardly changed anything in the options, I just limited the frequency range from 200 to 17000 Hz. I fed XMachina with the same measurements that I used for the development in VituixCAD. Here is the result:

The crossover.....:


Weiche XMachina.png


....and the VituixCAD-Sixpack:
6pack XMachina.png


You can see that the crossover that XMachina generated is much more complex than mine. XMachina also handled things I hadn't touched, like the peak around 18 kHz or the bass reflex bumps in the impedance response.

I think XMachina could be a useful tool if I just make more use with the various options. But I guess I can't be more precise until I've used it more.

Many greetings,
Azrael
 
"You can see that the crossover that XMachina generated is much more complex than mine.(...)"
You can play with the "simple/complex" slider moving it a bit to the position of focusing on circuit reduction. Give it more time to "think", for example tell it to deliver 3 solutions overnight. Just a suggestion.

One more note, if you want to test more options it could be useful to clone several copies of the task, modify them, and start designs in parallel using several instances of XMachina working on the same file.
 
I would just like to thank you for this little (gold) nugget that is your software. Strangely*, this one taught me more things about pasive filters in a few minutes than long readings of forums or books. Basically, the path counts more than the end and this is the path that was the most enriching for me in this regard.

Well done Sir !

(*I said "strangely" because the goal, a priori, of this software is precisely to provide a ready-made solution to those who do not necessarily have experience of this subject. While, through transversal reading, it gives a new perspective on the understanding of it.)
 
Last edited:
Member
Joined 2018
Paid Member
Hello,

I am setting up a dedicated speaker measurement area in my basement and am looking for advice on a new computer to use just for measuring.

My main desktop that I have been using for several years is an Intel i7-3770 CPU @3.40 Ghz with 16GB RAM with Win 7.0 64 bit.

Without breaking the bank, what CPU and RAM would you suggest for fast operation of XMachina?

Presently, I find XMachina very slow running on my current system.

I am assuming I will have to go with Windows 10 or 11.

Thank you,

David.
 
How a given system is doing with XMachina can be judged by the T0 indicator.

T0.jpg


The shorter T0 time, the better. For the two systems I have in hand, the results are as follows:

T0=2.93ms for i7-2670QM CPU @2.20 GHz
T0=2.68ms for i5-5300U CPU @2.30 GHz
(T0 may vary for different tasks, so compare them only for identical tasks.)

Interestingly, the system with i5 processor can handle calculations better than the one with i7. This may be because the i5 is a newer generation processor in this case, with a slightly higher base clock speed. And for my i7 system, I'm not sure there aren't any power management issues involved.

Regarding speeding up workflow with XMachina, I would consider parallel processing. Working on a crossover design there are usually several options in the input data to check (crossover frequencies, filter slopes, ... ) and this can be done at the same time. It only requires a multi-core CPU (which is common these days) and several instances of XMachina working in parallel.
 
Last edited:
Hello, I'm a novice to be sure, but I get the feeling XMachina is quite mindblowing in its perfectionist capabilities!

My first feedback, though, is similar to earlier posts where some of the crossover schematics drawn out are extremely hard to translate to conventional software like PCD/XSim's/Vituixcad's crossover design blocks.

In particular, XMachina seems to employ a lot of paralleled capacitors that span multiple coils, as well as unusual single extra coils and resistors; even with the "circuit simplicity" slider set to 100%.

Is there a way to set it to 1000% :) ? Or rather, is there a way to change how schematics are drawn so that they are easier to translate to conventional circuit layouts?

Thanks!
 
In particular, XMachina seems to employ a lot of paralleled capacitors that span multiple coils, as well as unusual single extra coils and resistors; even with the "circuit simplicity" slider set to 100%.
This behavior usually means that some settings (targets) cannot be achieved in one circuit.
Most common cases:
-target impedance is set to 8 ohms but the drivers are 4 ohms.
-system SPL target curve is above driver SPL in its working range.
-crosspoint frequency does not correspond to value ranges of components.

There may be many more reasons for this and unfortunately they could be less obvious. And there is no tool in XMachina that can check input data consistency and display appropriate warnings before the circuits synthesis.

If such situation occurs one method is to start with the simplest and least demanding settings, then add them step by step and observe at which step the problems arise. Each step of course require another machine run to synthesize the circuits.

You can also attach your input data here* so I could take a look and try investigate what's stopping XMachina from convergence.
(*or send it to xmachina.ai@gmail.com)
 
Thanks for the help @xmechnik, this should help me understand what I'm doing wrong.

OK I created a simple project for a 2-way using 5" Dayton midwoofer and 1" Dayton dome tweeter.
  • using v1211210 of XMachina on Windows 10
  • caps, coils, and resistors auto generated using default settings
  • loaded Dayton FRD 0 degree files and ZMA files from parts express website (didn't use setup options to load)
  • target dbspl, I was not clear how to use the "follow the woofer tool" and why it is set to stop at 200hz
  • so I just clicked a manual straight line at 85db from 100hz to 10,000hz
  • crosspoints - added a 12db/oct highpass and a 12db/oct lowpass at 2,000hz
  • created a design task for a 2-way using the above spl target
  • left most options at default except "design band" set from 100hz to 10,000hz
  • "reduce number of parts" checked
  • target compliance = 90%, circuit simplicity = 10%
  • design time = 1 crossover at 1 minute
  • way1 = woofer, highpass = none, way node = woofer (not sure what this does), low pass = 2,000hz 12db/oct
  • way2 = tweeter, lowpass = none, way node = tweeter, high pass = 2,000hz 12db/oct
  • using generated components list
  • files attached below including the XMachina project file "dayton_test" (renamed as a text file)
This is the circuit it designed - it's a bit strange to my eyes. Am I doing something wrong in setup? Thanks!

circuit1.png
 

Attachments

  • DC28FS-8@0.frd
    5.7 KB · Views: 66
  • DC28FS-8.zma
    11.2 KB · Views: 69
  • DS135-8.zma
    11.4 KB · Views: 65
  • DS135-8@0.frd
    9.1 KB · Views: 66
  • dayton_test.txt
    161.9 KB · Views: 71
Last edited:
As it turns out system SPL target curve is above driver SPL in some places
targetAbove.png

It can be corrected this way:
target corrected.png

or this way:
target corrected2.png

After the corrections XMachiana starts to respond better to the "target compliance vs simple circuit" slider setting, for example if it's set to 90% then the result can be like this:
result.png

It should be taken into account that electrical filter slope adds to driver slope, so in case of the tweeter a single cap is enough to comply with the 12dB/oct setting. To get 12dB/oct electrical, the slopes in the crosspoint setting should be increased.
I'd recommend to use longer design time than 1min even for experimenting and testing.
(Maybe i'll put some more remarks later...)
 
Sincere gratitude for this thought-provoking and easy-to-use software! Found it when the thread bubbled-up again the last couple days, finally loaded it today and it's just beyond words for those of us who are old and thought we'd never see such a day in our lives. What's crazy is that the interface is so fast even in Wine on a feeble machine! Wonderful stuff.

Upon first impression, one thing I wonder about is if it is possible to (?) preserve efficiency or minimize series R for one Way. I suppose exercising great care in the target would have that built-in so maybe a non-issue. THANK YOU!!!
 
Upon first impression, one thing I wonder about is if it is possible to (?) preserve efficiency or minimize series R for one Way. I suppose exercising great care in the target would have that built-in so maybe a non-issue.
Just to make it clear, it's impossible to get rid of colored resistance in series with coil as it is inductor's ESR representation. When it comes to separate resistors sometimes appearing in series with a coil in the design, there are methods to avoid it. But since the topic appears again, I will consider adding a dedicated feature that prevents connecting the coils in series with resistors in some parts of the circuits.
For now, it remains to deal with workarounds (like discussed here).
 
  • Like
Reactions: 1 user
Member
Joined 2018
Paid Member
Move the "resp wgh. (sys SPL vs. pwr resp.)" slider to a position that sets power resp. weight to a non-zero value (1..100), The slider is not deactivated.

I will try that when I get home tonight.

Now for angles, I measured vertical -180 to +180 in 10 degree increments,

But for horizontal I only measured 0 to +180 in 10 degree increments, does Xmachina mirror missing angles like VCad?

Thank you,

David.