#Train Sound Synthesizer

61 messages · Page 1 of 1 (latest)

sinful grail
#

My stab at a sound generator for trains, though this is much more theoretical.

Essentially, it'd follow an 'ADSR' profile, though in this case it'd be Accelerate, Coast Transition, Coast and Stop. Each one would have definable key points along it, where you'd basically configure a synthesizer of sorts to generate a wide variety of sounds. (I was thinking something like an OPL3 - just enough operators to make complex sounds with FM and AM sound modulation)

At each point, you'd determine how the last phase of the profile would end and how the next would start. This would allow the ramping up noises seen on EMUs, but also allow for aspects of the synthesizer to raise and lower in volume.

If the train is going at a set speed, it'd use the coasting sound, but if it's accelerating or decelerating, it would interpolate the keypoints on either the Accelerate or Stop profiles based on the throttle position.

As sending a series of synthesizer patches is probably cheaper in terms of data compared to sending entire sound samples, this might be a performant way to make a variety of somewhat accurate train noises. Obviously, it wouldn't be PERFECT - you try making the sound of a steam engine with a SoundBlaster - but it might be good enough.

Oh, and how would it work on a train? Place a block on the train, define the profile, the sound would come out of the carriage the block is on. Same as the other half-dozen 'train sound' suggestions.

#

You'd need four waveforms: noise, saw, sine and square. You'd have to be able to define the frequency of each operator either as a function of the speed, a constant, or based on another operator. Maybe you'd also want to define the volume as a function of another operator as well, but I don't know if adding an LFO would be way too much complexity.

faint totem
#

why did you react with thumbs down to your own post

#

if this could be made to actually work i would love it

left eagle
#

peak

quick heron
merry portal
# sinful grail My stab at a sound generator for trains, though this is much more theoretical. ...

Arguably it might make more sense to apply the ADSR envelope you've described and link it to a variety of existing samples for each type of train. You could also use a form of granular synthesis to add some kind of random variation to it. Building a good sounding train synth from scratch could be quite difficult. It might be doable but it will probably sound grainy without using Physical Modelling Synthesis techniques or a form of generative synthesis.

What game devs usually do is use a bunch of pre-recorded samples and(or) a form of granular synthesis to produce engine sounds and find ways to interpolate them. This is different to MC's sound design which is basically just have 1 sample for the same sound and simply vary the pitch, volume etc...

Thats still not trivial though, adding random variation between samples, adding an ADSR envelope etc.. still requires time. As you've described the ADSR envelope is often tied to the game interactions as well for moving objects. You could tie the rate of attack, decay etc.. to the trains acceleration

sinful grail
# merry portal Arguably it might make more sense to apply the ADSR envelope you've described an...

Well, the 'ADSR' here is merely a way to describe the speed of the train. when you're speeding up, it's attack, slowing down release, coasting at speed is sustain, etc. Not even sure a notion of decay exists for this scenario.
You'll find trains jumping from points on 'S' and 'R' to points on 'A' and back again as the train moves along, and you'll also find trains just progressing along these curves as they speed up and slow down.

As for the samples... the main purpose of this is to emulate all the various sounds of electric trains, mostly. Trying to include samples that could convey stuff like Jeumont sets on the STM� AND the Class 485s in BR, for instance, would bloat the mod way too much. I just felt like a four-operator synth would be flexible enough to also emulate diesels and steamers with enough finesse while also being relatively simple. If need be, perhaps you could calculate and cache the synth patches as samples instead, to save on needing to download them, but I feel the flexibility and compactness of a synth is worth the complexity.

#

at 50% speedand rising, the train would be halfway up the Attack phase of the ADSR, for instance

merry portal
#

The attack phase is when the train is accelerating, decay when the max acceleration has been reached and sustain whereby the speed of the train is maintained

sinful grail
#

When a train is slowing down, that'd be 'release'

merry portal
#

Sorry I used the wrong word yes

#

release not decay. Basically the same thing though

#

What i'm saying is generating the actual synth sounds is the hard part and likely isn't possible for a realistic engine sound

#

At least without using physical modelling synthesis or generative synthesis techniques

sinful grail
#

Well, I'm not asking for anything realistic - though perhaps 'add a SoundBlaster' is still a bit much to ask

#

If you've ever heard old non-MIDI PC music, that synth is what I think is 'good enough'

merry portal
#

I think the best way to look at it is if the sound sounds clean or distorted it can usually easily be recreated using FM, AM, Wavetable, Karplus Strong synthesis

#

if it's gritty stick with granular, samples or generative

sinful grail
#

The Yamaha OPL3, more or less. Four operators, with a couple of wave forms that can be either used in AM or in FM mode. I think the sounds a single four-op voice could produce are enough to generate what is needed for train sounds.

