# Trainz/Kinds/kind enginesound

KIND Enginesound assets are locomotive enginesounds customized to the type of locomotion prime mover in the Locomotive. Kind Enginesound will also often be seen by KUID references in other rolling stock, for even freight cars make noise.
There are three types of Locomotive prime mover power plants - Diesel, Electric, and Steam.
* [e]
* KINDs (type asset groups) and containers
* KIND Achievement-category
* KIND Achievement-group
* KIND Activity
* KIND Asset-group
* KIND Behavior
* KIND Bogey
* bogeys container
* KIND Buildable
* class library
* KIND Controlset
* KIND Consist
* KIND Drivercharacter
* KIND Drivercommand
* KIND Engine
* KIND Enginesound
* KIND Environment
* extensions container, or extensions
* KIND Fixedtrack
* flowsize container
* KIND Gameplaymenu
* KIND Groundbrush
* KIND Groundtexture
* KIND Hornsound
* KIND HTML-asset
* KIND Industry
* KIND Interior
* junction-vertices container
* KIND Library
* kuid-table
* KIND Map
* KIND Mesh
* member-of-groups
* mesh-table container
* KIND Module
* KIND MOCrossing
* KIND MOJunction
* KIND MOSignal
* KIND MOSpeedboard
* obsolete-table
* privileges
* queues container
* KIND Pantograph
* KIND Product
* KIND Product-category
* KIND Profile
* KIND Region
* season-selector container
* KIND Scenariobehavior
* KIND Scenery
* KIND Scenery-Trackside
* KIND SceneryWithTrack
* script-include-table container (TBS)
* KIND Servlet
* smoke container
* KIND Steam-engine
* KIND Texture
* KIND Texture-group
* thumbnails container, or (TBS)
* KIND Track
* track-lod-tree container
* KIND Tracksound
* KIND Traincar
* KIND TrainzBaseSpec
* KIND Turntable
* volume container
* KIND Water2
Diesel enginesounds are formed of a number of separate wave files. These are 'steady state' sounds (one for each runlevel from 1 up to 8) and 'transition' sounds (used when going between one runlevel and the next one up, or next one down). Diesel locomotion is more correctly termed diesel-electric, for the diesel most often turns a dynamo producing electric power, and the wheels are torqued by electric motors. When acceleration is a factor, the reverse torque from the wheels creates what might be thought of as reverse power surges, which can be seen on the panel meters: as the applied-torque builds, the amperage peaks up higher; as the speed picks up, the reflected power and counter-torque drop and the meters indicate a lesser stable current use. In real locomotive driving, a major part of the operator's job is to accelerate as fast as possible whilst keeping such peaking power requirements within acceptable range limits; otherwise things break, burn up and catch fire!
Electric enginesounds play one wave file, but pitch shift it to produce a continuously variable sound linked to the speed of the train. (Note: If your electric needs it's enginesound linked to throttle position rather than train speed, it's better to use a 'diesel' style 'ramping' sound). Electric locomotion has the same reverse torque reflection power demands, and the ammeters will operate the same. The biggest difference in sound, is the power is remotely provided at high voltage and stepped down to supply motive currents. The loading sounds prevalent in diesels, take place in the dynamo's of the power station. Hence electric locomotion reflects only motor noises.
Steam enginesounds play a number of individual 'chuff' files at low speed, and switch to a series of pitch-shifted loop sounds at higher speeds.
Note: Trainz knows that a specific enginesound is a 'steam' enginesound simply because it's used on a steam locomotive KIND.

## KIND Parent Classes

* KIND TrainzBaseSpec
* KIND Engine
* KIND Steamengine

## Supported Tags
#### speedup

    Data Type: Decimal
    Description: Controls the rate of pitch change for an electric type enginesound. A value of 1.0 would mean the top frequency used is as much again as the base frequency - in other words, the frequency of the sound played would double over the speed range of the vehicle.

#### isramping

    Data Type: Boolean
    Description: 'Ramping' diesel enginesounds have transition sounds between each level state.

#### isfading

    Data Type: Boolean
    Description: For diesel engine sounds, 'fading' sounds do not have transition sounds between each level state - instead, one sound is faded into the next to 'fake' a transition. For electric enginesounds, 'fading' sounds are quieter at low speed and louder at high speed - whereas 'non-fading' sounds are more constant across the speed range.

#### number-slow-sounds

    Data Type: Integer
    Description: Number of 'chuff' sounds available in a steam enginesound.

#### number-cylinders

    Data Type: Integer
    Description: Number of cylinders in the locomotive the steam sound was recorded from.

#### number-power-strokes

    Data Type: Integer
    Description: Number of power strokes in the locomotive the steam enginesound was recorded from (should generally be left at the default, 2).

#### engine-sound-ramp-up-durations

    New tag for trainz-build 3.6
    Data Type: List of 8 Decimal values. Default values: 1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5. Units: seconds to 3 decimal places
    Description: Sets the duration of play of each of the 8 soundfiles, "start.wav" and "up 1 - 2.wav" to "up 7 - 8.wav" files. Value must not be greater than the duration of the corresponding sound file.
    If there is no "start.wav" then enter 0 as the first number in the set.

#### engine-sound-ramp-down-durations

    New tag for trainz-build 3.6
    Data Type: List of 8 Decimal values. Default values: 1.5,1.5,1.5,1.5,1.5,1.5,1.5,1.5. Units: seconds to 3 decimal places
    Description: Sets the duration of play of each of the 8 soundfiles, "stop.wav" and "down 2 - 1.wav" to "down 8 - 7.wav" files. Value must not be greater than the duration of the corresponding sound file.
    If there is no "stop.wav" then enter 0 as the first number in the set.
    Refer to TS12 Doppler for usage examples.

