Trevithick
03-25-2002, 01:27 PM
Most electric engines for MSTS use .sms-files directly derived from the ACELA engines and the Alstom Bombardier HHP8 engine of the original simulator. The algorythm used by Kuju is derived from the .sms files of the dieselelectric engines and uses two blended soundstreams. This may lead some times to crackles, hisses and drop outs for the engine sound independent of the system. The pitch of the sound of the traktionmotors is shifted and not proportional to the speed (what would be more prototypical).
Name of the new algorythm:
I name this new algorythm the APSEL algorythm, what stands for "all purpose soundmanagement system for electric engines".
Description of the new algorythm:
The sound (or noise) for the tractionmotors, gearboxes and fans is build by two soundstreams whitch may (not must) use the same soundsample file.
One stream for the dynamic noise of the tractionmotors and gearboxes is:
- frequency controlled by the "Speed" Variable or alternativ "Variable1". The FrequenyCurve must be defined for negative and positive values. (absolute) Higher speed values result in higher values for the pitch. A speed or Variable1 with the value 0 result in a pitch value of 0. The relation between abs. Speed or Variable1 to the pitch is (linear) proportional.
- volume controlled by the Variable2 or a Variable, that shows the current of the traction motor. High current (Variable2=100) results in a high volume of the stream, low current (Variable2=0)in a low volume.
The other stream for the noise of the fans and tranformers is static.
These two streams replace the two first streams (of Kuju) in the *eng.sms and *cab.sms files for the electric engine.
example for the streams in an *eng.sms file (HHP8):
Stream (
Skip (**** Traction motors and gearboxes )
Priority ( 6 )
Triggers ( 1
Initial_Trigger ( StartLoop ( 1 File "..\\..\\HHP\\SOUND\\x_hhp_power_cruise1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
)
FrequencyCurve(
SpeedControlled
CurvePoints ( 3
-150.0 135000
0.000 0
150.0 135000
)
Granularity ( 100 )
)
VolumeCurve(
Variable2Controlled
CurvePoints ( 2
0.000 0.4
100.0 1.0
)
Granularity ( 0.05 )
)
)
Stream (
Skip (**** Fans**** )
Priority ( 6 )
Triggers ( 1
Initial_Trigger ( StartLoop ( 1 File "..\\..\\HHP\\SOUND\\x_hhp_power_cruise0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
)
FrequencyCurve(
SpeedControlled
CurvePoints ( 3
-150.0 13000
0.000 13000
150.0 13000
)
Granularity ( 100 )
)
VolumeCurve(
Variable2Controlled
CurvePoints ( 2
0.000 0.7
100.0 0.7
)
Granularity ( 0.05 )
)
)
For the *cab.sms you use the same algorithm with stereo samples.
Legal issues:
The algorithm is herewith published. From now on there may be claimed no Copyright on parts of .sms files, that contain this algorithm. If legal necessary, this algorithm is herewith put to public domain. You may use it freely.
***
In the next days I will publish replacement files for the ACELA and HHP8 .sms-files in the downloadarea of forums.flightsim.com, that contain the APSEL-algorithm.
Special thanks to Michael Vone (Mr. Albula Track) who asked the right question and tested the algorithm and to Stuart "scefhwil" who told me something about the "Variables" in .sms-programming!
Trevithick
http://www.steamboat-electric.de/SE.jpg
*** I am nothing without a little help of my friends...
Name of the new algorythm:
I name this new algorythm the APSEL algorythm, what stands for "all purpose soundmanagement system for electric engines".
Description of the new algorythm:
The sound (or noise) for the tractionmotors, gearboxes and fans is build by two soundstreams whitch may (not must) use the same soundsample file.
One stream for the dynamic noise of the tractionmotors and gearboxes is:
- frequency controlled by the "Speed" Variable or alternativ "Variable1". The FrequenyCurve must be defined for negative and positive values. (absolute) Higher speed values result in higher values for the pitch. A speed or Variable1 with the value 0 result in a pitch value of 0. The relation between abs. Speed or Variable1 to the pitch is (linear) proportional.
- volume controlled by the Variable2 or a Variable, that shows the current of the traction motor. High current (Variable2=100) results in a high volume of the stream, low current (Variable2=0)in a low volume.
The other stream for the noise of the fans and tranformers is static.
These two streams replace the two first streams (of Kuju) in the *eng.sms and *cab.sms files for the electric engine.
example for the streams in an *eng.sms file (HHP8):
Stream (
Skip (**** Traction motors and gearboxes )
Priority ( 6 )
Triggers ( 1
Initial_Trigger ( StartLoop ( 1 File "..\\..\\HHP\\SOUND\\x_hhp_power_cruise1.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
)
FrequencyCurve(
SpeedControlled
CurvePoints ( 3
-150.0 135000
0.000 0
150.0 135000
)
Granularity ( 100 )
)
VolumeCurve(
Variable2Controlled
CurvePoints ( 2
0.000 0.4
100.0 1.0
)
Granularity ( 0.05 )
)
)
Stream (
Skip (**** Fans**** )
Priority ( 6 )
Triggers ( 1
Initial_Trigger ( StartLoop ( 1 File "..\\..\\HHP\\SOUND\\x_hhp_power_cruise0.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
)
FrequencyCurve(
SpeedControlled
CurvePoints ( 3
-150.0 13000
0.000 13000
150.0 13000
)
Granularity ( 100 )
)
VolumeCurve(
Variable2Controlled
CurvePoints ( 2
0.000 0.7
100.0 0.7
)
Granularity ( 0.05 )
)
)
For the *cab.sms you use the same algorithm with stereo samples.
Legal issues:
The algorithm is herewith published. From now on there may be claimed no Copyright on parts of .sms files, that contain this algorithm. If legal necessary, this algorithm is herewith put to public domain. You may use it freely.
***
In the next days I will publish replacement files for the ACELA and HHP8 .sms-files in the downloadarea of forums.flightsim.com, that contain the APSEL-algorithm.
Special thanks to Michael Vone (Mr. Albula Track) who asked the right question and tested the algorithm and to Stuart "scefhwil" who told me something about the "Variables" in .sms-programming!
Trevithick
http://www.steamboat-electric.de/SE.jpg
*** I am nothing without a little help of my friends...