Some thoughts on sounds.

Yes, it is an interesting discussion.

From the above posts it seems to me that we MAY need an LOD equivalent for sounds, like the LODs for graphical objects but not linked to distance from the camera. I do recall a discussion some time ago about the sound of steam locos being tied to their speeds (I have noticed a change in the beat of the loco sounds at around 9-10mph) and that this should be tied to the throttle setting instead.

I can see problems though. You would need realistic high quality audio recordings for many different throttle settings just as you currently *should* have many different mesh and texture-maps for different LOD distances. While the LOD data size does decrease with increasing distance, the audio data recording size would probably not.

Smoke levels could be similarly handled.

Just an idea.
 
One question - why 2 audio channels? I was thinking the audio comes from a point source, and so should be a mono file that would be mixed to the two output channels depending on the orientation of the camera to the audio source?
Only ambient sounds are stereo, because they are not a point source. Point source sounds are mono, and are moved left or right depending on the orientation of the source to the user's implied viewing position.
 
Tracksounds...

Tracksounds should no loner be allowed to be tied to bogey KUID's. Tracksounds should strictly be tied to track KUID's. A track over wooden ties sounds different from tracks over a bridge or in a tunnel. They may also sound different based on various methods tracks are constructed these days. Also, locomotives, passenger cars and freight cars sound different when going over these tracks. With that said, I propose the tracksound KUID has multiple tracks based on what is on them. Here is an example of what I am saying.



There is a tags available for this already and this has been used by some content creators. Jointed Rail, for example has exellent bogey and couple sounds which have all the rattling and squeaking you would expect of a freight car.

Some older Romanian track produced sounds based on the speed that the train traveled. This track, however, is the old chunk mesh and doesn't look as good as it did back in the TRS2006/TS2009 days, and HP Trainz applied sounds to their bridges used on their payware Marias Pass route.

http://online.ts2009.com/mediaWiki/index.php/"track-sound"_container

Track-sound container, which can be attached to track, bridges, bogeys.

Code:
track <NULL>
track-parent <NULL>
bogey <NULL>
track-sound <NULL>
priority 0


Sounds attach to a bogey like this:

Code:
kind          "bogey"
 animdist      2.39
 axle-offsets  -2.5,2.5
 direct-drive  0  
 track-sound   {}


We have the capabilities of this here, but it needs to be implemented more fully. Having a library of excellent track is a great idea. With the library, content-creators could choose the sound appropriate to their asset. The problem though, like the switch point sounds, we'll have a generic sound for each situation, and like the other built-in sounds like the current track-sound, we'll be annoyed with the same sounds for everything. That's an issue which we need to work out and like anything else is community driven, community-created, and there will be some sounds better than others, sounds that don't quite match the bogeys, the kind of track, and so on so in the end the only way to accomplish this is to use custom track sounds for each and every track-type, and each and every bogey-type/set will need its own sound set.

In theory this is great, but given the complexity of everything related to railroads, we have quite the project, or pickle if you want and that's why we ended up with the default track and point sounds we've got.

 
In TRS2006 there are a whole slew of railroad sounds, hidden away inside a JA file, and all these sound files are never ever used, such as: coupling, uncoupling, points ... etc ... sound files

I don't know why it is so difficult for N3V to get these sound files to work, and why they are hidden away, "locked down" inside an un-openable, un-editable, JA file

And whoever recorded, and incorporated the lame default click-clack tracksound, surely was tone deaf, and never even listened to a real prototype train sound
 
Last edited:
I have to say about the 2nd photo above the smoke that the loco is producing is from coasting and not applying any throttle at all. Of course less smoke is produced by doing this. In Trainz, it IS represented in Driver by putting your driving mode to "cab or realistic mode". In DCC it does not because it works differently, basically like a model train instead of a real one. You can hit a button to adjust the smoke to look like your model train is coasting, but it isn't.
 
Last edited:
In TRS2006 there are a whole slew of railroad sounds, hidden away inside a JA file, and all these sound files are never ever used, such as: coupling, uncoupling, points ... etc ... sound files

