Roomaxis

The Roomaxis model guide

Three families of
ideal standing waves.

Roomaxis is a small way to inspect a specific mathematical enclosure model. It lists axial harmonic frequencies and keeps their labels, rather than turning them into a room-quality score or a simulated microphone trace.

What the inputs describe

Length, width and height are the internal separations of three opposing, parallel pairs of surfaces in an ideal rectangular enclosure. The model assumes rigid reflecting boundaries and a uniform entered sound speed. It does not calculate how a real wall, window, open doorway, floor cavity or furnishing reflects sound. A room with a recess or an opening may depart substantially from this simple description.

The sound-speed field is an assumption you supply in metres per second. The initial 340 m/s value makes the example arithmetic convenient. It is not a reading of your room, a universal constant for indoor air, or a temperature and humidity estimate. If you change that number, you are changing the model's propagation speed, not correcting measured data. Roomaxis never accesses a microphone or an environmental sensor.

The half-wave calculation

For one axial family, an integer number of half wavelengths fits between the corresponding pair of ideal boundaries. With dimension D, order n and sound speed c, the wavelength is 2D/n. Dividing c by that wavelength gives fₙ =n×c/(2D). The first order is the fundamental of that axis; order 2 is twice its frequency, order 3 is three times its frequency, and so on.

Roomaxis applies this calculation independently to all three dimensions. A length-family record has label(n,0,0), a width-family record has label(0,n,0), and a height-family record has label(0,0,n). The zeros do not describe zero frequency. They say that this axial record does not vary along those two other ideal coordinates. The all-zero label(0,0,0) is never generated as a resonant mode.

A 5×4×2.5 m worked example

Enter length 5 m, width 4 m, height 2.5 m, sound speed 340 m/s and maximum order 3. For length, the round-trip distance is 10 m, so the first axial frequency is 340/10=34 Hz. Its second and third orders are 68 Hz and 102 Hz. Width has a round-trip distance of 8 m: its corresponding frequencies are 42.5 Hz,85 Hz and 127.5 Hz. Height has a 5 m round trip, giving 68 Hz,136 Hz and 204 Hz.

Nine retained records, sorted:34 Hz L1;42.5 Hz W1;68 Hz L2;68 Hz H1;85 Hz W2;102 Hz L3;127.5 Hz W3;136 Hz H2;204 Hz H3.

The two 68 Hz records have different mode labels:(2,0,0) and(0,0,1). They form one exact shared-frequency group. Neither is discarded.

The length's second-order wavelength is 5 m; the height's first-order wavelength is also 5 m. That explains this equality within the entered model. It does not determine how strongly either mode would be excited, how it would decay, or what a listener would hear. Equal frequencies are an arithmetic observation here, not a diagnosis that the room is unusable.

Coincident modes in a cube

Now use 4 m for all three dimensions,320 m/s for sound speed and order 2. Each axis has a 40 Hz first order and an 80 Hz second order. The result has six records: three at 40 Hz and three at 80 Hz. There are two exact shared-frequency groups. Keeping six labels makes the model's axis structure visible; collapsing the result to two rows would hide it.

Length, width and height provide the deterministic tie order in the table. If you swap two unequal dimensions, the numerical family belonging to each dimension follows that dimension's new label. The set of frequencies is unchanged, but the axes attached to the records change. This is useful for checking entered dimensions without assuming a recommended room orientation.

What changing one input does

Double every dimension while leaving sound speed and maximum order fixed. Each denominator doubles, so every corresponding frequency halves. Double sound speed at unchanged dimensions and every frequency doubles. Change only width, and only width-family frequencies change. These proportional relationships are often easier to interpret than comparing two large lists without keeping their assumptions.

Changing the maximum order is different from changing the enclosure. It includes more or fewer harmonic records from the same three axial families. Order 1 gives three records, and order 20 gives sixty. The model still has higher axial orders beyond the selected limit; they are simply outside this report. The entered order does not claim that all modes below the largest displayed frequency have been listed.

Included and omitted mode families

FamilyIndex patternIn this tool?
AxialExactly one nonzero indexYes, through the selected order on each axis
TangentialExactly two nonzero indicesNo
ObliqueThree nonzero indicesNo

