The key piece that differentiates simple steam sounds that I’ve found is that the typical diesel start -> idle -> run sequence of operations doesn’t translate to steam. I think all that would be needed is to have the code be able to be set to return to “idle” with some parked steam locomotive sounds. That and a steam whistle option instead of a horn!
Otherwise the speed and function control stuff works really well running the
locomotves and customizing the rate of acceleration, deceleration, and coasting. I’ve fiddled with .wav files for sound and loaded them onto two different locos - though my sound volume levels & chuffing ‘speed’ need work. I’ve got a rambling attempt at an explanation here...
One, hopefully constructive, comment. Steam engines do not idle. No part of the drive system of a steam engine is moving when the engine is stopped. There can be hissing sounds as excess steam is released, but that is not rhythmic. The "cuff" starts only when the wheels begin to move.