Ikea Unity Horn

I have an extremely difficult time with woodworking. Every time I make a box, it comes out looking wonky.

Ikea now sells MDF cubes measuring 35cm x 35cm x 35cm for $20:

https://www.ikea.com/us/en/p/eket-cabinet-white-80334603/

So I wanted to see how suitable they would be for a Unity horn.

Admittedly, the size isn't ideal; it would be nice if they were bigger. But I can't make a good looking box to save my life, so here we are.

Attached is my first stab at it. It used a waveguide that's 25cm x 25cm. Response is pretty rough because it needs a roundover.

Depth of the waveguide is 2.25" (5.7cm)

Here's the ath model:



Throat.Diameter = 25.4 ; [mm]
Slot.Length = 3 + 9.7*cos(2*p)^2
Throat.Angle = 17.5 ; [deg]
Throat.Profile = 1
Length = 57.15 ; [mm]

Coverage.Angle = 62
;Coverage.Angle = 48.5 - 7*cos(2*p)^5 - 12*sin(p)^12
;Term.s = 0.7 + 0.2*cos(p)^2
Term.s = 0.8
Term.n = 3.7
Term.q = 0.995

Morph.TargetShape = 1
Morph.FixedPart = 0.5
Morph.TargetWidth = 229
Morph.TargetHeight = 229
Morph.Rate = 3
Morph.CornerRadius = 76.2 ; [mm]
Morph.AllowShrinkage = 1

; -------------------------------------------------------
; Mesh Setting
; -------------------------------------------------------

; ABEC
Mesh.AngularSegments = 80
Mesh.LengthSegments = 30
Mesh.CornerSegments = 8

Mesh.Enclosure = {
Spacing = 38.1; 38.1; 38.1 ; 38.1
Depth = 330
;EdgeRadius = 19.05
EdgeType = 1
FrontResolution = 8,8,16,16
BackResolution = 20,20,20,20
}

Mesh.Quadrants = 1

Mesh.DepthSegments = 20
Mesh.AngularSegments = 60

Mesh.ThroatResolution = 6
Mesh.InterfaceResolution = 12.0
Mesh.InterfaceOffset = 5.0

Mesh.ZMapPoints = 0.5,0.2,0.5,0.8

; -------------------------------------------------------
; ABEC Project Setting
; -------------------------------------------------------

ABEC.SimType = 2
ABEC.f1 = 500 ; [Hz]
ABEC.f2 = 16000 ; [Hz]
ABEC.NumFrequencies = 61
ABEC.MeshFrequency = 1000 ; [Hz]

ABEC.Polars:SPL_H = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 140
}

ABEC.Polars:SPL_V = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
Offset = 140
Inclination = 90
}

ABEC.Polars:SPL_D = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 140
Inclination = 42
}

; -------------------------------------------------------

Output.STL = 1
Output.ABECProject = 1

Report = {
Title = "Feb25_2024_waveguide"
PolarData = "SPL_H"
NormAngle = 20
MaxAngle = 90
}





feb25-2024-unity.png
 
Last edited by a moderator:
  • Like
Reactions: AllenB
Adding a roundover only exaggerated the dip at 5khz. Dips are typically produced when the geometry of the waveguide is symmetrical. So I'm going to break up the symmetry to reduce that dip.

Here's the current version of the config file, the main difference from the last one is the addition of a roundover.



Throat.Diameter = 25.4 ; [mm]
Slot.Length = 3 + 9.7*cos(2*p)^2
Throat.Angle = 17.5 ; [deg]
Throat.Profile = 1
Length = 63.5 ; [mm]

Coverage.Angle = 61.5
;Coverage.Angle = 48.5 - 7*cos(2*p)^5 - 12*sin(p)^12
;Term.s = 0.7 + 0.2*cos(p)^2
Term.s = 0.8
Term.n = 3.7
Term.q = 0.995