#### engine-sound-ramp-duration

    New tag for trainz-build 3.6; likely illegal in prior TBVs.
    Data Type: Decimal. Default value: 1.5
    Description: Sets the duration of play of all up and down ramp sounds. All ramp sound files should be the same duration to use this tag.

## Example Config.txt
### Diesel

Sample config.txt file for a diesel type 'enginesound' asset, with the Standard Tags excluded for brevity:

### Electric

Sample config.txt file for an electric type 'enginesound' asset, with the Standard Tags excluded for brevity:

### Steam

Sample config.txt file for a steam type 'enginesound' asset, with the Standard Tags excluded for brevity:

## Wave file naming
### Diesel

In a 'fading' diesel enginesound, the following sound files are used:
| idle 1.wav | engine idle / notch 1 sound |
| idle 2.wav | notch 2 sound |
| idle 3.wav | notch 3 sound |
| idle 4.wav | notch 4 sound |
| idle 5.wav | notch 5 sound |
| idle 6.wav | notch 6 sound |
| idle 7.wav | notch 7 sound |
| idle 8.wav | notch 8 sound |
In a 'ramping' diesel enginesound, the following additional sound files are also used:
| start.wav | engine startup |
| stop.wav | engine shutdown |
| up 1 - 2.wav | transition between notch 1 and notch 2 |
| up 2 - 3.wav | transition between notch 2 and notch 3 |
| up 3 - 4.wav | transition between notch 3 and notch 4 |
| up 4 - 5.wav | transition between notch 4 and notch 5 |
| up 5 - 6.wav | transition between notch 5 and notch 6 |
| up 6 - 7.wav | transition between notch 6 and notch 7 |
| up 7 - 8.wav | transition between notch 7 and notch 8 |
| down 2 - 1.wav | transition between notch 2 and notch 1 |
| down 3 - 2.wav | transition between notch 3 and notch 2 |
| down 4 - 3.wav | transition between notch 4 and notch 3 |
| down 5 - 4.wav | transition between notch 5 and notch 4 |
| down 6 - 5.wav | transition between notch 6 and notch 5 |
| down 7 - 6.wav | transition between notch 7 and notch 6 |
| down 8 - 7.wav | transition between notch 8 and notch 7 |

### Electric

The one sound file for an electric engine is named engine_loop.wav.

### Steam

* loco_stationary_fast.wav
* loco_stationary_med.wav
* loco_stationary_slow.wav
These are background sounds for when the loco is stationary. The fast will be played when the loco has just stopped, and if it is left for a while, the sound will progress down to 'med' and then eventually 'slow'.
* piston_stroke1.wav
* piston_stroke2.wav
* piston_stroke3.wav
* piston_stroke4.wav
... and on up to the number specified in the 'number-slow-sounds' tag. These sounds are the low speed 'chuff' sounds.
* smoke_stack_hiss.wav
This is a background hiss noise that appears to be played continually.
* steam_loop_30RPM.wav
* steam_loop_35RPM.wav
* steam_loop_40RPM.wav
* steam_loop_50RPM.wav
* steam_loop_60RPM.wav
* steam_loop_75RPM.wav
* steam_loop_90RPM.wav
* steam_loop_100RPM.wav
* steam_loop_125RPM.wav
* steam_loop_150RPM.wav
* steam_loop_175RPM.wav
* steam_loop_200RPM.wav
* steam_loop_250RPM.wav
* steam_loop_300RPM.wav
* steam_loop_350RPM.wav
* steam_loop_400RPM.wav
* steam_loop_500RPM.wav
* steam_loop_600RPM.wav
* steam_loop_700RPM.wav
* steam_loop_800RPM.wav
* steam_loop_1000RPM.wav
* steam_loop_1200RPM.wav
* steam_loop_1400RPM.wav
* steam_loop_1600RPM.wav
* steam_loop_2000RPM.wav
These loops are played as the loco picks up speed. They are individually stretched or squashed in length (also incurring pitch shifting in the process) to match the wheel rotation speed so the audible 'chuffs' within the loop maintain synchronisation with the drive bogie animation.
It should be noted that unlike the earlier steam loop, which was based on track speed, rather than wheel rotation speed, this system enables sound files to be shared between locomotives with different wheel sizes. 60RPM (which is one revolution per second) on a 2 cylinder loco will produce four chuffs per second irrespective of the wheel size - the only difference this makes is what speed the train will be doing when the drive wheels are rotating at 60RPM.
Any individual file can be omitted from this set - the system will use what files are available and use adjacent files to cover for any missing files.
It is anticipated that a sound creator will pick and choose which wave files are used based on what recordings are available, and that a released enginespec will not have all sound files present - particularly the higher speed ones, which are likely to be irrelevant for most locos, but are provided just in case...

## Notes, Footnotes & References

Config.txt files are endemic and ever present in Trainz assets, for no asset can be defined without this type of Computer Science container. The keyword-value_of_key pairing must always be kept in mind in editing or creating Trainz content. The TrainzBaseSpec contains values and containers which are most common in asset defining config.txt files.

### References

* Trainz printed or pdf file Manuals, applicable version - usually in the ..\extras or ..\extras\manuals folder
* TrainzOnline Wiki Config.txt file page and various other pages
* TrainzOnline Wiki: Content Creator's Guide pages (various)
* Various CCG and Auran websites
Back to the Top
| ← Prev kind engine | ↑ TrainzBaseSpec — Trainz content configuration ↓ |
Glossary :
HKeys-CM :
HKeys-DVR :
HKeys-SUR :
HKeys-WIN :
Mouse use :
Notations :
| ← Prev kind engine | ↑ TrainzBaseSpec — Trainz content configuration ↓ |