The best that I have heard so far! Keep up the good work.
I've added a new video of yet another steam sound experiment, based on actual sound recordings of "chuffs" from the NKP #765, 2-8-4 type steam locomotive. You can look-at/listen-to the video, which I've entitled
Modern Medium-Sized American Locomotives, at YouTube.
I will have to ask a question here. What system do you propose instead of 'on the fly changes'?
I wanted to comment on some of the things you brought up, so here goes...
Time-shifting (with no pitch-shifting) would be preferable to pitch-shifting. It's possible to raise/lower the tempo of given loop without raising its pitch via software. The altered sound does tend to "fall apart" if you stretch it by a great deal, but mild changes aren't bad (sounding).
Most all of today's audio editors allow for time-shifting (without pitch change), and many of today's audio production software can perform the same "live", in real-time -- for example, Fruity Loops or Apple's Garage Band, both can stretch/shrink "loops" to faster or slower tempos without changing the pitch of the recordings and can do so in real-time.
Would you prefer the content creator to have to create hundreds of separate sound files? Of course, to do this, you would need to manually make the same changes as Trainz itself makes anyway, since not all recordings are at the exact speed that you want...
Maybe it's time to rethink the process -- at least for the _production_ of sound loops. There's no need to "reinvent the wheel", so to speak -- there's a technique that be around for decades -- "sample-based synthesis" -- a techniques that have been widely used since the 1980s, but dates back to (at least) the 1950-60s.
In regards to music: If you want to emulate a violin section, you simply record a few _notes_ played with the instruments range, in different playing styles, rather than attempting to recording a "sequence" of notes. So, for example, rather than recording Beethoven's string quartets in its entirety, you simply a record a small number of (individual) musical notes, from each of the four string instruments, in a variety of playing styles that would be typically used within the string quartets. Once that's done, you simply "playback" the musical piece via a keyboard or music sequencer.
In regards to Trainz: You shouldn't need to assemble a great number of sound "samples" (although "more" usually means "better" sound). In this
example video, I used only a total of 24 different "chuffs", recorded at about 3 different speeds. If I had unfettered access to a good variety of steam locomotive "chuffs", I produce a _wide_ variety of sound loops for use in Trainz. But the samples would need to be free of ambient noise and of "decent" sound quality, as well as being licensed from the sound's creator. Unfortunately, _all_ of those characteristics are things you won't find on most available recordings commonly found commercially or online.
No matter what, the sounds will need to be 'stretched' or 'shrunk' in some way to ensure that they play in time with the wheels. Granted, it does loose quality. However, this is the only way to create variable speed/rate sounds (note, we could just turn Trainz into movie clips, with no control, but then you do loose that simulator idea). Of course, there are also limits based off the sound card. Even a high end sound card can only handle so many sounds. Changing the actual file to another file too quickly will effect performance, and sound quality (since you would need to 'overlay' the two sound files more often).
Using "sample-based synthesis" techniques, you can playback the original sampled "notes" at whatever tempo you'd like, _without_ the need to change the pitch from its original value, under most circumstances.
However, using this as a "playback" method wouldn't be ideal -- ideally, if the sound loops are _produced_ using "sample-based synthesis" techniques, then one can create the loops at whatever tempo you'd want, be it a@ 30RPM or 200RPM.
As a note, the sound files used by the Blue Comet are the 2 cylinder sounds from TC3 (which has become a 'base' sound for TC3+ 2 cylinder steam locomotives). Mainly because it's rather difficult to record the Blue Comet now, and since the cost of having the appropriate recordings created is not viable (would require supplying someone with equipment, then having them travel to the US, plus time recording, editing, etc, etc). In reality, the G3s locos are using a Black 5's sound recording (not that it really sounds out of place, these are a decent size loco, with a decent exhaust beat, which is pretty close to most 'mid size' 2 cylinder locos).
Please indulge me, while I "harp" on something -- American steam locomotives did and still do sound very different from their European counterparts. I can remember reading a good many comments in articles written in the 1950s-60s in a variety of railroading and model railroad magazines about those tonal differences. To use a popular term used by many write regarding the tonal differences, the European locomotives were described as sounding "softer" than the American locomotives. My father worked as a fireman and engineer on the Virginian/N&W during the steam era and I can remember listening to a conversation he had with some of the older railroaders that had been in Europe, as members of the U.S. Military Railway Service during WWII, about the "different" sound of U.S. vs European steam locomotives.
Unfortunately, if we wanted to have 'perfect' loco sounds, we would need someone to go out and spend a few days recording the sounds from the loco in question, and try to edit out a separate sound file for each minute change in speed (lets say, a file for every 'rpm' rate from 0 to 150 - thats 150 files for your 'chuff' alone!).
Actually, if you used "sample-based synthesis" techniques you could get by with recording only a _few_ samples of sound, recorded at very basic tempos, from slow to fast. The results wouldn't be "perfect" (nothing is, in this world) but the results would be "excellent", and far cheaper to produce than attempting to record 150 different loops -- or even the 15 or so loops that Trainz actually would require for most steam locomotives under its present setup.
This removes some of the need for 'stretching' on the fly, but then adds the need for stretching by the creator instead. If this were the case, it's likely that you would have maybe one low quality sound asset, and that is all. Instead of having a number of good quality sound assets, which have a good (maybe not perfect, but a good) sound in-game.
Again, you don't need to "stretch" much, if any, using "sample-based synthesis" techniques.
Granted, my examples above are fairly extreme. However, would this not be required if you removed the 'stretching' for the sound files in Trainz? You still need to cover different speeds, and ensure that they 'transition' between the speeds.
The details of how "sample-based synthesis" techniques work (in regards to producing Trainz steam sound loops) are beyond the scope of this posting, but I can put something together than explains the technique and make it available online.