• September 7, 2018 at 2:10 pm #19814
    BillBill Lear
    Participant

    This preset is meant to be an example of how to model the doppler effect
    of a moving source that emits a sound as it passes an observer.

    Background:

    Without going into the details of the math behind it, as the source
    starts off toward the observer, the frequency of the sound is
    increased proportionate to the speed of the source in the direction of
    the observer. As the source approaches, the frequency of the sound
    heard by the observer at first slowly drops, and the closer the source
    comes to the observer, the faster the frequency will drop, until the
    point at which the source passes by the observer, when the frequency
    heard by the observer is briefly exactly that emitted at the source.
    As the source passes, the frequency rapidly drops, then drops more
    gradually as the source recedes.

    For example, if a train one mile distant, blowing its horn
    continuously at 400Hz, travels at 525 feet per second (a very, very
    fast train) toward an intersection from which an observer stands at a
    distance of 300 feet, the train will take approximately 10 seconds to
    reach the intersection. Initially, the horn will sound to the
    observer as if it were blowing just above 760Hz, and as it gets the
    the intersection it drops very rapidly through 440Hz and as the train
    recedes, down to just about 310Hz.

    In addition to the change of the frequency, the volume of the sound
    increases as the train approaches, reaches its maximum at the
    intersection, and decreases as the train recedes.

    Other secondary effects are the distortion of the sound when it is
    farther away, due to atmospheric effects (changes in air density,
    temperature, dust, water vapor, etc.), and the lessening of this
    distortion as the train passes through the intersection.

    Following is how I set up Serum to model this phenomenon.

    LFO 1 embodies the change in frequency heard by the observer, and has
    the characteristic S-curve shape of a doppler shift in frequency. It
    is used to modulate the coarse tuning of the main oscillators.

    Env 1 is set to increase linearly over 2 seconds to a maximum, and
    then decrease linearly over 2 seconds, with a long release of six
    seconds. This is characteristic of the change in volume of the sound
    as the train approaches, passes, and recedes.

    In addition to the modulating the levels of the two main oscillators,
    as it does by default, Env 1 is used to modulate the following:

    o The cutoff level of the filter which is set to its default shape
    (12dB lowpass). This simulates attenuation of higher frequencies at a
    distance (again, due to atmospheric effects).

    o The Drive of the Distortion FX (set to default Tube). With the
    modulation inverted, this simulates greater overall distortion of the
    sound at a distance which decreases as the train approaches, then
    increases as it recedes.

    o The Mix of the Distortion FX. This helps keep the overall loudness
    that comes from the distortion effect relatively constant.

    o The level of the sub — this increases low frequency volume as
    train passes, perhaps simulating the physical effect of a train
    transmitting more energy through the earth to the observer as it gets
    near.

    o The level of the noise oscillator, which is routed through the main
    filter. This adds a bit of high-end sizzle as the filter opens (train
    nears).

    LFO 2 is used to modulate the amount of reverb, as a ramp function.
    This allows the sound to linger, as if bouncing off of nearby
    buildings, etc.

    Timbre

    My initial efforts to synthesize a train horn sound were not very
    successful. I happened to be watching Dan Worrall give an
    introduction to the Repro-5 synth on YouTube
    (https://www.youtube.com/watch?v=UVruPLS53ys) when he created a sound
    that seemed a decent approximation to a train horn sound.

    Even though I have Repro-5, I decided to try to recreate what he had
    done, with a slight variation, in Serum.

    Essentially, Worrall used unison mode with two oscillators, each with
    two voices and detuned the first oscillator’s two voices apart from
    each other by 4 semitones, a perfect third, and then tuned the second
    oscillator’s first of two voices up by 7 semitones (a fifth) and the
    second up by 11 semitones (a seventh), thus creating a chord
    consisting of the root and major third (oscillator A) and the fifth
    and seventh (oscillator B), which is a major seventh chord.

    Worrall also changed the global tuning, to ensure that the lowest
    voice played what he played on the keyboard. This is because when you
    detune the voices, it detunes them plus and minus from the central
    frequency associated with the note being played. So, for example, if
    you detune the two voices by a maximum of two semitones, and you play
    an A on the keyboard, you will hear a lower voice of A minus one
    semitone, and an upper voice of A plus one semitone.

    Since Worral tuned the first oscillator’s voices by 4 semitones (plus
    and minus 2 semitones), he bumped the global tuning up by 2 semitones.
    Here is a summary his tuning of the voices:

    A first voice: -2 semitones detune +2 semitones global tuning = 0
    semitones
    A second voice: +2 semitones detune +2 semitones global tuning = 4
    semitones

    B first voice: oscillator frequency up by 7 semitones, -2 semitones
    detune +2 semitones global tuning = 7 semitones
    B second voice: oscillator frequency up by 7 semitones, +2 semitones
    detune +2 semitones global tuning = 11 semitones

    To set the range of detune for the oscillators in Serum I set unison
    for both oscillators to 2, then turned up detune all the way (by
    default it detunes by a max of 2 semitones). Then, on the Global tab,
    I changed the max range of detune for oscillator 1 from 2 semitones to
    4 semitones, and left that for oscillator B at its default of 2
    semitones.

    Since I had read that some train horns were essentially a more
    dissonant major sixth chord, I tuned the second voice of the second
    oscillator up by 9 semitones instead of 11.

    Instead of using global tuning, I just tuned the oscillators up to
    get the proper chord. Here is a summary of my voice tunings:

    A first voice: oscillator frequency up by 2 semitones, -2 semitones
    detune = 0 semitones
    A second voice: oscillator frequency up by 2 semitones, +2 semitones
    detune = 4 semitones

    B first voice: oscillator frequency up by 8 semitones, -1 semitone
    detune = 7 semitones
    B second voice: oscillator frequency up by 8 semitones, +1 semitone
    detune +2 semitones global tuning = 9 semitones

    Playing Instructions:

    Set BPM to 125, play a note that lasts about 2 seconds, until Envelope 1
    hits its maximum, then release.

    I don’t think the train horn aspect of this is terribly convincing,
    perhaps someone here can figure out a better approach.

    I’m sure more tweaks could make this better, but I’ll leave that to others.

    The Serum patch is attached.

    Attachments:

You must be logged in to reply to this topic.