I had a look at Autodesk Fusion 360 (which is readily available) and the "loft" feature seems promising. I've already prepared a script that imports splines generated by the tool as cross-sectional cuts along with some guide curves to be used with the loft command. Didn't try it all together yet but I hope that could work very well.

Great work Marcel! I've been struggling with ABEC for quite some time and this really helps!
I agree with previous commenters that a way to choose another shape for the wavefront would be great! I'm interested in both domes and inverted domes. Making a horn for the NSW1 or SB36WBAC would be really interesting IMHO.
/Anton
I agree with previous commenters that a way to choose another shape for the wavefront would be great! I'm interested in both domes and inverted domes. Making a horn for the NSW1 or SB36WBAC would be really interesting IMHO.
/Anton
Making a horn for the NSW1 or SB36WBAC would be really interesting IMHO.
The problem with making a CD waveguide for those small full range drivers is the abysmal hf sensitivity you will get, you'll be below 80dB/W/M at 10KHz. Sensitivity will be much better in the mid range, but will have to be padded down to match the top end.
Last edited:
Are you saying that the horn will reduce sensitivity at 10 kHz?The problem with making a CD waveguide for those small full range drivers is the abysmal hf sensitivity you will get, you'll be below 80dB/W/M at 10KHz. Sensitivity will be much better in the mid range, but will have to be padded down to match the top end.
I'm fine with a fairly low sensitivity, watts are cheap and most people don't play that loud anyway. A cheap speaker with constant directivity and without crossover in the frequency range where the ear is most sensitive sounds really interesting to me.
/Anton
At 10KHz the sensitivity will be about the same as a raw driver in a baffle. They are low power drivers, I'd be surprised if you were satisfied with their output.
I use OpenSCAD fairly often.
Are you able to to use Marcel's equations to generate STH waveguide?
Right, so no one should use them? I haven't tried any of them yet, but I'm not as sure as you are. The 2"-variants are also interesting, but I suspect that it will be more difficult to successfully make a waveguide for them.At 10KHz the sensitivity will be about the same as a raw driver in a baffle. They are low power drivers, I'd be surprised if you were satisfied with their output.
Music does not contain a lot of energy above 10 kHz AFAIK, and the ear should be very insensitive to (harmonic) distortion at 10 kHz. If the waveguide can lift the sensitivity between 0.5 and 10 kHz where distortion matters most, then the speaker should sound fine.
/Anton
Put the new equation into ABEC. Employing the circular symmetry (Dim=CircSym) seems not as numerically stable as the full 3D calculation (yet) but it takes just a few seconds to finish! Now this is a game changer 🙂
Attachments
A small glitch introduced...
(This way it will be very easy to define any drivnig shape at the throat - just draw a dome with a surround, for example, give the surround a lesser weight and you are all set.)
(This way it will be very easy to define any drivnig shape at the throat - just draw a dome with a surround, for example, give the surround a lesser weight and you are all set.)
Attachments
Last edited:
200 Hz - 20 kHz, 100 frequency points for every 5 degrees. About 10 seconds of computation. Round horns will be so easy to optimize...
Now it's time to leave the infinite baffle and go unbaffled. There the fun will begin.
Now it's time to leave the infinite baffle and go unbaffled. There the fun will begin.
Attachments
Are you able to to use Marcel's equations to generate STH waveguide?
It's pretty simple for axisymmetric profiles if you have an explicit function, like the equations that Marcel posted most recently:
Code:
function w(z) = ... ;
function profile_points() =
[for (i = [0:steps])
let(z = depth * i / steps)
[w(z), z]];
module plug_2d() {
polygon(concat([0, 0], profile_points(), [0, depth]));
}
w(z) is the waveguide function, depth is the total depth (L in Marcel's equation), and steps is the number of points to generate. You can do a rotate_extrude() on plug_2d() to get a 3d plug.
If you want a clothoid termination, it's a bit more complicated since you have to calculate the integrals. Unfortunately, I don't think it's possible (though I could be wrong) to match the curvature. To get around this limitation, I decided to write a python script to generate the points instead of doing it directly in OpenSCAD.
Here are the simulation results for two comparable waveguides. The first uses Marcel's new equation (post #250), and the second is an OS section joined to a clothoid (slope and curvature are matched). Params for the new equation are q=0.995; s=1; n=5. For the clothoid termination, the OS section is 34% of the total depth. The mouth radii are (roughly) the same and both data sets are normalized to 16°.
Attachments
ug, yous will get me back to active crossovers !!!!!!!!!!!
I'm thinking autotech spherical horn crossed at 1.2khz.
SPHERICAL-600 - Horns by Auto-Tech
129mm deep for 1.5" jbl drivers.
5" deep, that is 1/2 wavelength of 1350hz (for treble smoothness).
I'm thinking autotech spherical horn crossed at 1.2khz.
SPHERICAL-600 - Horns by Auto-Tech
129mm deep for 1.5" jbl drivers.
5" deep, that is 1/2 wavelength of 1350hz (for treble smoothness).
Last edited:
I don't follow, can you please explain?A small glitch introduced...
(This way it will be very easy to define any drivnig shape at the throat - just draw a dome with a surround, for example, give the surround a lesser weight and you are all set.)
/Anton
I meant that in an axisymmetric situation it is trivially easy to draw anything you wish with just a few lines. And for each line segment you can define a different contribution to the total acoustic output (i.e. its weight) - you should do that for the surround. In a 3D simulation you must allways generete the whole mesh. It's not that hard either, only much more demanding.
BTW, ABEC lets you define the direction of motion for each element - you can easily simulate a vibrating piston/dome or a pulsating spherical cap if you wished. By default the motion is normal to the boundary so for a dome tweeter you will have to change that to the axial direction for all its elements.
BTW, ABEC lets you define the direction of motion for each element - you can easily simulate a vibrating piston/dome or a pulsating spherical cap if you wished. By default the motion is normal to the boundary so for a dome tweeter you will have to change that to the axial direction for all its elements.
- Home
- Loudspeakers
- Multi-Way
- Acoustic Horn Design – The Easy Way (Ath4)