Mechanical & transport
Engines, machinery, and rail/road traffic are broadband but
low-frequency-weighted, and temporally steady or quasi-periodic (engine
firing, bogies over rail joints, a compressor duty cycle). Before, the pieces
were scattered across rhythm, spatial, states, and compare;
mechanical gives the domain a first-class home. It reads the cached features
(no audio pass) and its descriptors ride in the analyze summary.
What it measures
mech_lowfreq_fraction— share of octave energy below 250 Hz. Traffic and machinery pile energy low; a train is typically >0.9.mech_rumble_db— mean level in the 31.5–125 Hz rumble band.mech_periodicity_hz/mech_periodicity_strength— the peak of the 50 Hz broadband envelope's modulation spectrum in 0.3–12 Hz (engine / bogie / duty-cycle rhythm) and how strongly it stands out.mechanical_index— low-frequency weight scaled by periodicity prominence, in [0, 1].
Usage
ambiscape analyze <session> # mechanical_* keys appear in the summary
ambiscape mechanical <session> # detail: writes mechanical.json
from ambiscape import features, mechanical
F = features.load_features(sorted((out / "features").glob("*.npz")))
mechanical.summarize_mechanical(F)
Caveats
These are acoustic-structure proxies, not detections. Indoor HVAC rumble and a passing lorry look alike here, and a steady tonal machine may also light up Mains hum & ENF. For directional confirmation use the pass-by view in Spatial analysis; for pitched machinery, the strike periodicity in Strike-level rhythm.