Elvas Tower: Steam Locomotive Sound vs Driver Rotation - Elvas Tower

Jump to content

  • 12 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

Steam Locomotive Sound vs Driver Rotation Rate Topic: -----

#1 User is offline   midneguy 

  • Foreman Of Engines
  • Group: Status: First Class
  • Posts: 931
  • Joined: 29-August 11
  • Gender:Male
  • Location:Nebraska
  • Simulator:MSTS
  • Country:

Posted 01 February 2014 - 08:35 AM

Hey all :lol2:

In MSTS I've always used "Variable2" to synchronize the playback rate of chugging sounds to the driver rotation for steamers, and I wanted to ask how exactly this works in OR? What really got me wondering was that I noticed a change happened in one of the updates around a month or two ago. Initially "Variable2" for steamers was much different than what OR was doing, which caused "Variable2" linked sounds in the .sms to play very slowly compared to what they did in MSTS. This has gotten much better in the last month or so, but still doesn't exactly match whatever MSTS was doing to calculate this variable for steamers. As it stands today, an engine that has correctly synchronized chug sounds in MSTS plays the sounds back at about 2/3 the needed rate in OR.

So, this got me wondering... In OR, is "Variable2" equivalent to radians / second regarding driver rotation speed, or some other unit? Along with this question, are the units determining Variable2 now permanent for steamers in OR or is this still subject to further revision? I've been tempted to start recalculating the frequency curves in my .sms files for steamers to properly synchronize with the drivers, but didn't want to go through all that if there was a chance this would be getting revised again. http://www.elvastower.com/forums/public/style_emoticons/default/read.gif

Thanks! :pleasantry:

#2 User is offline   Mipman25 

  • Member, Board of Directors
  • Group: Status: Elite Member
  • Posts: 5,244
  • Joined: 21-February 12
  • Gender:Male
  • Location:Reichensberg
  • Simulator:Open Rails
  • Country:

Posted 01 February 2014 - 10:31 AM

Well, I'd say you wait and see where it'll go from here. If it does change, your recalculations will be for naught.

#3 User is offline   gpz 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,772
  • Joined: 27-October 12
  • Gender:Male
  • Location:Budapest
  • Simulator:OpenRails
  • Country:

Posted 01 February 2014 - 01:41 PM

I was the one who adjusted Variables for steam locmotives. Now the following equations are being used:
Variable1 = (Simulator.UseAdvancedAdhesion ? LocomotiveAxle.AxleSpeedMpS : SpeedMpS) / DriverWheelRadiusM;
// Unit is [rad/s]. Value of 6.28 means 1 rotation/second.
Variable2 = Math.Min(CylinderPressurePSI / MaxBoilerPressurePSI * 100f, 100f);
Variable3 = FiringIsManual ? FiringRateController.CurrentValue * 100 : FuelRate.SmoothedValue * 100;

After much research I found out MSTS uses quite similar ones.
Variable2 is proportinal to tractive effort, so it is the best to use for determining the gain of sound, through a VolumeCurve().
What you need, as an answer to your question, is Variable1. I would recommend using this one for adjusting the chugging frequency. I think MSTS uses this same equation for calculating Variable1.
Variable3 should be used to control shovelling sound, as can be heard in original MSTS steam locomotives.

I think these are no longer subject to change.

#4 User is offline   midneguy 

  • Foreman Of Engines
  • Group: Status: First Class
  • Posts: 931
  • Joined: 29-August 11
  • Gender:Male
  • Location:Nebraska
  • Simulator:MSTS
  • Country:

Posted 01 February 2014 - 02:33 PM

View Postgpz, on 01 February 2014 - 01:41 PM, said:

I was the one who adjusted Variables for steam locmotives. Now the following equations are being used:
Variable1 = (Simulator.UseAdvancedAdhesion ? LocomotiveAxle.AxleSpeedMpS : SpeedMpS) / DriverWheelRadiusM;
// Unit is [rad/s]. Value of 6.28 means 1 rotation/second.
Variable2 = Math.Min(CylinderPressurePSI / MaxBoilerPressurePSI * 100f, 100f);
Variable3 = FiringIsManual ? FiringRateController.CurrentValue * 100 : FuelRate.SmoothedValue * 100;

After much research I found out MSTS uses quite similar ones.
Variable2 is proportinal to tractive effort, so it is the best to use for determining the gain of sound, through a VolumeCurve().

What you need, as an answer to your question, is Variable1. I would recommend using this one for adjusting the chugging frequency. I think MSTS uses this



Ah yes - you're right, my saying Variable2 in the first post was a typo on my part, as Variable1 is what I actually meant. That makes perfect sense to use radians / sec as the unit... There's obviously something that MSTS does that's a little different since they don't match the same between the two sims. Regardless, since you're feeling pretty comfortable that this won't be changing I think will start converting my old MSTS .sms files to new OR versions.

Thanks very much http://www.elvastower.com/forums/public/style_emoticons/default/sign_thank_you.gif

#5 User is offline   midneguy 

  • Foreman Of Engines
  • Group: Status: First Class
  • Posts: 931
  • Joined: 29-August 11
  • Gender:Male
  • Location:Nebraska
  • Simulator:MSTS
  • Country:

Posted 08 February 2014 - 02:06 PM