Morph.TargetShape = 1
Morph.FixedPart = 0.5
Morph.TargetWidth = 229
Morph.TargetHeight = 229
Morph.Rate = 3
Morph.CornerRadius = 76.2 ; [mm]
Morph.AllowShrinkage = 1

; -------------------------------------------------------
; Mesh Setting
; -------------------------------------------------------

; ABEC
Mesh.AngularSegments = 80
Mesh.LengthSegments = 30
Mesh.CornerSegments = 8

Mesh.Enclosure = {
Spacing = 50.8; 50.8; 50.8; 50.8
Depth = 349
EdgeRadius = 19.05
EdgeType = 2
FrontResolution = 8,8,16,16
BackResolution = 20,20,20,20
}

Mesh.Quadrants = 1

Mesh.DepthSegments = 20
Mesh.AngularSegments = 60

Mesh.ThroatResolution = 6
Mesh.InterfaceResolution = 12.0
Mesh.InterfaceOffset = 5.0

Mesh.ZMapPoints = 0.5,0.2,0.5,0.8

; -------------------------------------------------------
; ABEC Project Setting
; -------------------------------------------------------

ABEC.SimType = 2
ABEC.f1 = 500 ; [Hz]
ABEC.f2 = 16000 ; [Hz]
ABEC.NumFrequencies = 61
ABEC.MeshFrequency = 1000 ; [Hz]

ABEC.Polars:SPL_H = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 140
}

ABEC.Polars:SPL_V = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
Offset = 140
Inclination = 90
}

ABEC.Polars:SPL_D = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 140
Inclination = 42
}

; -------------------------------------------------------

Output.STL = 1
Output.ABECProject = 1

Report = {
Title = "Feb25_2024_waveguide"
PolarData = "SPL_H"
NormAngle = 20
MaxAngle = 90
}

 

Attachments

  • feb25-2024-unity.png
    feb25-2024-unity.png
    82.1 KB · Views: 73
Adding a roundover only exaggerated the dip at 5khz. Dips are typically produced when the geometry of the waveguide is symmetrical. So I'm going to break up the symmetry to reduce that dip.

Here's the current version of the config file, the main difference from the last one is the addition of a roundover.
 

Attachments

  • feb25-2024-unity.png
    feb25-2024-unity.png
    82.1 KB · Views: 84
Changing the vertical beamwidth helped to an extent, but things still aren't great.

Here's the model, attached is the sim


Throat.Diameter = 25.4 ; [mm]
Slot.Length = 3 + 5.5*cos(2*p)^2
Throat.Angle = 17.5 ; [deg]
Throat.Profile = 1
Length = 76.2 ; [mm]

Coverage.Angle = 56 - 15 * cos(p)^2 - 5 * cos(2*p)^4
;Coverage.Angle = 58 - 11 * cos(2*p)^2 - 12 * sin(p)^2
;Coverage.Angle = 55 - 7*cos(2*p)^5 - 12*sin(p)^12
;Term.s = 0.7 + 0.2*cos(p)^2
Term.s = 1.5 - 0.75 * sin (p)^2
Term.n = 3.7
Term.q = 0.995

Morph.TargetShape = 1
Morph.FixedPart = 0.1
Morph.TargetWidth = 248
Morph.TargetHeight = 248
Morph.Rate = 3
Morph.CornerRadius = 76.2 ; [mm]
Morph.AllowShrinkage = 1

; -------------------------------------------------------
; Mesh Setting
; -------------------------------------------------------

; ABEC
Mesh.AngularSegments = 80
Mesh.LengthSegments = 30
Mesh.CornerSegments = 8

Mesh.Enclosure = {
Spacing = 47.5; 47.5; 47.5; 47.5
Depth = 349
EdgeRadius = 19.05
EdgeType = 2
FrontResolution = 8,8,16,16
BackResolution = 20,20,20,20
}

Mesh.Quadrants = 1

