Elvas Tower: Sound Error - Elvas Tower

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Sound Error Rate Topic: -----

#1 Inactive_AlFitz_*

  • Group: Status: Passengers (Obsolete)

Posted 11 May 2013 - 05:01 AM

Here is an error that has been driving me a little bit mad, hope you can help.

In the EB East Coast route there seems to be a problem playing the brake .wav files of the 225 and interestingly the HST as well. I have traced the error and the OpenAl routines are generating out of bounds playing positions from the two cue points read. I'm guessing that the wav file has either an incorrect header or it is being parsed incorrectly.

I have attached one of the files that causes the Trace("Invalid cue point in wave file; Length {1}, CUE {2}, BitsPerSample {4}, Channels {5} in {0}", Name, wfi.ulDataSize, adjPos, wfi.nBitsPerSample, wfi.nChannels) error (had to attach as a .txt file).

Thanks!

Attached File(s)


This post has been edited by AlFitz: 11 May 2013 - 05:25 AM


#2 User is online   Csantucci 

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

Posted 11 May 2013 - 11:38 AM

I opened the .wav file with Goldwave. The file is 1,827 seconds long. The two cue points are at 3,27 and 4,83 seconds, that is they are outside the lenght of the file, while they should be inside the 1,827 seconds. So poor ORTS has some problem :oldstry:
In few words, the .wav file is wrong.

#3 Inactive_AlFitz_*

  • Group: Status: Passengers (Obsolete)

Posted 11 May 2013 - 12:10 PM

Great, thanks for the information. I just got as far as playing it in Windows MP and that was about it!

I suspect that MSTS ignores it completely when it finds the error as I couldn't hear it when I listened for it in the same scenario.

Could you explain what the cue points are used for, I thought about recording the sound and inserting it back in as a basic wave but I suppose this won't work?

It doesn't matter too much because I've just found that taking the sound detail down a notch to 4 eliminates the program trying to play it anyway, I'd rather have it there though!

#4 User is online   Csantucci 

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

Posted 11 May 2013 - 09:30 PM

AlFitz,
cue points are used to loop a sound within the central part of it: sound continues looping from first to second cue point until the expiration of what requires playing of such sound. So if you ask ORTS to loop a sound outside of it (which is clearly nonsense), it crashes.

If you reduce the sound detail you probably loose many sounds and not only the defect one. If you attach the .sms file, I will modify it eliminating the reference to the defect .wav (or maybe I understand how to modify such .wav to make it playable).

#5 Inactive_AlFitz_*

  • Group: Status: Passengers (Obsolete)

Posted 12 May 2013 - 01:01 AM

Ok thanks a lot, makes sense!

The .wav is referenced in a few different files (for some non 225's as well, bit shoddy) so I have put in hopefully the most pertinent one. Quickly looking at it it just appears that it's meant to be played once but I'm sure that cant be right. As you said, it should really loop with the "whooshing" noise within the cue points and then end when the brake is completely released?

As you can probably detect, I'm no expert though he he!


If you didn't know, the driving locomotive is called a Class 91 but the train as a whole is known as a 225 set, this is why it confusingly mentions Class 91 in the file.

Attached File(s)



#6 User is online   Csantucci 

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

Posted 12 May 2013 - 09:13 AM

The file x_IC225_brake1.wav is not called by the .sms file you have attached, where instead file IC225_brake1.wav is called. File x_IC225_brake1.wav is probably called within file IC225eng.sms . However this is not a problem now. From the .sms file I see that effectively the .wav file is played in "One shot" mode, that is without looping. In this case the cue points are not needed. So I have removed the two cue points and attach here such modified .wav file. You can replace the original one with this one and you should no more get the crash.

Attached File  x_IC225_brake1.wav.txt (78.8K)
Number of downloads: 169

I'm also perplex by the fact that this .wav file has 22050 Hz as sample rate, that is the double as the standard MSTS 11025 Hz. This means that to get the sound at the correct frequency a flat frequency curve at 22050 Hz should be present in the related stream of file IC225eng.sms. I wonder if this is the case.

#7 Inactive_AlFitz_*

  • Group: Status: Passengers (Obsolete)

Posted 12 May 2013 - 03:09 PM

Right apologies are due, I was snow-blinded by the similarity of the file names and it has been a long week! I have added the file in question as referenced in the cab sms.

It's inevitable that the cue points will be wrong for this as well as this was the one causing the error. This also seems to be a 22khz wavefile, so your inquiry into the method of playing it will stand for the sms file I posted earlier.

The x_IC225_brake1.wav is not referenced anywhere in the 225 sms files, I have searched for the text string in all of them, why is it there then? For the IC225eng.sms file it uses sounds from the ACELA\Sound\ folder!

I think the audio routines should skip looking for cue points for the "one shot" designated sounds as this would negate this problem turning up altogether (even though it shouldn't be there in the first place) and this would make the program a bit more efficient, I think this is what MSTS does as well.

I have ended up replacing the erroneous brake sound with the one you have provided me and all is well so thanks again.

Attached File(s)



Page 1 of 1
  • 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