# Custom exhaust pulse character Compared the previous `src/scenario.cpp` from HEAD with the updated implementation using the same capture tool, default Rusanov solver, dry scene, 55% pedal, 3,000 RPM, 0.6 s warmup and 0.5 s recording. No gain normalization or added noise/distortion was applied. Captures are in `out/audio-character/`. Energy fractions below use both channels, discard the first 20% of the recording, remove DC and apply a Hann window. The denominator is spectral energy from 20 Hz to 6 kHz. Upper harmonics are above 1.5 times the aggregate firing frequency (RPM / 120 * cylinders); low orders are below 0.8 times that frequency. These are engineering checks on pulse character, not a perceptual realism score. | Example | Upper harmonics, before ? after | Low orders, before ? after | | --- | --- | --- | | Inline three | 78.6% ? 85.6% | <0.1% ? <0.1% | | F20 inline four | 53.2% ? 87.0% | <0.1% ? 1.1% | | Inline five | 51.6% ? 92.5% | <0.1% ? 0.3% | | RB26 inline six | 21.4% ? 88.4% | <0.1% ? <0.1% | | Long-stroke inline six | 29.0% ? 81.3% | <0.1% ? <0.1% | | Big-block V8 | 40.3% ? 59.6% | <0.1% ? 23.2% | | V10 | 84.6% ? 31.0% | <0.1% ? 14.4% | | V12 | 52.2% ? 55.1% | 0.1% ? 19.7% | The V10's energy shifts toward lower bank orders rather than simply becoming brighter. All eight updated examples also completed fixed-RPM captures at 1,000 and 6,000 RPM using the same warmup/duration/pedal. All 24 updated captures produced finite audio with zero clipping samples. Maximum rendered absolute amplitude across these captures was 0.524 full scale. The catalog regression runs each example through one second of throttle and one second of pedal release. It checks finite audio, sustained positive RPM, zero pipe positivity repairs, big-block power, and the new topology flags. The desktop UI and physics regression tests cover the existing controls and base simulation. For listening comparisons, match playback loudness: removing large collector volumes increases level as well as changing spectrum. Geometry and calibration remain estimates; these measurements do not establish a match to recorded engines.