Mesh.DepthSegments = 20
Mesh.AngularSegments = 60

Mesh.ThroatResolution = 6
Mesh.InterfaceResolution = 12.0
Mesh.InterfaceOffset = 5.0

Mesh.ZMapPoints = 0.5,0.2,0.5,0.8

; -------------------------------------------------------
; ABEC Project Setting
; -------------------------------------------------------

ABEC.SimType = 2
ABEC.f1 = 500 ; [Hz]
ABEC.f2 = 16000 ; [Hz]
ABEC.NumFrequencies = 61
ABEC.MeshFrequency = 1000 ; [Hz]

ABEC.Polars:SPL_H = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 140
}

ABEC.Polars:SPL_V = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
Offset = 140
Inclination = 90
}

ABEC.Polars:SPL_D = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 140
Inclination = 42
}

; -------------------------------------------------------

Output.STL = 1
Output.ABECProject = 1

Report = {
Title = "Feb25_2024_waveguide"
PolarData = "SPL_H"
NormAngle = 20
MaxAngle = 90
}

 

Attachments

  • feb25-2024-unity.png
    feb25-2024-unity.png
    75.3 KB · Views: 78
I think it might be possible to turn an Ikea Kallax into a Unity horn. I think I'll continue to explore that.

The advantages here, as I see it:

1) I like how the Lambda Unity Horns sound, but I can't build a good looking box to save my life. I'm just really bad at "attention to detail" and it makes all of my projects look terrible.

2) I think the new JBL and the new KEF speakers look quite good (pics attached)

3) Ikea has a new Kallax that's fairly similar in appearance to the new Kef and JBL speakers. (pic attached)
 

Attachments

  • jbl-stage-2-lifestyle-1200x630.jpg
    jbl-stage-2-lifestyle-1200x630.jpg
    102.3 KB · Views: 190
  • DSC00559.JPG
    DSC00559.JPG
    95.8 KB · Views: 189
  • Q-Meta-Q7.jpg
    Q-Meta-Q7.jpg
    170 KB · Views: 185
  • 2024-10-19 11_25_01-white oak kallax 4x1 - Google Search.png
    2024-10-19 11_25_01-white oak kallax 4x1 - Google Search.png
    554.7 KB · Views: 171
It is definitely possible to fit a Unity horn into a Kallax shelf, I did that🙂 Mine was a traditional box that fits the shelf unit. My point was that the material quality is really poor and not really suitable for a speaker box. I might be wrong though - with some bracing and glue it might work good enough.
 
Like the idea of using an existing enclosure.

I reckon with some treatment even an IKEA particle board could be made okay🙂
Could strip off the placcy layer impregnate the porous surface with something that gets absorbed in and hardens.
Thin CA could work.
Do not breath in the fumes, or vapourize your eyes 😱 though.

Do that both sides and then a nice thick layer of bitumen panel damping sheeting all over.

I used cheap particle board on one of my SH50 style horns and the other one was better quality P5 particle board (moisture resistant and more dense).
Both got the treatment.
There's no cab sound at all at any volume I've been to.
Can't tell the difference between them either.
 
  • Like
Reactions: GM
Here's my first attempt at it. Let's call it "Alpha"

Every one of these sims will have the same dimensions (because they're defined by the Kallax.)

I am only simming the top half of the enclosure. Even with 96GB and fourteen cores, these sims take about three hours to run.

Both the horizontal and the vertical sims are normalized. The horizontal is normalized to 20 degrees off axis. The vertical is normalized to zero degrees off axis (because it's firing straight-forward.) So if you notice any weirdness in the horizontal or vertical response, keep that in mind.

Things I notice from the sim:

1) the vertical pattern has a weird 'step' in it, likely caused by the diffraction slot I included
2) the horizontal pattern is quite good
3) as expected, the enclosure itself is extending directivity control below 800Hz
4) the beamwidth of the design is approximately 100 x 100 (quite wide.)
 

