Live data from Hacker News

Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

calbryant.uk

21–28 of 28 posts

Re: Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

#21
post #19

> As the design was fully parametric, I could change a single variable to move to a floorstanding design. How far are we in 2025 from defining a Differentiable design, setting a target (e.g. maximally flat frequency response for a certain speaker placement in a certain room) and solving this automatically?

A basic speaker can't do a lot to improve "room acoustics" [1], particularly below the Schroeder frequency where room modes greatly affect the bass response. From my experience, it's the bass that needs fixing in room, because even a "perfect speaker" will get boomy/muddy at some frequencies (ie. reflections overlapping constructively), and thin/null at others (ie. reflections overlapping destructively). And if you a…

If you want to DIY something similar, check out the LXmin and other Linkwitz designs

https://www.linkwitzlab.com/Store/LXmini.htm

Re: Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

#22
post #6

Standard comment in these threads that, while OpenSCAD is a ton of fun and absolutely a breath of fresh air for code geeks wanting to apply their skills to the 3D world without having to hand-draft an object in scary GUI software... It's actually really limited, based on a needlessly simplified data model and using a kludged up DSL syntax instead of a proper software development environment. Look at CadQuery and buil…

Have you taken a look at the build123d "algebra API" yet? It is intended to be near zero magic without any of the with blocks from the "builder API". There are algebra and builder API versions of all of the introductory examples on this page https://build123d.readthedocs.io/en/latest/introductory_exam...

Re: Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

#23

> As the design was fully parametric, I could change a single variable to move to a floorstanding design. How far are we in 2025 from defining a Differentiable design, setting a target (e.g. maximally flat frequency response for a certain speaker placement in a certain room) and solving this automatically?

If you’ve got some money,

https://www.comsol.com/blogs/6-examples-of-simulation-driven...

Those examples wouldn’t be differentiable in the sense of automatic differentiation. “Just” parametric CAD + FEM/BEM + optimizer.

Though differentiable FEM has kind of been done for a while under the name “adjoint method” for topology/shape optimization. It’s not super common outside of academia though.

Personally, I’m keeping an eye out for projects like https://github.com/deepmodeling/jax-fem to make some waves in that space.

Re: Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

#24
post #21
post #19

Earlier quoted context omitted.

A basic speaker can't do a lot to improve "room acoustics" [1], particularly below the Schroeder frequency where room modes greatly affect the bass response. From my experience, it's the bass that needs fixing in room, because even a "perfect speaker" will get boomy/muddy at some frequencies (ie. reflections overlapping constructively), and thin/null at others (ie. reflections overlapping destructively). And if you a…

If you want to DIY something similar, check out the LXmin and other Linkwitz designs https://www.linkwitzlab.com/Store/LXmini.htm

In this video, they explain that the bandpass port for letting air out of typically the back of speakers is essential for acoustic transmission including bass; and they made an anechoic chamber.

"World's Second Best Speakers!" https://youtube.com/watch?v=EEh01PX-q9I&

TechIngedients also has a video about attaching $6 bass kickers to XPS foam to make flat panel speakers about as good as expensive bookshelf speakers.

"World’s Best Speakers!" https://youtube.com/watch?v=CKIye4RZ-5k&

Re: Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

#25

I am an (amateur) developer so when I needed to create some simple 3D objects to print them afterward OpenSCAD looked like a dream come true ("object as code" :)). I tried three times (over two years) to use it but it was absurdly difficult to build a piece, with something that looked like "callbacks from hell" in JS (boxed in boxes in boxes of code. I had to keep track of the position all the time and there are no c…

If you like the idea of object as code, another rabbit hole worth looking at is Rhino3D’s Grasshopper

Visual programming language but can also use straight Python

Excellent environment for playing

Re: Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

#26
post #6

Standard comment in these threads that, while OpenSCAD is a ton of fun and absolutely a breath of fresh air for code geeks wanting to apply their skills to the 3D world without having to hand-draft an object in scary GUI software... It's actually really limited, based on a needlessly simplified data model and using a kludged up DSL syntax instead of a proper software development environment. Look at CadQuery and buil…

Have you taken a look at the build123d "algebra API" yet? It is intended to be near zero magic without any of the with blocks from the "builder API". There are algebra and builder API versions of all of the introductory examples on this page https://build123d.readthedocs.io/en/latest/introductory_exam...

Algebra has its own magic though, c.f. the "vectorization" stuff which implements an IMHO really confusing syntax as a kludge to get around having to implement a lazy evaluator. And the placement operator syntax is... yikes. But yes, if you have a CSG problem you're porting naturally from a tool like OpenSCAD you should be using Algebra and not Builder, 100%.

Really it's just an odd area, without solid conventions, and so any API in the 3D space is going to look weird in some places. But IMHO build123d leans way too far out on the "clever" end of the spectrum for my taste. OpenSCAD is limited, but has the advantage of having stuck to a dry, dumb, obvious API.

Re: Show HN: Design/build of some parametric speaker cabinets with OpenSCAD

#27
post #9

Tangent I feel like such a noob still using SketchUp but it works, Fusion360 is on my list to learn at some point There are some great tools like GLB export (Khronos) for ThreeJS and STL mesh check for 3D printing.

I noped out of Fusion360 due to the intrusive (and dark-pattern) onboarding. Having to create an account is going to be a deal-killer for me for what should be standalone software. It feels like they may well pull the rug out from under the community at some point. I never could "get" SketchUp. (Didn't they also kind of become more of a walled-garden after Google or whoever sold them off?) Went with FreeCAD instead.…

I recently switched from years of using TinkerCAD, and really wanted to switch to FreeCAD, but after watching hours of video tutorial of FreeCAD compared to the same for Fusion, it seemed Fusion was just so much more optimized for productivity.
Post reply on HN