The general ideal rectangular expression combines the squared contributions of the three indices under a square root. A record with more than one nonzero index therefore requires another calculation. Roomaxis intentionally does not enumerate those records. Its sorted table is an axial subset, not a complete room spectrum, even if the largest axial frequency is above the frequency range you were initially interested in.

Reading the marker diagram honestly

The horizontal coordinate is frequency in hertz on a linear scale. The three vertical rows only separate length, width and height. A marker's order number tells you which axial harmonic it represents. All markers are drawn the same size. A taller row, an overlapping position, or a dense cluster does not show louder sound, a resonant peak height, bandwidth, decay time or treatment effectiveness.

The diagram includes a zero-frequency origin so that positions are easy to compare, but it does not create a zero-order mode. Its right end follows the largest frequency in the current selected subset, so the drawing rescales when the model changes. Compare the numeric frequencies or exported data across different runs; identical pixel positions in two separately scaled drawings need not mean identical frequencies.

Exact units, sorting and rounded text

Dimensions can be entered in metres or international feet. The conversion is exactly 0.3048 m per foot. A 10 ft dimension therefore equals 3.048 m. With sound speed 304.8 m/s, its first axial frequency is exactly 50 Hz because 304.8 divided by twice 3.048 is 50. This check is independent of the particular default room dimensions.

When you switch units, Roomaxis keeps a separate exact canonical value for each dimension. The visible converted number is rounded to at most twelve decimal places. Switching back and forth does not reinterpret that rounded display as a fresh measurement. Directly editing a dimension replaces only that dimension's canonical value. The other two dimensions keep their exact physical lengths.

Modes are sorted and grouped using exact rational arithmetic before display rounding. The decimal frequency column shows at most six places. Two unequal frequencies can round to identical text; they are not marked as exactly shared merely because the displayed strings match. The exact-fraction column and exports preserve the difference. Exact arithmetic for an entered decimal does not establish equivalent precision in a physical measurement.

Software bounds and validation

Each canonical dimension must be between 0.5 m and 100 m inclusive. Entered sound speed must be between 100 m/s and 1000 m/s inclusive, and maximum order must be an integer from 1 to 20. These bounds keep the diagram and arithmetic manageable. They are software limits rather than recommendations about room dimensions or physically appropriate air conditions. Within them, calculated frequencies range from 0.5 Hz to 20000 Hz; inclusion is not a claim that a frequency is audible or relevant to your room.

Use plain positive decimals with up to twelve places for dimensions and speed. Signs, scientific notation, blank mandatory fields, zero dimensions, unsupported units and fractional orders are rejected. Editing any input immediately clears usable results and disables exports. An invalid dimension blocks a unit switch, and the previous valid report is not silently restored. The Restore example button resets the unit, dimensions, speed, order and conversion caches.

Saving a reproducible model

Copy or download a text report for a readable record of the assumptions and labelled results. CSV contains canonical metre dimensions, the entered sound-speed assumption, order limit, each axis/order label and exact frequency fractions as separate fields. A second dimension row records the selected display unit. The SVG export contains the same kind of equal-size frequency markers as the page, with explicit non-amplitude labelling.

Exports are produced locally from the current valid model. Nothing is uploaded for calculation, and there is no saved online project or shared-results account. If clipboard permission is unavailable, a selectable text area appears instead. Changing an input clears that fallback as well as the old results, so an earlier valid output cannot be mistaken for the current model.

Limits before interpretation

This calculator has no absorption coefficients, damping, leakage, source directivity, loudspeaker or listener coordinates, microphone data, decay times or level calibration. It cannot say which listed frequency is prominent in a recording, where to place a speaker or chair, what EQ to apply, or what treatment to buy. It also makes no building-compliance, safe-sound-level or health assessment. A mathematical axial list is a starting description of assumptions, not an observed acoustic improvement.

Primary references and original arithmetic

MIT's Amar Bose 6.312 Lecture 21 develops the rectangular standing-wave model and the c/(2D) axial spacing. OpenStax's standing-waves section explains the half-wave harmonic relation. NIST's conversion table supplies the exact international-foot definition. The worked rooms, input handling, exports and explanations above are original to this tool; no institutional endorsement or measured-room verification is claimed.

Return to the Roomaxis calculator →