Attachments

  • xt1086ish-102024.png
    xt1086ish-102024.png
    140.7 KB · Views: 93
  • xt1086ish-vertical.png
    xt1086ish-vertical.png
    114.3 KB · Views: 87
  • 2024-10-19 16_21_27-ABEC3-Demo - ABEC_FreeStanding.png
    2024-10-19 16_21_27-ABEC3-Demo - ABEC_FreeStanding.png
    1.9 MB · Views: 93
Here's the config file for the sim from post 17


; -------------------------------
; Oct 20 2024 XT1086-ish waveguide
; Ath version 4.8.3
; -------------------------------

Throat.Profile = 1
Throat.Diameter = 26.4 ; [mm]
Slot.Length = 6.35
Throat.Angle = 2.5 + 20*sin(p)^4
;Throat.Angle = 3 + 22 * sin (2*p)^8
Coverage.Angle = 38 + 15 * sin(p)^2
;Coverage.Angle = 62 - 20 * sin (p)^4
;Coverage.Angle = 72 - 10*cos(2*p)^4
Length = 127 ; [mm]

Morph.TargetShape = 1
Morph.TargetWidth = 314.3
Morph.TargetHeight = 471.5
Morph.CornerRadius = 50.8
Morph.FixedPart = 0.25
Morph.Rate = 2
Morph.AllowShrinkage = 1

Term.s = 1.5 - (0.7*cos(2*p)^2) + (0.5*sin(p)^4)
;Term.s = 0.9
Term.n = 3.7
Term.q = 0.995

; -------------------------------------------------------

Mesh.Enclosure = {
Spacing = 50.8, 130.3, 50.8, 130.3
Depth = 391
;EdgeRadius = 0
;EdgeType = 1
FrontResolution = 8,8,12,12
BackResolution = 24,24,24,24
}

;Mesh.Quadrants = 14
Mesh.Quadrants = 1

Mesh.LengthSegments = 32
Mesh.AngularSegments = 64

Mesh.ThroatResolution = 4
Mesh.InterfaceResolution = 12
Mesh.MouthResolution = 12
Mesh.SubdomainSlices =
;Mesh.InterfaceOffset = 5.0

Mesh.ZMapPoints = 0.5,0.1,0.5,0.99

;Rollback = 1
;Rollback.StartAt = 0.6

; -------------------------------------------------------

ABEC.SimType = 2
ABEC.f1 = 600 ; [Hz]
ABEC.f2 = 10000 ; [Hz]
ABEC.NumFrequencies = 49
ABEC.MeshFrequency = 1000 ; [Hz]
ABEC.Abscissa = 1

ABEC.Polars:SPL = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 75 ; [mm]
}

ABEC.Polars:SPL_H_norm = {
MapAngleRange = 0,90,10
NormAngle = 10 ; [deg]
Distance = 2 ; [m]
; Offset = 75 ; [mm]
}

ABEC.Polars:SPL_V = {
MapAngleRange = 0,90,10
Distance = 2 ; [m]
Inclination = 90
; Offset = 75 ; [mm]
}

; -------------------------------------------------------

;GridExport: = {
; ExportSlices=1
; ExportProfiles=1
;}

Output.STL = 1
Output.ABECProject = 1

Report = {
PolarData = "SPL"
Title = "Oct 20 2024 XT1086-ish waveguide"
NormAngle = 20
MaxAngle = 90
}
 
Here's my second attempt at it. Let's call it "Beta"

Every one of these sims will have the same dimensions (because they're defined by the Kallax.)

I am only simming the top half of the enclosure. Even with 96GB and fourteen cores, these sims take about three hours to run.

Both the horizontal and the vertical sims are normalized. The horizontal is normalized to 20 degrees off axis. The vertical is normalized to zero degrees off axis (because it's firing straight-forward.) So if you notice any weirdness in the horizontal or vertical response, keep that in mind.

Things I notice from the sim:

1) the vertical pattern has a weird 'step' in it, likely caused by the diffraction slot I included
2) the horizontal pattern is quite good
3) as expected, the enclosure itself is extending directivity control below 800Hz
4) the beamwidth of the design is approximately 100 x 100 (quite wide.)

