SN Acoustics Lab — acoustic calculation suite
Enter your space’s dimensions (rectangular) — they sync automatically with Room modes, 3D map + Sabine and Irregular room — and, based on your level, we’ll recommend an acoustic treatment kit calculated to fit your room.
Wall area: — m² · Ceiling area: — m² · Volume: — m³
Tell us what your room is made of: the material changes a lot how much reverberation it has today and, therefore, which kit you need. If you are not sure, knock on the wall with your knuckles: if it sounds hollow it is drywall; if it sounds solid, it is brick or concrete.
These are the same materials as in “3D map + Sabine” and “Irregular room”: they stay in sync.
Design tailored to your room, with a floor plan and installation guide, specifications for each element, and downloads of their cut and assembly files. It’s a separate purchase from the plans (it doesn’t use your subscription’s downloads). Price by category, taxes included: Amateur $9.99 USD · Semi-pro $14.99 USD · Professional $19.99 USD · Engineer $23.99 USD.
Below this frequency the behavior is modal (individual resonances, like the ones below) — above it, statistical (formulas like Sabine apply well there). fs = 2000×√(RT60/V), with RT60 in seconds (250 ms = 0.25 s) and V in m³.
How to read the table: (l,w,h) tells how many half-waves fit along the length, width and height of the room in that mode. Axial modes bounce between two opposite surfaces and are the strongest; tangential ones between four; oblique ones between all six. The Note column shows the closest musical note to that frequency (¢ = cents, hundredths of a semitone): these are the bass or kick notes the room will boost or cancel.
Zones highlighted in the table: modes that fall within 5 Hz of each other, regardless of type. The filter above only changes what is shown here — the Schroeder frequency and the Bonello criterion below always use the full set of modes, filtered or not.
Counts how many modes (axial + tangential + oblique) fall in each third-octave band, up to 500Hz. The rule: the count should never drop when moving up a band — if it does, there is a modal gap right after a pile-up, and the room will sound different in those two zones.
Compares your room’s proportions (Length/Height, Width/Height) against proportions historically associated with good modal distribution. It’s not a pass/fail zone — it’s a reference for how close you are to each one.
Look at the pattern of peaks and try to estimate Length, Width and Height before revealing the answer. Start by identifying the most widely spaced series (that is usually the shortest dimension).
The red/yellow zones are where that mode concentrates the most energy — that’s where a bass trap performs best for that specific frequency. Corners concentrate high pressure from practically all modes at once, which is why they are the default location.
Uses the same room as the “3D map” tab — change the size there if you need to.
Type the number without periods or commas — the field uses a period as the decimal separator, so “6.500” is read as 6.5, not six thousand five hundred. For 6500, just type 6500.
The reverberation time the room has as built, before adding any treatment — with the typical surfaces of a shell with no acoustic finish: reflective walls, ceiling and floor. It uses the absorption coefficients from the industry-standard reference table (published measurements, not estimates) — except for the “Custom” option, which calculates with real physics from your own construction.
The 63 and 125 Hz bands are estimates: in that range the room modes usually dominate, not Sabine, and there are no standard absorption tables below 100 Hz (the 63 Hz coefficients were extrapolated from the 125 Hz ones and from each material’s physics).
RT60 = 0.161×V / ΣSα, summing wall + ceiling + floor for each band — a completely empty room, with no furniture or any other surface. This is the baseline: the starting point before any treatment.
Add designs from Absorber panel, Helmholtz, BAD or any diffuser (QRD, QRD 2D, Skyline) — each one has its own “Add to report” button. You can have as many different designs as you like at once; they all add up here.
This card subtracts what the room already absorbs (walls, ceiling, floor and the treatment added to the report). The number above is the absorption still missing in the most demanding band, expressed as if you had a perfect absorber (α=1). The table below converts it into real square meters of the material you chose above.
The α for each band is calculated with the Delany-Bazley-Miki model (the published standard for fibrous materials) from the real density and thickness — it works for any thickness, including thick panels like 300mm. The flow resistivity estimated from density is an engineering approximation: different products at the same density can vary quite a bit. If you have the real flow resistivity from the datasheet, enter it above for a more accurate result.
Sabine: A = 0.161×V / RT60 (RT60 in seconds). The material area is (target A − absorption the room already has) / band α.
Generates a complete technical report: project summary, acoustic goal, methodology, installed materials with their absorption datasheet, Current/Treated/Target comparison chart, reduction table by band, and final verdict. It doesn’t include modes: if you need that report, export it from the “Irregular room” tab.
Each corner has its own fixed letter on the plan below, so you know exactly which one you’re going to cut.
There are two ways to add each corner (you can combine them): click on the canvas (seeing the live measurement as you move the mouse, before clicking), or type the exact direction and length below and press “Add segment” — more precise when you already know the wall’s real measurement. The first point is marked in a different color so you know where the shape will close.
Click on the canvas to start. To move a point you’ve already placed, drag it, or simply click it once to edit its coordinates by number below.
Editing point
Use this to add a column, niche, or any protrusion/recess in the middle of a wall you’ve already drawn — without having to redo everything from the end.
For an angled wall (a corner that closes in or opens out, without knowing the exact angle), use “Free” — just type how far it shifts sideways (Δx) and how far it advances (Δy) along that wall. For example, a wall that comes 30cm inward over a 6m length would be Δx=-0.30, Δy=6.00.
If you haven’t placed the first point yet, this button places it at the origin (0,0) and starts from there.
It fills in by itself when you use the visual builder above, but you can also type or adjust the points directly here if you prefer — for example to copy exact coordinates you already have from SketchUp. You don’t need to close the polygon by repeating the first point at the end — it closes automatically.
If the ceiling is flat, leave both heights equal. If it’s sloped, indicate which wall (identified by its 2 corners, e.g. “A–B”) is the lowest — it’s marked on the plan with an arrow. The calculation gives you a frequency range for the vertical modes instead of an exact number.
This calculation solves the real floor plan shape (including angled corners) with a numerical finite-difference method — it’s not an adjusted rectangular-room formula, it’s a direct solution over the geometry you drew. The grid resolution controls accuracy: finer (smaller number) is more accurate but slower to calculate; if the shape has small details (very small corner cuts) and you use a coarse grid, those details may not be represented well.
The sloped ceiling uses a deliberate approximation: instead of inventing an exact number that the physics doesn’t fully support, it shows the full range between the frequency given by the minimum height and the one given by the maximum height. Physically this is honest — a sloped ceiling doesn’t resonate at a single frequency, it spreads that energy across a band, which is why ceilings are sloped.
In a rectangular room, a mode can be described with 3 numbers (one per axis: length, width, height), which gives rise to the classic classification: axial (only one axis active), tangential (two axes) and oblique (all three). That classification depends on the room having exactly 3 straight axes — in an irregular floor plan, with cut corners or angled walls, those 3 axes no longer exist, so “axial/tangential/oblique” has no exact translation here.
What always exists, regardless of the floor plan’s shape, is the separation between the horizontal pattern (how pressure varies when looking at the room from above, in plan) and the vertical variation (how it varies from floor to ceiling) — and those two combine independently:
Some modes have a frequency range (instead of a single number) because the ceiling is sloped — that mode doesn’t resonate at one exact frequency, but spreads its energy across a band between the minimum and maximum height. That is physically correct, not an inaccuracy in the calculation.
Volume and Schroeder frequency are calculated with the average height — exact for a rectangular floor plan with a straight sloped ceiling; an approximation (quite good in practice) when the floor plan has cut corners, because there the room’s real center shifts slightly from the geometric midpoint.
Checking your access…
This design tool is part of the subscription. With an active plan you can edit all its parameters, see the full design and download its cut files, assembly guide and 3D model.
If you bought a Semi-pro, Professional or Engineer kit, its elements open here after you download the kit document.
Each cell is a square-section post (the width you set above), seen from the front of the panel (the side the post tips point toward, not the back where they are glued). The number is the cut length in cm. Longer posts stick out farther toward the front and look lighter; shorter ones sit deeper, near the back, and look darker.
Grouped by length so you can cut in batches — fewer saw stop readjustments.
The posts are glued by one end onto this board — it holds the whole grid together and is what you fix to the wall or furniture.
It can be MDF, plywood, or any rigid board from 9 to 12 mm — it doesn’t need to be thick, just rigid and flat, since it carries no structural load beyond holding the posts. It doesn’t go through laser cutting or sheet nesting — it’s a single flat piece cut to size, so it only appears as a separate line in the cut list, with its actual width and height.
It’s added as an almost fully reflective wall (typical wood coefficient), so the RT60 in 3D map + Sabine counts its actual area without attributing absorption it doesn’t have — its job is to diffuse, not absorb.
Exports the complete post grid as a 3D model (.dae — units in mm already embedded in the file) to import as a true visual reference in your SketchUp render — File > Import, select “COLLADA Files (*.dae)” as the file type.
Generates a document with the list of posts to cut (grouped by length) and a grid map showing where each one goes, so you can assemble without mix-ups.
Checking your access…
This design tool is part of the subscription. With an active plan you can edit all its parameters, see the full design and download its cut files, assembly guide and 3D model.
If you bought a Semi-pro, Professional or Engineer kit, its elements open here after you download the kit document.
It’s added as an almost fully reflective wall (typical wood coefficient), so the RT60 in 3D map + Sabine counts its actual area without attributing absorption it doesn’t have — its job is to diffuse, not absorb.
Cross-section view of the diffuser, as it would look from the side — each bar is a well with its actual depth.
The sequence is symmetrical: n and N−n give the same depth. s(n) is the quadratic-residue sequence number (n² modulo N): on a scale from 0 to N−1, it tells how deep each well is.
Builds a real box: perimeter frame + dividers between wells (no notches — in 1D they are parallel strips and don’t need to interlock) + back panel + one face per well. The deepest well has no face — the back is left visible there, just like in the QRD 2D.
For the rest of the wells, each one gets 2 “depth spacers” — they go vertical, just like the dividers between wells (not lying flat): one long edge glued against the back panel, the opposite (parallel) edge against the face. One goes on each side of the well, against the dividers or the side frames — this way they hold the face exactly at its target depth, leaving an air gap behind without needing a full solid piece.
The kerf is the width of material the laser burns away when cutting; it’s compensated so the pieces come out at their exact size (0.1–0.2 mm is typical in MDF with a CO2 laser; cut a test piece before the batch). The clearance is a small extra gap so the pieces go in by hand and there’s room for the glue: with 0.15 mm there’s no need to force or sand. If the pieces come out loose, lower it; if you have to force them, raise it. With a CNC router, your machine software already compensates for the bit.
With a laser, pieces are nested sharing the cut between them — no wasted space, not even between different groups. The kerf already compensates the notches, so 0mm spacing is safe.
Each piece can be a different material/thickness — useful if you want, for example, a thicker, structural frame (9mm) with lighter dividers and faces (6mm). Each well’s spacer already accounts for the actual thickness of its face. The cut file groups the pieces by thickness: each thickness comes out on its own sheets, so a piece is never cut from the wrong material.
Sheet nesting is the heaviest calculation — it doesn’t run on its own when you change a value above. Adjust what you need first and, when you’re done, click here.
—
SVG and DXF files are always in millimeters, at full scale: that is what laser cutters and CNC machines read. When importing them, choose millimeters as the unit.
Exports the complete row of assembled wells as a 3D model (.dae — units in mm already embedded in the file) to import as a true visual reference in your SketchUp render — File > Import, select “COLLADA Files (*.dae)” as the file type.
Checking your access…
This design tool is part of the subscription. With an active plan you can edit all its parameters, see the full design and download its cut files, assembly guide and 3D model.
If you bought a Semi-pro, Professional or Engineer kit, its elements open here after you download the kit document.
It’s added as an almost fully reflective wall (typical wood coefficient), so the RT60 in 3D map + Sabine counts its actual area without attributing absorption it doesn’t have — its job is to diffuse, not absorb.
The frame and back can be a thicker/stronger material than the internal dividers (typical: frame and back in 9mm, dividers in 6mm) — the cut file groups the pieces by thickness: each thickness comes out on its own sheets, so a piece is never cut from the wrong material.
The kerf is the width of material the laser burns away when cutting — without compensating for it, the notches would come out wider than the material’s actual thickness. If you don’t know your machine’s exact kerf, 0.1–0.2mm is a typical range for MDF with a CO2 laser; cut a test piece before the full batch to confirm.
Clearance is separate from kerf, and it’s what really decides how easily the pieces go in: compensating the kerf perfectly gives a zero-clearance press fit in theory, but in practice real MDF varies by a few tenths between sheets and your machine’s kerf isn’t an exact number either — with many repeated pieces (like the dividers in this QRD2D), those small differences add up, which is why the last piece is almost never the one that goes in without planing. With 0.15mm of clearance the pieces go in by hand, without forcing or planing anything, and there’s real room for a thin layer of glue — it works well with clear contact cement (thinner, dries fast) as well as with white glue. If the pieces feel loose, lower the clearance; if you have to force them, raise it.
With a laser, pieces are nested sharing the cut between them — no wasted space, not even between different groups. 0mm spacing is safe.
Each cell is a well seen from the front. The number is that well’s actual depth in cm (measured from the front face inward).
Piece names: “Perim. V” and “Perim. H” are the pieces of the perimeter frame (vertical and horizontal); “Div. V int.” and “Div. H int.” are the internal dividers that slot into each other; “Sep-R” are the wide depth spacers (they span the full width of the well) and “Sep-B” the short ones that go between them.
1) Build the outer box: the 2 “Perim. V” pieces run the full length (corners included), and the 2 “Perim. H” pieces are shortened to butt-join between them — so they don’t overlap and leave no gap at the corners. Then the grid of internal dividers (they interlock through the notches, and butt against the inner face of the perimeter pieces). 2) Glue on the back panel. 3) The deepest well gets no face or spacers — the back panel is already the visible bottom surface, so there’s nothing else to glue there. 4) For the rest of the wells: first glue the 2 “wide” spacers (the ones as long as the full width of the well) against two opposite walls of the bottom. Then glue the 2 “short” spacers fitted between those two, against the other two walls. 5) Glue the well’s face piece on top — this way it sits exactly at the target depth. Everything is glued, with no additional cuts after the laser.
Pieces of the same type and size are laid out in strips sharing the side cut between them, and when more than one row of the same type is needed, those rows are also stacked with no gap — sharing the top/bottom cut just like the ones beside them. On notched pieces, some rows come out “flipped” (marked on the label) so the smooth edge sits against the smooth edge of the next row — it doesn’t affect assembly: it’s the same physical piece, just drawn upside down on the plan. All this cuts cutting time considerably compared with cutting each piece separately. Each material thickness (frame, back, dividers, faces, spacers) is nested on its own sheets.
Sheet nesting is the heaviest calculation in this tool — that’s why it doesn’t run on its own when you change a value above. Adjust what you need first and, when you’re done, click here to generate it.
—
SVG and DXF files are always in millimeters, at full scale: that is what laser cutters and CNC machines read. When importing them, choose millimeters as the unit.
Each sheet is an independent SVG or DXF file, at real size (mm), ready to import straight into your laser’s software — already trimmed to the size of your cutting bed. Download them one by one by changing the number above.
Exports the complete assembled grid of wells (not the cut nesting) as a 3D model (.dae — units in mm already embedded in the file) to import as a true visual reference in your SketchUp render — File > Import, select “COLLADA Files (*.dae)” as the file type.
Porous absorber — fill material with an optional air gap behind it. Same Delany-Bazley-Miki model we use in Helmholtz and BAD.
The equivalents (Owens Corning and similar) are approximate, based on density and flow resistivity (σ). If your material’s data sheet lists σ, choose “Custom” and enter that value: the result will be more accurate.
The air gap behind the fill improves bass absorption without using more material — it’s the same idea as spacing the fiberglass away from the wall instead of gluing it directly.
It isn’t added automatically — click the button when you want this design to count in the RT60 of 3D map + Sabine. You can add several different designs, one by one.
Sabins = α × panel area, in m² of equivalent absorption — ready to add straight into a Sabine calculation.
Build a frame (wooden frame) of 60 × 120 cm with an inside depth of 50 mm, so the fiber at the calculated thickness fits snugly without being compressed. Cover the front and sides of the frame with acoustic fabric (a fabric you can blow through without effort: if it doesn’t let air through, it won’t let sound through either) and put the fiber inside.
If the design includes an air gap behind the panel, stand it off the wall by that distance using blocks or brackets; there’s no need to fill that space.
This tool doesn’t generate a cut file for the frame: just cut the slats to the panel dimensions.
Checking your access…
This design tool is part of the subscription. With an active plan you can edit all its parameters, see the full design and download its cut files, assembly guide and 3D model.
If you bought a Semi-pro, Professional or Engineer kit, its elements open here after you download the kit document.
The target frequency is only a visual reference (red line on the chart) — the actual peak depends on the parameters below and on the layers.
Center-to-center spacing: distance between the centers of two neighboring holes (what you mark before drilling). Effective neck length: the sheet thickness plus a small correction for the air that vibrates on each side of the hole; together with the % perforation and the cavity depth it sets the frequency of the trap.
Each layer is stacked from the perforated sheet toward the rigid back. The total cavity depth is the sum of the thicknesses of the active layers. It can include air (empty cavity), MDF/wood (solid mass, no porosity) or an intermediate perforated sheet (a second resonator inside the same trap).
It isn’t added automatically — click the button when you want this design to count in the RT60 of 3D map + Sabine.
Absorption coefficient α calculated with the Delany-Bazley-Miki model extended to multiple layers (transfer matrix), combined with the mass reactance and viscous resistance of the perforated sheet. It’s a physically based prediction, not a typical range — but it’s still a normal-incidence model, not a measurement; in a real chamber (with diffusion and varied angles) the measured curve is usually a bit wider and smoother than this one.
Build a closed box (back plus four sides) in wood or MDF. Cut the sides to the cavity depth calculated above, so the back sits exactly that distance from the perforated face.
Put in the fill layers in the order shown (the first goes against the perforated face) and close the box with the perforated face (SVG/DXF file below). Seal all joints with glue or silicone: an air leak detunes the trap.
SVG and DXF files are always in millimeters, at full scale: that is what laser cutters and CNC machines read. When importing them, choose millimeters as the unit.
Full actual grid at real size (mm) — the simplest cut in the kit: just uniform circles on the sheet, no pieces and no nesting.
Exports the perforated face at the real material thickness, with the actual holes cut into the geometry — 3D model (.dae — units in mm already embedded in the file) to import into your SketchUp render. File > Import, select "COLLADA Files (*.dae)" as the file type. Each hole is described as a native opening within a single polygon (without triangulating the face), so it leaves no seam lines when importing into SketchUp.
The triangulated version is an alternative in case your version of SketchUp shows errors when importing the seamless version.
Checking your access…
This design tool is part of the subscription. With an active plan you can edit all its parameters, see the full design and download its cut files, assembly guide and 3D model.
If you bought a Semi-pro, Professional or Engineer kit, its elements open here after you download the kit document.
The holes are placed exactly according to each design’s reference pattern — only the size of each hole and the panel dimensions change according to the parameters below.
The margin is added as extra solid material around the pattern (without moving any hole) — useful for having an edge to glue the face to the box. With a 1.5cm margin, a 120×60cm panel comes out of 123×63cm of actual cut size.
Pitch: average distance between neighboring holes; it sets the frequency at which the pattern starts to diffuse. Solid/void contrast: how marked the difference is between wood areas and perforated areas; with low perforation the contrast is high and the face reflects and diffuses more, with high perforation it behaves almost like fabric and absorbs more.
Perforated face → front air gap → layers of absorbent material → rear air gap → rigid back.
It isn’t added automatically — click the button when you want this design to count in the RT60 of 3D map + Sabine. This adds only the panel’s incidental absorption — it doesn’t represent the diffusion effect, which Sabine can’t model.
When the wavelength approaches the size of the pattern (average pitch between holes), the face stops behaving like a uniform surface and starts scattering energy instead of absorbing it or reflecting it like a mirror. A lower perforation % leaves more solid wood visible between holes — more contrast, more diffusion.
As with Helmholtz, α is calculated with a transfer matrix (mass + viscous resistance of the perforated sheet, reactance of each layer including the air gaps). The diffusion band is a separate estimate, based on the pattern pitch — it doesn’t come from the same absorption model.
SVG and DXF files are always in millimeters, at full scale: that is what laser cutters and CNC machines read. When importing them, choose millimeters as the unit.
The pattern uses the actual position of each hole from the reference pattern, scaled to the panel size and diameter you defined above — it’s not a generic pattern.
Exports the perforated face at the real material thickness, with the actual holes cut into the geometry (not just drawn on top) — 3D model (.dae — units in mm already embedded in the file) to import into your SketchUp render as a true visual reference. File > Import, select "COLLADA Files (*.dae)" as the file type. Each hole is described as a native opening within a single polygon (without triangulating the face), so it leaves no seam lines when importing into SketchUp.
The triangulated version is an alternative in case your version of SketchUp shows errors when importing the seamless version.
Questions about how to use the toolkit? As a subscriber you can write to us at sn.acoustics.lab@gmail.com and we’ll help you with using the tools.