Page actions
instrument / verified-clean
Room Modes Calculator (Axial)
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Audio, Music, Photography & Color
- Tranche
- tranche-2
- Evidence ID
- t2-049
- Ledger rows
- 1
No ledger note is attached.
Review findings
The honest label correctly states that tangential and oblique modes are ignored, but the implementation must enforce exactly one nonzero mode-order component for every reported mode. Verdict is NEEDS_REVIEW because axial-mode input constraints and the mode-overlap warning criterion are not specified.
Formula and scope findings
- The formula f=(c/2)*sqrt((nx/Lx)^2+(ny/Ly)^2+(nz/Lz)^2) is the standard rectangular-room modal formula, but it computes axial, tangential, and oblique modes depending on the mode-order vector. For axial-only output, exactly two of nx, ny, nz must be zero and the remaining order must be a positive integer.
- The specification does not define how mode orders are supplied or constrain them to nonnegative integers.
- The all-zero mode vector produces 0 Hz mathematically but is the DC/static mode, not a room resonance, and should be rejected or excluded.
- Mode-overlap warnings are underspecified: no frequency tolerance or definition of overlap is provided. Exact equality is insufficient for practical acoustic overlap warnings.
Unit assumptions
- Lx, Ly, and Lz are positive room dimensions in metres.
- c is in metres per second; c=343 m/s corresponds approximately to air at 20 degrees C.
- nx, ny, and nz are dimensionless nonnegative integers.
- Frequencies are returned in hertz.
- For axial modes, each mode vector has exactly one positive order and two zero orders.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
The specification exposes an undefined result for a zero room dimension and ambiguity around zero-order, non-axial, and signed mode-order inputs. A robust implementation must validate positive dimensions, handle the all-zero mode explicitly, and enforce or clearly flag the axial-only selection rule.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"room_length": 5,
"room_width": 4,
"room_height": 2.5,
"dimension_unit": "m",
"speed_of_sound": 343,
"axial_modes": {
"x": [
1,
2,
3
],
"y": [
1,
2,
3
],
"z": [
1,
2,
3
]
}
},
"expected_outputs": {
"frequencies_hz": [
{
"mode": [
1,
0,
0
],
"frequency": 34.3
},
{
"mode": [
2,
0,
0
],
"frequency": 68.6
},
{
"mode": [
3,
0,
0
],
"frequency": 102.9
},
{
"mode": [
0,
1,
0
],
"frequency": 42.875
},
{
"mode": [
0,
2,
0
],
"frequency": 85.75
},
{
"mode": [
0,
3,
0
],
"frequency": 128.625
},
{
"mode": [
0,
0,
1
],
"frequency": 68.6
},
{
"mode": [
0,
0,
2
],
"frequency": 137.2
},
{
"mode": [
0,
0,
3
],
"frequency": 205.8
}
],
"mode_overlap_warnings": [
{
"modes": [
[
2,
0,
0
],
[
0,
0,
1
]
],
"frequency_hz": 68.6,
"reason": "exact frequency match"
}
]
},
"working": "c/2 = 343/2 = 171.5. Length-axis base: 171.5/5 = 34.3 Hz, so orders 1,2,3 give 34.3, 2*34.3 = 68.6, and 3*34.3 = 102.9 Hz. Width-axis base: 171.5/4 = 42.875 Hz, so orders 1,2,3 give 42.875, 2*42.875 = 85.75, and 3*42.875 = 128.625 Hz. Height-axis base: 171.5/2.5 = 68.6 Hz, so orders 1,2,3 give 68.6, 2*68.6 = 137.2, and 3*68.6 = 205.8 Hz. The length-axis second mode and height-axis first mode both equal 68.6 Hz."
}Related workflows
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche2/tranche2-results.jsonBOUNDARY_HAZARD_CATALOG.json