The main difference I see between Alpha and Beta is that the directivity index of Beta is a little bit smoother.
 

Attachments

  • horizontal.png
    horizontal.png
    136.1 KB · Views: 53
  • xt1086ish-102024-vertical.png
    xt1086ish-102024-vertical.png
    113.2 KB · Views: 50
  • beta.jpg
    beta.jpg
    285 KB · Views: 58
Here's the config file for post 19, aka "BETA"

; -------------------------------
; Oct 20 2024 XT1086-ish waveguide
; Ath version 4.8.3
; -------------------------------
; target size = 314 x 472

Throat.Profile = 1
Throat.Diameter = 26.4 ; [mm]
Slot.Length = 25.4
;Throat.Angle = 5 + 27.5*sin(p)^4
Throat.Angle = 0 + 20*sin(2*p)^4 + 30*sin(p)^2
;Throat.Angle = 3 + 22 * sin (2*p)^8
Coverage.Angle = 38 + 15 * sin(p)^2
;Coverage.Angle = 62 - 20 * sin (p)^4
;Coverage.Angle = 72 - 10*cos(2*p)^4
Length = 127 ; [mm]

Morph.TargetShape = 1
Morph.TargetWidth = 314.3
Morph.TargetHeight = 471.5
Morph.CornerRadius = 50.8
Morph.FixedPart = 0
Morph.Rate = 2
Morph.AllowShrinkage = 1

;Term.s = 1.5 - (0.7*cos(2*p)^2) + (0.5*sin(p)^4)
Term.s = 1.5 - (0.3*cos(2*p)^2)
;Term.s = 0.9
Term.n = 3.7
Term.q = 0.995

; -------------------------------------------------------

Mesh.Enclosure = {
Spacing = 50.8, 130.3, 50.8, 130.3
Depth = 391
;EdgeRadius = 0
;EdgeType = 1
FrontResolution = 8,8,12,12
BackResolution = 24,24,24,24
}

;Mesh.Quadrants = 14
Mesh.Quadrants = 1

Mesh.LengthSegments = 64
Mesh.AngularSegments = 64

Mesh.ThroatResolution = 4
Mesh.InterfaceResolution = 12
Mesh.MouthResolution = 12
Mesh.SubdomainSlices =
;Mesh.InterfaceOffset = 5.0

Mesh.ZMapPoints = 0.5,0.1,0.5,0.99

;Rollback = 1
;Rollback.StartAt = 0.6

; -------------------------------------------------------

ABEC.SimType = 2
ABEC.f1 = 600 ; [Hz]
ABEC.f2 = 10000 ; [Hz]
ABEC.NumFrequencies = 49
ABEC.MeshFrequency = 1000 ; [Hz]
ABEC.Abscissa = 1

ABEC.Polars:SPL = {
MapAngleRange = 0,90,19
Distance = 2 ; [m]
;Offset = 75 ; [mm]
}

ABEC.Polars:SPL_H_norm = {
MapAngleRange = 0,90,10
NormAngle = 10 ; [deg]
Distance = 2 ; [m]
; Offset = 75 ; [mm]
}

ABEC.Polars:SPL_V = {
MapAngleRange = 0,90,10
Distance = 2 ; [m]
Inclination = 90
; Offset = 75 ; [mm]
}

; -------------------------------------------------------

;GridExport: = {
; ExportSlices=1
; ExportProfiles=1
;}

Output.STL = 1
Output.ABECProject = 1

Report = {
PolarData = "SPL"
Title = "Oct 20 2024 XT1086-ish waveguide"
NormAngle = 20
MaxAngle = 90
}