This is a fork. Everything below is Daniel Kadeřábek's original readme and his application is untouched in
src/. What this fork adds lives instudio/: Subsim Studio, a drag-and-drop scene editor with the simulation drawn live underneath it, coverage zones, and an optimizer that moves subs around looking for the best result it can find.Studio is vibe-coded — written end to end by Claude Opus 5 from conversational direction, not hand-written or line-by-line reviewed. Its simulation is a port of the engine in this repository, verified against those formulas to floating-point precision; everything else carries the risk that description implies. See
studio/README.md.No pull request has been sent upstream, and none is implied. This is one user's extension, published in case it is useful to someone else.
This is an extremely simplified simulator of subwoofer arrays. I mostly wrote it to learn how subwoofer arrays work, so take it with a grain (or perhaps a truckload, really) of salt.
It is intended more as a "textbook companion" than a tool for actual engineers to use in the field - there are probably vastly more things going on in the real world than this thing attempts to simulate - but to help you get the basic concepts it should hopefully be adequate.
This tool is a bare-bones theoretical simulator of how multiple subwoofers should sum in a given open area. It allows you to place different sources of audio on a 2D plane and adjust their settings, such as gain, phase flip, or delay; the plot will show you how the audio would propagate through the area and what the resulting amplitude at each point should be. If you hover over the plot, the tool will show you a readout of the predicted SPL, as well as a visualisation of the relative arrival times and gains at that point in space.
I developed this simulator while I was trying to learn about subwoofer arrays myself, and while I'm reasonably confident that the math is right and that the predictions the simulator outputs should be pretty accurate, it bears saying that I'm not an authority on any of this - I possess high-school level math skills at best, I'm not an actual engineer with a degree or anything like that - so it must be said that this tool comes with no guarantees of any sort. It might be spot on, or it might be completely wrong. But hopefully as a quick & dirty tool for learning the basics it might just do the trick.