Elvas Tower: Automatic curve squeal sound - Elvas Tower

Jump to content

Posting Rules

All new threads will be started by members of the Open Rails team, Staff, and/or Admins. Existing threads started in other forums may get moved here when it makes sense to do so.

Once a thread is started any member may post replies to it.
  • 3 Pages +
  • 1
  • 2
  • 3
  • You cannot start a new topic
  • You cannot reply to this topic

Automatic curve squeal sound Rate Topic: -----

#1 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Posts: Elite Member
  • Posts: 7,454
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 03 February 2017 - 01:25 PM

I have already a beta version for automatic curve squeal sound (which works in conjunction with automatic switch track sound).
I will make it available after committing the automatic door open/close for AI trains.
A blueprint has just been filed https://blueprints.l...ve-squeal-sound .

Setup is analogous to that for the automatic switch track sound. Here an example of an .include file:


include ( "../Riviera di levante.trk" )
			ORTSDefaultTurntableSMS ( turntable.sms )
			ORTSSwitchSMSNumber ( 12 )
			ORTSCurveSMSNumber ( 13 )	
			ORTSCurveSwitchSMSNumber ( 16 )				

and here an example of the related ttype.dat file (there are also unused files in it, it's the file I use for testing).
SIMISA@@@@@@@@@@JINX0t1t______

18
TrackType ( "Default" 				"egos0In.sms" "egos0Ex.sms"	)
TrackType ( "Concrete Supported"	"egos1In.sms" "egos1Ex.sms"	)
TrackType ( "Wood Supported" 		"egos2In.sms" "egos2Ex.sms"	)
TrackType ( "Cadenza Tunnel" 			"egos3In.sms" "egos3Ex.sms"	)
TrackType ( "Steel Bridge" 			"egos4In.sms" "egos4Ex.sms"	)
TrackType ( "Girder Bridge" 		"egos5In.sms" "egos5Ex.sms"	)
TrackType ( "Under Bridge" 			"egos6In.sms" "egos6Ex.sms"	)
TrackType ( "Cadenza Scambio" 		"egos7In.sms" "egos7Ex.sms"	)
TrackType ( "Crossing Platform" 	"egos8In.sms" "egos8Ex.sms"	)
TrackType ( "Wooden Bridge" 		"egos9In.sms" "egos9Ex.sms"	)
TrackType ( "Romiscambio" 		"Italianpoint7in.sms" "Italianpoint7ex.sms"	)
TrackType ( "Romicurva" 		"ItalianCurve5in.sms" "ItalianCurve5ex.sms"	)
TrackType ( "Cadenza Scambio" 		"New track sound/switchtrack7in.sms" "New track sound/switchtrack7ex.sms"	)
TrackType ( "Squeal Curve" 		"Bernina track sound/Bernina_curvesquealtrack11in.sms" "Bernina track sound/Bernina_curvesquealtrack11ex.sms"	)
TrackType ( "Squeal Tunnel" 		"Bernina track sound/Bernina_tunnelsquealtrack12in.sms" "Bernina track sound/Bernina_tunnelsquealtrack12ex.sms"	)
TrackType ( "Squeal Station" 		"Bernina track sound/Bernina_stationsquealtrack13in.sms" "Bernina track sound/Bernina_stationsquealtrack13ex.sms"	)
TrackType ( "Squeal Curve Intro" 		"Bernina track sound/Bernina_curvesquealintrotrack14in.sms" "Bernina track sound/Bernina_curvesquealintrotrack14ex.sms"	)
TrackType ( "Squeal Tunnel Intro" 		"Bernina track sound/Bernina_tunnelsquealintrotrack15in.sms" "Bernina track sound/Bernina_tunnelsquealintrotrack15ex.sms"	)


#2 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 03 February 2017 - 03:15 PM

Hi Carlo,

Sounds like another good addition to OR.

Will it be possible to specify a threshold curve radius at which the curve squeal will start to work?

Curve squeal tends to only be a problem for lower speed trains on tight curve radius.

#3 User is offline   conductorchris 

  • Vice President
  • Group: Status: First Class
  • Posts: 2,351
  • Joined: 24-March 10
  • Gender:Male
  • Simulator:Open Rails - MSTS
  • Country:

Posted 03 February 2017 - 06:01 PM

Excellent!

And some lines are especially full of squeals because the gauge isn't true. I grew up on a 10 mph branch line that had welded rail and plenty of sequels.

Christopher

#4 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Posts: Elite Member
  • Posts: 7,454
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 03 February 2017 - 11:52 PM

Hi steamer,
yes, there is a maximum radius above which no sound is played. So my question is: what could be this maximum radius? And second question: above such radius threshold you don't have squeal, however maybe you still have some curve specific sound up to a second threshold. Or not?

#5 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 04 February 2017 - 02:49 AM

Hi Carlo,

View PostCsantucci, on 03 February 2017 - 11:52 PM, said:

yes, there is a maximum radius above which no sound is played. So my question is: what could be this maximum radius? And second question: above such radius threshold you don't have squeal, however maybe you still have some curve specific sound up to a second threshold. Or not?

Wheel squeal varies due to a number of different conditions and factors, including curve radius, speed, wheel and track shape, fixed wheelbase length of rolling stock, etc, so different people may wish to set the threshold at a different curve radius. Perhaps a setting in the INCLUDE TRK file?

This is one of many articles that describe the phenomena.

Personally I work on a curve radius value less then 300m when applying it in other routes that I have built using the alternative track sounds approach.

At the moment I cannot think of any secondary sound, but I will sleep on it for a bit.

Thanks

#6 User is offline   James Ross 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 5,514
  • Joined: 30-June 10
  • Gender:Not Telling
  • Simulator:Open Rails
  • Country:

Posted 04 February 2017 - 07:09 AM

View PostCsantucci, on 03 February 2017 - 01:25 PM, said:

include ( "../Riviera di levante.trk" )
			ORTSDefaultTurntableSMS ( turntable.sms )
			ORTSSwitchSMSNumber ( 12 )
			ORTSCurveSMSNumber ( 13 )	
			ORTSCurveSwitchSMSNumber ( 16 )				


Does it make sense to have separate values for each combination, instead of just playing both the switch and curve sounds at once? I was expecting them to be orthogonal options.

#7 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Posts: Elite Member
  • Posts: 7,454
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 04 February 2017 - 08:28 AM

I understand the point, but doing that as I suggest uses the standard track sound mechanism (1 sound at a time / 1 sound source at a time) and so requires few additional lines of code and few additional resources. Making them orthogonal would require creating a further sound track mechanism and adding a second sound source for the short time of switch passing. Neither leaving such second sound source open is a good option, because track sound sources are the ones that most influence the total amount of sound sources, that already now can reach the maximum Open Rails accepts in crowded areas. So adding a "mixed" curve/switch sound seems to me an acceptable solution.

#8 User is offline   istvanek 

  • Hostler
  • Group: Posts: Active Member
  • Posts: 74
  • Joined: 23-March 15
  • Gender:Male
  • Simulator:ORTS
  • Country:

Posted 04 February 2017 - 08:29 AM

View PostJames Ross, on 04 February 2017 - 07:09 AM, said:

Does it make sense to have separate values for each combination, instead of just playing both the switch and curve sounds at once? I was expecting them to be orthogonal options.


In my opinion no, it does not. They should be played independently. What is more I think that both switch and curve squeal sounds should be played independently from defined track sound - as additional streams imposed on track sound when triggered. This would reduce number of sms files with no loss for variety.

Csantucci said:

Making them orthogonal would require creating a further sound track mechanism and adding a second sound source for the short time of switch passing.


Does it take more resources that another stream defined in sms file?

#9 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Posts: Elite Member
  • Posts: 7,454
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 04 February 2017 - 08:36 AM

View Postistvanek, on 04 February 2017 - 08:29 AM, said:

Does it take more resources that another stream defined in sms file?

Yes.

#10 User is offline   istvanek 

  • Hostler
  • Group: Posts: Active Member
  • Posts: 74
  • Joined: 23-March 15
  • Gender:Male
  • Simulator:ORTS
  • Country:

Posted 04 February 2017 - 08:45 AM

View PostCsantucci, on 04 February 2017 - 08:36 AM, said:

Yes.


OK, if so, it is better to leave a possibility to define multiple switch/squeal + track sound .sms files.

#11 User is offline   railguy 

  • Engineer
  • Group: Posts: Contributing Member
  • Posts: 741
  • Joined: 10-October 10
  • Gender:Male
  • Location:Kansas
  • Simulator:Open Rails
  • Country:

Posted 04 February 2017 - 01:07 PM

I have had an issue with the curve squeal used up to now continuing to squeal even when the train is at a full stop. Has anyone else experienced this?

#12 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Posts: Elite Member
  • Posts: 7,454
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 06 February 2017 - 07:30 AM

The feature is now in a beta state and can be tested.
Here is the .dll/.exe pack to be replaced in x.3782
Attached File  AutoCurveSqueal1.zip (747.74K)
Number of downloads: 777
I have also provided a test sound set, including the internal and external .sms files for auto switch sound, auto curve squeal sound, auto curve squeal + switch sound.
The test sound set can be downloaded from here
http://www.interazio...moAutoSound.zip
Read the Readme file included in the .zip for installation and copyright.
To enable a route to play these sounds three lines must be added at the end of the route's ttype.dat file, as in this example (number at start of file has been increased by 3).
SIMISA@@@@@@@@@@JINX0t1t______

13
TrackType ( "Default" 				"egos0In.sms" "egos0Ex.sms"	)
TrackType ( "Concrete Supported"	"egos1In.sms" "egos1Ex.sms"	)
TrackType ( "Wood Supported" 		"egos2In.sms" "egos2Ex.sms"	)
TrackType ( "Cadenza Tunnel" 			"egos3In.sms" "egos3Ex.sms"	)
TrackType ( "Steel Bridge" 			"egos4In.sms" "egos4Ex.sms"	)
TrackType ( "Girder Bridge" 		"egos5In.sms" "egos5Ex.sms"	)
TrackType ( "Under Bridge" 			"egos6In.sms" "egos6Ex.sms"	)
TrackType ( "Default" 				"egos0In.sms" "egos0Ex.sms"	)
TrackType ( "Crossing Platform" 	"egos8In.sms" "egos8Ex.sms"	)
TrackType ( "Wooden Bridge" 		"egos9In.sms" "egos9Ex.sms"	)
TrackType ( "Switch" 		"DemoAutoSound/switchtrackin.sms" "DemoAutoSound/switchtrackex.sms"	)
TrackType ( "Squeal Curve" 		"DemoAutoSound/curvesquealtrackin.sms" "DemoAutoSound/curvesquealtrackex.sms"	)
TrackType ( "Squeal Switch" 		"DemoAutoSound/curveswitchtrackin.sms" "DemoAutoSound/curveswitchtrackex.sms"	)

Moreover three lines must be inserted in the route's .trk include file (to be located as always in an Openrails subfolder within the route's folder, as in following example (first line void!)

include ( "../Riviera di levante.trk" )
			ORTSDefaultTurntableSMS ( turntable.sms )
			ORTSSwitchSMSNumber ( 10 )
			ORTSCurveSMSNumber ( 11 )	
			ORTSCurveSwitchSMSNumber ( 12 )				

The curve squeal is active in curves with a radius of less than 350 meters for freight cars and of less than 301 meters for any other trainset.
It can be discussed wheter these two parameters should be configurable: on a per-route basis or on a per-trainset basis? Second option seems to me more correct.
The sound files are intended as demo items. So, if you don't like them, you can use your own creations or creations by third parties.

7/2/17: .exe/.dll pack upgraded against a crash case

#13 User is offline   istvanek 

  • Hostler
  • Group: Posts: Active Member
  • Posts: 74
  • Joined: 23-March 15
  • Gender:Male
  • Simulator:ORTS
  • Country:

Posted 06 February 2017 - 02:58 PM

Works good for me. :sign_thanks:

Also big thanks for a very good sound set. It needs some tuning but it is great.

Quote

The curve squeal is active in curves with a radius of less than 350 meters for freight cars and of less than 301 meters for any other trainset.
It can be discussed wheter these two parameters should be configurable: on a per-route basis or on a per-trainset basis? Second option seems to me more correct.


Shouldn't be curve force (friction) controlled? You might want to consider. We have curve resistance calculation already implemented. But I can guess that it wouldn't be easy to code if possible at all.
What is more, any limiter you choose should have a possibility to switch off because we can control squeal sound using curve force variable sound trigger in track .sms file (can we?)

#14 User is offline   steamer_ctn 

  • Open Rails Developer
  • Group: Posts: Elite Member
  • Posts: 1,980
  • Joined: 24-June 11
  • Gender:Male
  • Country:

Posted 06 February 2017 - 08:04 PM

View PostCsantucci, on 06 February 2017 - 07:30 AM, said:

The curve squeal is active in curves with a radius of less than 350 meters for freight cars and of less than 301 meters for any other trainset.
It can be discussed wheter these two parameters should be configurable: on a per-route basis or on a per-trainset basis? Second option seems to me more correct.
The sound files are intended as demo items. So, if you don't like them, you can use your own creations or creations by third parties.


View Postistvanek, on 06 February 2017 - 02:58 PM, said:

Shouldn't be curve force (friction) controlled? You might want to consider. We have curve resistance calculation already implemented. But I can guess that it wouldn't be easy to code if possible at all.
What is more, any limiter you choose should have a possibility to switch off because we can control squeal sound using curve force variable sound trigger in track .sms file (can we?)


I believe that the best way to combine these two desires is to calculate the Angle of Attack (AoA) on a per train basis. AoA forms a prerequisite for wheel squeal.

The current OR curve resistance code allows estimated defaults for wheelbases, and users can put actual wheelbase values in WAG files to override the default values with actual wheelbase values.

Referencing the article that I posted above,

AoA = Rigid Wheelbase / Curve Radius

Typically it appears that wheel squeal is more predominant when the AoA is > then a threshold value. The AoA threshold value should be set as a default value, and then be able to overridden by the user as required in the route design. This threshold value seems to vary according to various authors, but a default figure of 10mRad might be a good starting point, and adjusted if desired by the route builder.

#15 User is offline   Csantucci 

  • Member, Board of Directors
  • Group: Posts: Elite Member
  • Posts: 7,454
  • Joined: 31-December 11
  • Gender:Male
  • Country:

Posted 06 February 2017 - 11:48 PM

.exe/.dll pack in post #12 upgraded.
I don't see why the threshold should be set at a per-train basis. A train can have trainsets with very different AoAs, if I understood well Peter's words.

  • 3 Pages +
  • 1
  • 2
  • 3
  • 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