Sound absorption in enclosed spaces (EN 12354-6)
Standards: EN 12354ISO 354Key references: Kuttruff 2016
EN 12354-6:2003 predicts the total equivalent sound absorption area of a room and its reverberation time from the absorption of its surfaces and objects, the design counterpart of the measured reverberation time. It is the absorption member of the EN 12354 building-acoustics family (the airborne and impact insulation members live in Predicting Sound Insulation (EN 12354)). phonometry implements the normative Clause 4 model. (The informative Annex D method for irregular spaces is out of scope.)
1. Equivalent absorption area (clause 4.3)
Section titled “1. Equivalent absorption area (clause 4.3)”The total equivalent absorption area sums, over the surfaces , the objects and the object arrays , each surface’s area times its absorption coefficient, the equivalent absorption areas of the objects, the object arrays (groups of identical objects treated as an absorbing surface of area ), and the air absorption (Formula 1):
For hard, irregular objects whose absorption is not measured, an empirical
estimate from the volume is used (Formula 4): Aobj = Vobj**(2/3).
from phonometry import room
# EN 12354-6 Annex E, bare room (29.75 m3), 1000 Hz octave band.surfaces = [(12.39, 0.05), (12.39, 0.02), (10.90, 0.04), (10.90, 0.04), (6.55, 0.04), (6.55, 0.04)]print(round(room.equivalent_absorption_area(surfaces), 2)) # 2.26 m2print(round(float(room.hard_object_absorption(0.65)), 3)) # 0.75 m2Air absorption uses the power attenuation coefficient m (Formula 2):
Aair = 4*m*V*(1 - psi). Below 1 kHz and for rooms under 200 m³ it can be
neglected.
2. Reverberation time (clause 4.4)
Section titled “2. Reverberation time (clause 4.4)”The reverberation time follows from the absorption area, the volume and the
object fraction psi = sum(Vobj)/V (Formula 5):
where the speed of sound c0 = 345.6 m/s makes the factor 55.3/c0 the
familiar 0.16.
from phonometry import room
surfaces = [(12.39, 0.05), (12.39, 0.02), (10.90, 0.04), (10.90, 0.04), (6.55, 0.04), (6.55, 0.04)]a = room.equivalent_absorption_area(surfaces)print(round(room.reverberation_time(a, 29.75), 1)) # 2.1 s
# Annex E case 2: add furniture (hard objects) to the same room.volumes = [0.15, 0.60, 0.05, 0.05, 0.65, 0.65]aobj = room.hard_object_absorption(volumes)psi = room.object_fraction(volumes, 29.75) # 0.072a2 = room.equivalent_absorption_area(surfaces, objects=aobj)print(round(a2, 2), round(room.reverberation_time(a2, 29.75, object_fraction=psi), 1))# 5.03 0.9Per octave band, one call takes the surfaces (with per-band absorption coefficients) and the air condition and returns the whole spectrum:
from phonometry import room
# Per-band absorption coefficients (125 Hz to 8 kHz) for each surface.plaster = [0.02, 0.03, 0.03, 0.04, 0.05, 0.05, 0.05]tile = [0.15, 0.35, 0.65, 0.85, 0.90, 0.90, 0.85]result = room.enclosed_space_reverberation( [(54.0, plaster), (20.0, plaster), (20.0, tile)], volume=60.0, air_condition="20C_50-70",)print(result.reverberation_time.round(2))# [2.13 1.03 0.62 0.48 0.43 0.42 0.4 ]result.plot() # the figure below: A and T per octave bandShow the code for this figure
import matplotlib.pyplot as pltfrom phonometry import room
plaster = [0.02, 0.03, 0.03, 0.04, 0.05, 0.05, 0.05]tile = [0.15, 0.35, 0.65, 0.85, 0.90, 0.90, 0.85]walls_floor = [(54.0, plaster), (20.0, plaster)]for ceiling in (plaster, tile): room.enclosed_space_reverberation( [*walls_floor, (20.0, ceiling)], 60.0, air_condition="20C_50-70", ).plot()plt.show()The ReverberationResult carries the per-band absorption area and reverberation
time, the volume and the object fraction, and its .plot() draws the
reverberation-time spectrum. This is the prediction counterpart of the measured
reverberation time in
Room Acoustics (ISO 3382) and
of the reverberation-room absorption of
Acoustic Materials (ISO 354).
3. Where the input data comes from
Section titled “3. Where the input data comes from”Surface coefficients. The standard expects the to come from laboratory measurements to EN ISO 354, the reverberation-room method of Acoustic Materials; theoretical, empirical or field values are admitted as long as the data source is stated. ISO 354 delivers one-third-octave data, and an octave-band calculation takes the arithmetic mean of the three thirds as its input. A reverberation-room coefficient can exceed 1.0 (edge diffraction scatters more energy into the sample than its flat area intercepts); it enters Formula 1 as measured, without clamping, because the same diffuse-field convention that produced it is the one the model assumes.
Furniture and occupants. Objects contribute through three routes: a measured equivalent absorption area when one exists (persons and seating have tabulated values in the informative Annex C), the Formula 4 estimate for hard, irregular, unmeasured objects (furniture, machinery), and object arrays rated as an absorbing surface when many similar objects cover a zone (an audience, a storage rack). Objects also displace air: their summed volume enters the object fraction that shortens in Formula 5 beyond what their absorption alone would.
Air. The air term uses the power attenuation
coefficient from the standard’s Table 1, resolved by the
air_condition strings (temperature and relative-humidity class, derived
from ISO 9613-1); it only matters above 1 kHz and grows with the volume.
The six built-in profiles, "10C_30-50" through "20C_70-90" (clause 4.3
recommends "20C_50-70" when no conditions are specified), cover the
standard 125 Hz to 8 kHz octave bands only and cannot be combined with a
custom frequency axis; air_condition=None (the default) omits the air
term, and for other frequencies or conditions compute per ISO 9613-1
and chain air_absorption_area into equivalent_absorption_area.
Validity limits (clause 4.6). The model assumes an ordinary, reasonably diffuse room: no dimension more than 5 times another, opposite surface pairs whose coefficients differ by less than a factor of 3 (unless scattering objects are present) and an object fraction below 0.2. Outside those limits the field is not diffuse and the model errs on the optimistic side: the standard’s own accuracy clause records measured reverberation times up to twice the prediction in low-diffusivity rooms. The classical alternatives for those cases live in Reverberation-time prediction.
4. Enclosed-space report (.report())
Section titled “4. Enclosed-space report (.report())”ReverberationResult.report(path) renders a one-page PDF fiche characterising
the enclosed space: a basis line naming EN 12354-6:2003, an optional metadata
header block (client, room, description, room volume, object fraction, climate),
a per-band table of the equivalent sound absorption area and the
reverberation time beside the reverberation-time plot (.plot()), and the
boxed mid-frequency reverberation time with the mid-frequency absorption area
alongside. EN 12354-6 gives a diffuse-field estimate, not a measurement, so
no PASS/FAIL verdict is emitted; a target reverberation time supplied through
the metadata’s requirement field is printed as a reference line only, since a
room reverberation time is a target range rather than a strictly
higher/lower-is-better quantity. It uses the same ReportMetadata container and
rendering engine as the other fiches; passing metadata=None produces a bare
characterisation fiche. Rendering needs reportlab
(pip install phonometry[report]); only engine="reportlab" is supported. The
fiche renders in English by default; pass language="es" for a Spanish fiche
(translated fixed strings and a comma decimal separator).
from phonometry import ( enclosed_space_reverberation, hard_object_absorption, object_fraction, ReportMetadata,)
surfaces = [ # per octave band, 125 Hz - 8 kHz (20.0, [0.05, 0.10, 0.20, 0.30, 0.40, 0.50, 0.55]), # carpeted floor (20.0, [0.20, 0.40, 0.65, 0.75, 0.80, 0.80, 0.75]), # acoustic ceiling (45.0, [0.02, 0.02, 0.03, 0.04, 0.05, 0.05, 0.05]), # painted-plaster walls]volumes = [0.5, 0.8, 0.3] # furniture, m^3result = enclosed_space_reverberation( surfaces, 50.0, objects=hard_object_absorption(volumes), object_fraction=object_fraction(volumes, 50.0), air_condition="20C_50-70",)result.report( "enclosed_space_fiche.pdf", metadata=ReportMetadata( specimen="Meeting room, furnished", test_room="Meeting room M2", measurement_standard="EN 12354-6", temperature=20.0, relative_humidity=55.0, laboratory="Phonometry Reference Laboratory", requirement=0.6, # printed as a target reference line, no verdict ),) # the per-band A/T table + the boxed T_midThe example fiche is regenerated with make reports and kept rendered in the
repository; click the preview to open the PDF.

One-page EN 12354-6 enclosed-space fiche: a metadata header (client, room, description, room volume, object fraction, temperature, humidity and pressure), the octave-band table of the equivalent sound absorption area A and the reverberation time T from 125 Hz to 8 kHz beside the reverberation-time plot, and the boxed mid-frequency reverberation time with the mid-frequency absorption area alongside (no PASS/FAIL verdict).
See also
Section titled “See also”- API reference:
room.enclosed_space_absorption.
References
Section titled “References”- European Committee for Standardization. (2003). Building acoustics — Estimation of acoustic performance of buildings from the performance of elements — Part 6: Sound absorption in enclosed spaces (EN 12354-6:2003). The Clause 4 model, its input-data rules and its validity limits: the total equivalent absorption area (clause 4.3, Formulae 1-4, Table 1) and the reverberation time (clause 4.4, Formula 5), validated against the three worked cases of Annex E. The linked catalogue record is the BSI Knowledge page for BS EN 12354-6:2003.
- International Organization for Standardization. (2003). Acoustics — Measurement of sound absorption in a reverberation room (ISO 354:2003). The laboratory measurement the surface and array coefficients come from.
- Kuttruff, H. (2016). Room acoustics (6th ed.). CRC Press. https://doi.org/10.1201/9781315372150The statistical reverberation theory the standard's formulae specialise.