OK... Now that I've gotten the wheel synchronization figured out for OR and the exhaust "chug" sounds, I have a follow up question about the volume level of the sounds... What I've noticed is that with the throttle fully closed on a steamer and the reverser set to 0, the chug sounds can still be heard if the engine is coasting, though faintly. I'm using Variable2 to set the volume of the sound playback, with Variable2 = 0 being set to a volume level of 0 in the .sms volume curve.

This seems to suggest that Variable2 isn't ever reaching a value of "0" as it is being calculated by OR... If Variable2 is supposed to be equivalent to tractive effort, shouldn't it be equal to zero when the throttle is closed? Or are there other factors being taken into consideration within the OR steam physics model that prevent Variable2 from achieving a value of zero?

#6 User is offline   gpz 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,772
  • Joined: 27-October 12
  • Gender:Male
  • Location:Budapest
  • Simulator:OpenRails
  • Country:

Posted 08 February 2014 - 02:35 PM

As you can see above, Variable2 is not throttle controller dependent, it depends on the cylinder pressure.

#7 User is offline   midneguy 

  • Foreman Of Engines
  • Group: Status: First Class
  • Posts: 931
  • Joined: 29-August 11
  • Gender:Male
  • Location:Nebraska
  • Simulator:MSTS
  • Country:

Posted 08 February 2014 - 05:13 PM

Reviewing the forumla a little closer I do understand that Variable2 is apparently being assigned a minimum value of either "100f", or the "100f" term multiplied by the cylinder pressure / boiler pressure ratio.

This still leaves me unsure of how to deal with what I'm seeing, or rather hearing, in trying to utilize Variable2 as a way to specify volume curves in the .sms file. I've been doing a fair amount of experimentation today attempting to adjust the volume curves for the "chugging" sound streams in the .sms and have not been able to achieve silence of these sounds when the throttle on a steam locomotive is fully closed.

The one thing I tried which came close to success was to set the volume curve to be a volume of zero for Variable2 values of about 5 or 6 and less. This caused some other strange things to happen though, in particular having the "chug" sounds remain silent when starting from the initial standstill up to about 10 mph or so when the related sound stream would suddenly start to play - and this was while the throttle was wide open and the reverser fully forward from the beginning.

If Variable2 is supposed to represent cylinder pressure, shouldn't it be equal to zero when the throttle is closed and no steam is being admitted to the cylinders? Or is Variable2 being used elsewhere in calculations to represent cylinder back pressure for near neutral reverser settings or when the locomotive is drifting?

#8 User is offline   copperpen 

  • Executive Vice President
  • Group: Status: Elite Member
  • Posts: 3,143
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 09 February 2014 - 04:47 AM

There should be a faint sound from the exhaust with the throttle closed because there is still a minimal amount of steam passing through the cylinders to stop them from drawing in smoke and cinders. Steam admission to the cylinders is covered by the valve gear.

#9 User is offline   ATSF3751 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,083
  • Joined: 15-July 08
  • Gender:Male
  • Location:Wayzata, MN
  • Simulator:Open Rails
  • Country:

Posted 01 March 2014 - 01:41 PM

Hey everyone! I do my own sound sets for steam locomotives in MSTS and my sounds work great in MSTS but do not work in Open Rails! I have the chuff synced with the drivers and it all works wonderful on MSTS but when I try it in Open Rails it doesn't work at all and the chuff is all out of sync! Any way that you could code it so it works the same as in MSTS or will I have to redo all of my sound sets from the ground up for Open Rails? If so it will take me a LONG TIME to redo all of my sound sets. I have some released on here along with Trainsim.com if anyone wants to take a look and see what I mean. Also to me it seems like the driver rotation is too slow in Open Rails vs MSTS.

Brandon

#10 User is offline   gpz 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,772
  • Joined: 27-October 12
  • Gender:Male
  • Location:Budapest
  • Simulator:OpenRails
  • Country:

Posted 02 March 2014 - 01:44 AM

View PostATSF3751, on 01 March 2014 - 01:41 PM, said:

Hey everyone! I do my own sound sets for steam locomotives in MSTS and my sounds work great in MSTS but do not work in Open Rails! I have the chuff synced with the drivers and it all works wonderful on MSTS but when I try it in Open Rails it doesn't work at all and the chuff is all out of sync! Any way that you could code it so it works the same as in MSTS or will I have to redo all of my sound sets from the ground up for Open Rails? If so it will take me a LONG TIME to redo all of my sound sets. I have some released on here along with Trainsim.com if anyone wants to take a look and see what I mean. Also to me it seems like the driver rotation is too slow in Open Rails vs MSTS.

Everything is coded into these three equations in OpenRails:
Variable1 = (Simulator.UseAdvancedAdhesion ? LocomotiveAxle.AxleSpeedMpS : SpeedMpS) / DriverWheelRadiusM;
// Unit is [rad/s]. Value of 6.28 means 1 rotation/second.
Variable2 = Math.Min(CylinderPressurePSI / MaxBoilerPressurePSI * 100f, 100f);
Variable3 = FiringIsManual ? FiringRateController.CurrentValue * 100 : FuelRate.SmoothedValue * 100;

Could you please advise what the correct ones would be to match exactly MSTS?

  • 12 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users