I don't know why it is so difficult for N3V to get these sound files to work, and why they are hidden away, "locked down" inside an un-openable, un-editable, JA file

And whoever recorded, and incorporated the lame default click-clack tracksound, surely was tone deaf, and never even listened to a real prototype train sound

The coupling sound is used in TS12 and up. When coupling there's that bang, clink, clunk, rattle roll, squeal as the freight cars settle back into place after being slammed and coupled. When uncoupling, the process produces a clink and bang sound as the couples undo and the air hose glad hand uncouples.
 
Basically the sound issues are (compiled):


  • Old sounds with low sample and bitrate
  • Bad documentation on the already included sound engine (the Trainzwiki is there but yeah it still would help if there where better explanations especially on the recommended lengths of the .wav files in engine sounds) There should be clear sound conventions.
  • Under utilisation of the already included engine> I see lots of engine sound where functions of ramp up and ramp down are not used. For an example of this download a Taurus Locomotive with included engine sound and test it. The engine sound is there in whole (in the file) but the config does not provide the right lengths of the ramp up and down durations so the wav sounds are not played right. This is already a third party object but a good example nevertheless that content creators are partly responsible for the finishing touches (sounds)
  • Not providing all necessary sound samples: When making an acceleration sound it is necessary for provide 8 ramp up sounds and 8 ramp down sounds and 8 idle sounds. I did that with my own Japanese engine sounds. And even I made a little fault in my latest N700 Sakura enginesound where an idle sound is a bit to short and therefore repeating and clicking (will provide an update of that sound by time stretching that file and) even though I provided an exponential fade in on the beginning and out on the end of the .wav file of a few milliseconds.
  • Not using the sound radius settings (as mentioned by J Citron)
  • No basic sound object editor in Surveyor (a menu with some edtiting options would be nice for the scenery sound objects so that you can set the sound radius jus in the same way as you set trigger radius.
  • N3v not providing a basic good starting sound sets to begin with and relying on very old sound sets.
  • No options to switch things on and off to your liking from within the program.

As a music artis and Audiophile I would say that mono is fine. It is in fact better for placements for objects within a world. It is the engine of the game that mixes the sound object back in stereo. I mean in music a lot of base and base guitar samples are mono mixed too to sit in the middle of the mix and help to bring out the stereo mixed sounds by providing a clear base tone in the middle so that other sounds such as pads and synths provide a stereo carpet. You would be surprised that a lot of vocals are recorded mono too but are then feed into auxiliary mixing channels for stereo effects, placement (panning) and layering.

So Mono is not the issue. It is what the sound engine of the program does with it>>

The suggested action that the engine should skip the idle files would help with acceleration and braking would help with making acceleration sounds and braking sounds more realistic. But a better mechanism to tie the .wav file to certain speeds would be even better.

In an ideal would you should be able to create a train where every part of it is being able to make it own sound and then use an in game mixing desk to tune the levels. Dream on :udrool:

Here's an example of a Japanese BVE route to demonstrate how important sound is. Without the sound half of the illusion would be destroyed. BVE is able through sound only to make a very convincing ride. This is of course a Japanese example but it also holds true for Diesel Trains and Steam engines.

.
 
Last edited:
Like i brought up, the default sounds are annoying to me, especially since i can't disable them in T:ANE like previous version. But one thing i can see, is to add a option to use custom sounds, custom sounds tied to tracks (this idea is from what i read in this), the default (which should be disabled by default and is a fallback incase somethings wrong), and maybe throw in another default, only the 2nd default is the old trainz track sounds from Trainz, UTC, and i believe 2004(?)
 
What's also unclear is just what kind of sound producing device the Trainz audio engine is expecting. ... Some use onboard audio, some use sound cards, but there seems to be no correlation between the hardware and the quality of the resulting sound.

Interestingly, the TANE Hardware Discussion Forum lists the minimum and the recommended CPU, GPU, OS, RAM and HDD space, but no audio specs at all.
 
Trainz 2019
The Sound quality of the Steam Engines are very Poor and unrealistic. I have tried everything with the COnfig files to no avail to make them sound better.
The Chug Progression is really bad, How can Trainz be this bad? The older TRS 2006 had excellent Steam Sounds.
 


We have the capabilities of this here, but it needs to be implemented more fully. Having a library of excellent track is a great idea. With the library, content-creators could choose the sound appropriate to their asset.



John, You've raised some good points about using sound for content creators.

Following another aspect 'using sounds',...

I used wav files for station platform announcements on a metropolitan route. These are activated as nominated trains cross a 'trigger' entering the station. Whilst they sound great when in control of that particular train, however, when you hop aboard another train at the extremity of the route, the 'sounds' from multiple stations can be heard quite loudly across the route.

What are the best sound files to use for this purpose and how are the sounds localised around the relevant station and not across the route ?

I'd appreciate any feedback, thanks.

Cheers,
Roy
 
If Trainz wants to take a major step forward and improve significantly, N3V must focus on improving the up-close detail of routes, as well as the sound. The current sound engine (if there even is one) is extremely basic and likely has not been touched in over a decade except for bug fixes.

What I want is for Trainz to get the native ability to edit and apply effects to sounds. Things such as equalization or reverb/echo. IRL you cannot hear the high pitched whine of a diesel engine at full power from 3 or 4 miles away, but you can certainly sense at least a rumble in the ground, which can be done with equalization, cutting off the higher frequencies at higher distance so that only the bass frequencies are heard. And as that loco (or any sound source) gets closer to the player, the cutoff gets higher so that more and more higher frequencies are audible, the center of the locomotive being the point where the high frequencies are loudest.

Things mentioned, like a sound library that has a selection of common sounds (huge selection of random environmental sounds, such as birds, water, different car/truck sounds, and platform passenger sounds that don't sound like zombies), that can be attached at points on many scenery assets, should be optimized so that they don't necessarily have a big overhead.

Echo and reverb is critical, it gives the sense of space. Hearing my enginesounds without reverb or equalization makes me feel like I am trapped in a box with sound-insulated walls with the loco! And when inside the loco cab, almost always you can hear the lower frequencies of the engine and outer sound, but the higher frequencies are blocked out as these are more damaging to ears. I'm not sure exactly what plays a role in how much a sound echoes but I feel like the bounding box and PhysX or some thing like that could be used to make the (one-time) reverb calculations for a given scene when it is loaded. Although how we perceive reverb and echo could be dependent on how far we are from the sound source, so I don't know how that would work with the new cameras that you can fly all over the place with.

Ability to add a high and a low tone horn. Maybe more so UK oriented but the regular hornsound can be modified so that it can support WAV files with loop points embedded into the file (like the "other" sim).

Startup/shutdown ability, although this would mean some changes to how traincars and trains are handled by the game because of how a single train can only have one throttle setting. Maybe only make the multiple-compatible, connected locos able to be controlled by a single HUD control? Add another HUD control for locos of another multiple working type?

A different falloff for sound as you get farther. Also calculated by how many objects/bounding box are inbetween the sound source and the player.

Stereo sounds.

Slight variations in the pitch/speed at which all sounds are played, unless otherwise noted (in config). A range of pitch bend/variation can also be specified in the config. Maybe half a semitone lower when two or more engines are being run together, this helps prevent the weird audio phase issues that makes the sound come out like a vacuum tunnel (caused by two audio files of the same pitch played simultaneously).

More environmental sounds in general, such as the sounds of cars/trucks/buses added for each individual vehicle, all combining to give off the sound of a motorway, and the sounds of miscellaneous birds and things of the sort.

Different applications/effects on sound under bridges, tunnels, etc. through the use of equalization and reverb and such.

New tracksounds and junction sounds. Better sounds for flange squeal on tight curves, and a different sound for wheelslip (or no sound at all depending on many factors).
 
John, You've raised some good points about using sound for content creators.

Following another aspect 'using sounds',...

I used wav files for station platform announcements on a metropolitan route. These are activated as nominated trains cross a 'trigger' entering the station. Whilst they sound great when in control of that particular train, however, when you hop aboard another train at the extremity of the route, the 'sounds' from multiple stations can be heard quite loudly across the route.

What are the best sound files to use for this purpose and how are the sounds localised around the relevant station and not across the route ?

I'd appreciate any feedback, thanks.

Cheers,
Roy

Roy,

I actually forgot about my initial post from a year ago, almost exactly a year ago to be exact. :)

Here's the Wiki article on the sound-script container.

http://online.ts2009.com/mediaWiki/index.php/"Soundscript"_container

There's a default fall-off and radius for the sound of 50, 150. If I recall, these are in meters and percent. (I just read this and forgot what it said after I got interrupted!)

This will cut back the distance from the source down to a more localized sound, which is what you want. There is also an ambient sound-setting, but this is like ambient light and an overall effect with no source. You can probably use something like this for the overall station-sound and then adjust the volume. That, by the way, is set to 100% by default or 1 as the value. Anything less than that, I assume is done in decimal values for percentages of the 100%.

Like anything involving sounds, you'll probably have to fiddle around until you get the right settings. Hope this helps.
 
As pointed out in previous posts in this thread, while the software side of sounds is handled by the N3V coders, the real "guts" of the sound issue comes down to the source recordings made by the creators of the locomotives. If a creator, for example, did not record a "Chug Progression" for a particular loco then how can one be played? If the audio software AI (and there is another "can of worms") decides that a Chug Progression is needed in a set situation and none is available should it select a default sound? Then sit back and wait for the protests over its selection of a non-authentic "chug".
 
I’ve always thought Trainz needs the ability to adjust sounds for distance. Not just volume. As sound gets farther away the high end disappears. Only the lower end travels distances. This is what gives distant horns and whistles their unique sound. There’s also more of an echo to a distant sound because it’s bouncing off objects on its way to the listener.

This could either be done automatically by having the program just ramp down the higher frequencies along with the volume as the sound becomes more distant. Or it could be done like LODs, and have different sound files for different distances.
 
Thanks John for the Wiki link. I'll do some experimenting and see where it takes me.

Cheers mate,
Roy
 
I’ve always thought Trainz needs the ability to adjust sounds for distance. Not just volume. As sound gets farther away the high end disappears. Only the lower end travels distances. This is what gives distant horns and whistles their unique sound. There’s also more of an echo to a distant sound because it’s bouncing off objects on its way to the listener.

This could either be done automatically by having the program just ramp down the higher frequencies along with the volume as the sound becomes more distant. Or it could be done like LODs, and have different sound files for different distances.

That's one of the best ideas I've heard yet for improving the sounds in Trainz. Many of the locomotive horns, in particular, have a thin tinny sound heard from a distance although they're fine up close. Why? Because as sound level drops the ear becomes proportionally less sensitive to lower frequencies (this was the rationale for the "Loudness" control that used to be an option in many audio pre-amps).

Two others:

--An option for prioritizing sounds if the Trainz sound engine is faced with more sources than it can handle (a cause of the sound dropouts, IMHO). If more sounds are received for processing than the engine can handle they could be "triaged" on a priority scale, something like this:
Priority 1: enginesounds
Priority 2: bogey sounds
Priority 3: grade crossing sounds (not sure how this could be implemented; possibly using mocrossing as a criteria?)
Priority 4: all other sounds, such as industries, bird and other sound files, etc.

I would think this could be done in the Trainz software itself without altering any of the existing assets and might contribute considerably to a more enjoyable experience (I'd much prefer a factory rumble to disappear than have the engine and bogey sounds continually dropping out).

--An overhaul of the Doppler effect. At present every little fluctuation in engine speed causes a severe "wobble," which in real life would not occur (something as heavy as a locomotive is not going to waver significantly in speed unless it hits something ^__^ ). Perhaps the Doppler engine could average out engine speed over a fixed time period, say every half-second or so (or better still, a user-adjustable value), smoothing out the "wobbles."

--Lamont
 
Back
Top