Yeah, but that's a common issue and I strongly recommend not to use spaces in file/dir names. You can spare yourself a lot of trouble, not only in Ath.I had this issue with spaces in paths before. It took a while to figure out that you can use quotation marks around the path to circumvent that.
Just a friendly reminder for users of ATH as written on http://at-horns.eu/
Ath is a freeware project for personal non-commercial use. If you find Ath useful, please consider donating to the project.
Donations can be made via PayPal.
Hi Marcel! very interesting project! I understand that there are probably budgetary restrictions in its implementation, but have you considered the option with 18 inch Acoustic Elegance? https://aespeakers.com/shop/dipole/dipole18/- Looking around for an 18" woofer for my next speakers (to about 500 Hz). Is there a reason why not to choose one from the SB Audience line of subwoofers - https://www.sbaudience.com/index.php/products/subwoofers/ ?
View attachment 1126237 View attachment 1126239
(I have just realized that a 21" would still fit...)
There really shouldn't be "%f" in the gnuplot path, which is obviously causing the trouble. Here's an example of ath.cfg:
OutputRootDir = "D:\Horns"
MeshCmd = "D:\gmsh-4.6.0-Windows64\gmsh.exe %f -"
GnuplotPath = "C:\Program Files\gnuplot\bin\gnuplot"
View attachment 1171224
Thanks! The "%f" behind the gnuplot path must be a remnant of earlier trial and error to get Ath to run. I feel sheepish again 🐑.
Hello Marcel, thank you for this horn code! sorry for my question, which is probably stupid, but I can't understand: am I doing something wrong, or for this horn/geometry type the rear shape function not available (as well as a rollback)? I've tried to make to check in AKABAK later little bit bigger free standing horn for the 2 inch CD. But I can't. May I ask you to have a glance please?Here's a two-boards design I can share
(Not optimized in any way, it's just a quick try to see what it does.)
648 x 295 x 360 mm, 1.4" throat
View attachment 1094054
H, V, Throat impedance:
View attachment 1094055 View attachment 1094057 View attachment 1094058
Code:; DS8N / Ath 4.9 HornGeometry = 2 Length = 240 Throat.Diameter = 36 Throat.Angle = 0 Horn.Adapter = { L = 120 k = 4 Width = 120 Height = 42 SC = 0 Segments = 10 ZMap = 0.5,0.4,0.5,0.5 } Horn.Part:1 = { L = 1 Segments = 16 H = { r0 = 50 a0 = 30 k = 4 s = 0.78 a = 34 n = 4 q = 0.994222 } V = { r0 = 30 a0 = 5 k = 4 a = 23 s = 0.5 n = 4.0 q = 0.994222 } ZMap = 0.5,0.3,0.5,0.9 } Mesh.AngularSegments = 64 Mesh.ThroatResolution = 5 Mesh.MouthResolution = 14 Mesh.InterfaceResolution = 6 Mesh.RearResolution = 25 Mesh.SubdomainSlices = -2 Mesh.InterfaceOffset = 0 Mesh.WallThickness = 10 Mesh.ZMapElementSize = 0.3,0.6,0.5,0.95 ABEC.SimType = 2 ABEC.f1 = 200 ; [Hz] ABEC.f2 = 15000 ; [Hz] ABEC.NumFrequencies = 40 ABEC.MeshFrequency = 1000 ; [Hz] ABEC.Polars:SPL_H = { MapAngleRange = 0,180,37 Distance = 2 } ABEC.Polars:SPL_V = { MapAngleRange = 0,180,37 Distance = 2 Inclination = 90 } Report = { Title = "DS8N - H" PolarData = SPL_H NormAngle = 0 Width = 1400 Height = 800 } Output.STL = 1 Output.ABECProject = 1
Thank you in advance!
HornGeometry = 2
Length = 260
Throat.Diameter = 50.7
Throat.Angle = 0
Horn.Adapter = {
L = 120
k = 4
Width = 120
Height = 65
SC = 0
Segments = 10
ZMap = 0.5,0.4,0.5,0.5
}
Horn.Part:1 = {
L = 1
Segments = 16
H = {
r0 = 50
a0 = 30
k = 4
s = 0.78
a = 34
n = 4
q = 0.994222
}
V = {
r0 = 30
a0 = 5
k = 4
a = 23
s = 0.5
n = 4.0
q = 0.994222
}
ZMap = 0.5,0.3,0.5,0.9
}
Mesh.AngularSegments = 64
Mesh.ThroatResolution = 5
Mesh.MouthResolution = 14
Mesh.InterfaceResolution = 6
Mesh.RearShape = 1
Mesh.RearResolution = 5
Mesh.WallThikness = 10
Mesh.InterfaceOffset = 5
Mesh.ZMapElementSize = 0.3,0.6,0.5,0.95
; Rollback = 1
; Rollback.StartAt = 0.95
; Rollback.Angle = 150
ABEC.SimType = 2
ABEC.f1 = 200 ; [Hz]
ABEC.f2 = 20000 ; [Hz]
ABEC.NumFrequencies = 40
ABEC.MeshFrequency = 1000 ; [Hz]
ABEC.Polars:SPL_H = {
MapAngleRange = 0,180,37
Distance = 2
}
ABEC.Polars:SPL_V = {
MapAngleRange = 0,180,37
Distance = 2
Inclination = 90
}
Report = {
Title = "DS8N - H"
PolarData = SPL_H
NormAngle = 0
Width = 1400
Height = 800
}
Output.STL = 1
Output.ABECProject = 1
Last edited:
For a rollback in this case, what you can do is instead of defining separate "H" and "V" OSSE profiles, define a single "D" (diagonal) profile as R-OSSE, e.g.:I've tried to make to check in AKABAK later little bit bigger free standing horn for the 2 inch CD. But I can't. May I ask you to have a glance please?
Code:
D = {
R = 150
r0 = 25
a0 = 5
a = 35
r = 0.35
b = 0.15
m = 0.8
q = 4.4
Inclination = 20 ; [deg]
}
Note the Inclination item which sets the angle of the diagonal (when looking at the mouth from the front).
The old Rollback feature was removed from Ath altogether in the latest releases.
- You can simulate (and use) such horn as free-standing even without a rollback, though. It won't be as good but still pretty usable, IMHO, due to the asymmetry.
Last edited:
In fact I continue working on a discrete-segment implementation (e.g. an octagonal main body part, with a circle-to-polygon throat adapter), as it seemed from the initial simulations that it actually can have a slight edge over a round shape, due to the (moderate) reduction of symmetry (a round R-OSSE can be already very good, no doubt about that). I'm pretty curious how that turns out. Even big horns would be relatively easy to make using that technique (and there were some implementations shown already, I think maravedis made them).
Rectangular horns being a special case (4-sided polygons), but not as good in general, as the "reduction of symmetry" is already too noticeable.
Rectangular horns being a special case (4-sided polygons), but not as good in general, as the "reduction of symmetry" is already too noticeable.
Last edited:
Thank you for this explication Marcel! for the rollback it's clear now, but as you can see in the code it was deactivated, the key issue was a rear mesh, is that feature has been also removed? :For a rollback in this case, what you can do is instead of defining separate "H" and "V" OSSE profiles, define a single "D" (diagonal) profile as R-OSSE, e.g.:
Code:D = { R = 150 r0 = 25 a0 = 5 a = 35 r = 0.35 b = 0.15 m = 0.8 q = 4.4 Inclination = 20 ; [deg] }
Note the Inclination item which sets the angle of the diagonal (when looking at the mouth from the front).
The old Rollback feature was removed from Ath altogether in the latest releases.
- You can simulate (and use) such horn as free-standing even without a rollback, though. It won't be as good but still pretty usable, IMHO, due to the asymmetry.
Mesh.RearShape = 1
Mesh.RearResolution = 5
Mesh.WallThikness = 10
Thank you for your work!
Regards,
Roman
The code I provided (which you quoted) certainly produces a rear mesh as well - it's a free standing horn. Did you try that?
Mesh.AngularSegments = 64
Mesh.ThroatResolution = 5
Mesh.MouthResolution = 14
Mesh.InterfaceResolution = 6
Mesh.RearResolution = 25
Mesh.SubdomainSlices = -2
Mesh.InterfaceOffset = 0
Mesh.WallThickness = 10
Mesh.ZMapElementSize = 0.3,0.6,0.5,0.95
Marcel, i saw this part of your code, mentioned in #12,373 , I've changed it as you can see a little bit to my purpose (yes, you're right, with a mistake). I'll try today later with your code as it is. But as i remember, i did it already with a same result. Probably bug on my laptop.
Thank you for your time and patience!
Thank you for your time and patience!
also in your code provided, there is no this part:The code I provided (which you quoted) certainly produces a rear mesh as well - it's a free standing horn. Did you try that?
Mesh.RearShape = 1
all other parameters are exist just without this main, probably that's the reason why it doesn't work when I've tried it as is?
I tried the code you provided (as is) and it works fine. The only issue I see is the very large number of elements (over 17000).
I would suggest this instead to produce something more reasonable (~4200 elements):
(I have good experience with placing the interface somewhat behind the mouth edge (inside the horn). This is done with "Mesh.SubdomainSlices = -2", where -2 means the second slice from the end/mouth.)
I would suggest this instead to produce something more reasonable (~4200 elements):
Code:
Mesh.AngularSegments = 64
Mesh.ThroatResolution = 6
Mesh.SubdomainSlices = -2
Mesh.MouthResolution = 12
Mesh.InterfaceResolution = 8
Mesh.RearShape = 1
Mesh.RearResolution = 30
Mesh.WallThickness = 10
Mesh.InterfaceOffset = 0
Mesh.ZMapElementSize = 0.3,0.6,0.5,0.95
(I have good experience with placing the interface somewhat behind the mouth edge (inside the horn). This is done with "Mesh.SubdomainSlices = -2", where -2 means the second slice from the end/mouth.)
Hi mabat,
Kindest regards,
M
P.S. Yes big horns can be made:
M
Will the implementation allow to select the number of the "discrete-segments", specifically, an odd number to further reduce the symmetry?In fact I continue working on a discrete-segment implementation . . .
Kindest regards,
M
P.S. Yes big horns can be made:
M
Last edited:
Another resource for the task http://research.spa.aalto.fi/projects/sparta_vsts/plugins.htmlIt would need to combine a polar response of a source with a HRTF (which "varies significantly from person to person", but I believe that something would be better than nothing). I'd be happy with the first and second order reflections for the start, without any scattering. The room boundaries could be probably handled as a simple frequency-independent damping. But this all would not be a small task, I assume. The principle is simple though and "assembling" the total impulse response would not have to be that difficult.
This could be helpful: http://recherche.ircam.fr/equipes/salles/listen/index.html
Yeah, that's the idea, although I'm not sure that an odd-number polygon will make a big difference (e.g 8 vs 9 vs 10), but let's see.Will the implementation allow to select the number of the "discrete-segments", specifically, an odd number to further reduce the symmetry?
I won't comment on thatP.S. Yes big horns can be made:
- Home
- Loudspeakers
- Multi-Way
- Acoustic Horn Design – The Easy Way (Ath4)