merry portal
#

If ur building the wrong kind of synth for the task you are probably giving urself extra work

sinful grail
#

(It's also the only synth I have experience using)

sinful grail
merry portal
#

Just have a look at motor sound synths though because u might find something u like

#

if u want to quickly build a synth i'd reccomend something like Purr / Pure Data or MaxMSP to experiment with

merry portal
#

U wont understand the blocks here yet I think because it's pure data but u can see the basis of the entire thing is a combination of noise sources modulated by oscilations

#

the rest is largely just bandpass, lowpass and highpass filters

#

It does get a bit more complicated though later on

#

Basically the key here is to use a program like MaxMSP or Pure Data to create a layout for how the sounds should be generated. You can then begin translating that into code if you like or produce samples you can use instead.

#

This is a preview of Andy Farnells engine design as well

sinful grail
#

that seems hard for people to wrap their heads around to produce custom sounds though

#

synthesizers are already hard

left eagle
#

she modulate on my carrier til i frequency

#

kathy tries to patch a fm synth challenge (seemingly impossible)

merry portal
#

The example I showed from Andy Farnell is an incredibly basic Engine Sound for a car so without being able to recreate that or without having a decent understanding of music tech it's unlikely you will be able to generate something useful

#

That doesn't mean you can't try it's just a warning. I've built AM, FM, Karplus Strong, Wavetable, Procedural and Physical Modelling synths for my degree and internships so I know the work thats required

sinful grail
# merry portal it's more about what u want from all this tbh. Do u want an FM / AM synth or som...

Again, I was thinking mostly of electrics when writing this idea.
https://www.youtube.com/watch?v=LCbMSuuhPtQ
https://www.youtube.com/watch?v=_FUhXgtEnOY
https://www.youtube.com/watch?v=fmB1i8I9HLs
https://www.youtube.com/watch?v=aQlV_W8bvaY
These sounds may not even need a full FM synth - they just need the ability to play 3-4 sines, squares and/or saws, with pitch and volume that can be scaled with throttle. The FM just seemed like an easy way to get kinda close to the sounds of other forms of traction without adding too much additional complexity.

Realism wasn't really my aim.

A ride on the "Jeumont" or "Loma" train, one of two three car sets of MR-63s equipped with a DC current chopper propulsion system that sounds like a trumpet.

Taken on January 14th, 2015.

▶ Play video

This morning, I got word from a YouTube channel that one two-pair set had its front heads repainted into the newer yellow head livery inspired by the new HR4000 subway cars. While on the way home after a long day on campus, I found the set.

The livery looked weird, but awesome at the same time. The A650s (both DC and AC Series) have had their ...

▶ Play video

#モハラジオ #TractionMotorPWMSound #WMATA

Car Type:

WMATA 2000, 3000, 6000 Series
(The sound used in this video is from 3000 Series.)

VVVF:

Alstom "ONIX" 2-Level IGBT-VVVF

Sound Characteristics:

Pattern:

1235 Hz → 1190 Hz → 1210 Hz → 1235 Hz → 1460 Hz → 1210 Hz → 1230 Hz → 1190 Hz

The Washington Metro 2000 and 3...

▶ Play video
steep rune
#

Lets go 465

merry portal
#

Yeah so in that example the LFO bit is the easy part the hard part is the source sound

sinful grail
#

it's just a sine, a square or a saw; more complicated waveforms generally aren't used much for traction

merry portal
#

Well tbh a better focus might be on generating an LFO profile to overlap samples. That in itself could be an entire thing

#

I still think having a source sample for different trains is a good idea

sinful grail
#

and I still think the number of source samples you'd need would be prohibitively expensive if you had to pack them in

merry portal
#

nah god no from the first example I seperated about 3 seperate samples minimum u could use. The point is u introduce them at different times and overlap which isn't 2 hard to do

#

then the LFO gives it the unique characteristic

#

Plus u tie to that the ADSR envlope based on the trains movement and state

#

There is no reason u can't use samples from other similar vehicles as well. An F1 car sounds a lot like the ramping up sound for the first clip u included

#

add an LFO and use pure data or MaxMAP to shape the way that source sounds and u have a lot of possibilities in what u can do

#

There is a saying in sound design that your output is only as good as your input. If you start with a sound thats rich and dynamic your output is always going to sound better

#

_ _
Keep in mind if u want to actually implement this in game as well you're going to have to use Kotlin or Java most likely and they're not well known as audio programming languages so it wont be a simple task

#

Some of these sounds u could try to recreate with FM synths as u say but using a basic sample as your first input is always a good idea

#

Like parts of the AC buzz sound should be possible to reproduce with FM synthesis