# Creating a sweep by automating an oscillator's frequency

I'm looking into designing a kind of ambulance siren sound. How would you go about sweeping between 600Hz and 1500Hz, while having control over the curves (exponential, linear, etc)?

My thought was to use a VST synth and automate an oscillator's frequency in an automation lane, as pictured, but I wasn't able to find a VST that:

• lets me specify the oscillator frequency in Hz
• has a range large enough to allow for a sweep between 600Hz and 1500Hz

So far I have found Surge almost does what I need, however the frequency is relative to whatever note is playing, and its range is limited to -840Hz/840Hz (although I'm not sure negative frequency makes sense).

Also I need to have control over the automation curves and need to be able to vary the timing between sweeps, so using an LFO is not an option.

Thanks!

• You got keytrack switched on in that pic, that's why it tracks the keys. Negative frequency in this case is how far the wave "sweeps" down (should really be controlled by the amplitude of the LFO wave).
– n00dles
Mar 4, 2022 at 22:15
• Yeah, that LFO is very basic. What about an LFO modulating another LFO? You need a synth I built in Reaktor called Enceladus(crap name, I know). Very detailed modulation options. You ever used Reaktor? You could design an LFO exactly how you'd like. I'm sure there are VSTis that allow Osc frequency input. Maybe someone will come up with one.
– n00dles
Mar 4, 2022 at 22:32
• Wait... `840 + 840 = 1680` - so the modulation range of the LFO is 1680 Hz. You only need 900 Hz. That's a deviation of +/-450 Hz. Have I got any of this right? lol I'm tired. I thought that oscillator was an LFO.
– n00dles
Mar 4, 2022 at 22:43
• Indeed I could work with that, but it's tedious and I was hoping to find something more straightforward.
– Cliq
Mar 7, 2022 at 13:53
• So currently my only solution is to use Surge, and: 1) play a C6 (`~1046 Hz`); 2) move the frequency slider to `-446 Hz` so I get a tone of `600 Hz`; 3) automate a rise to `+454 Hz` so I can get a tone of `1500 Hz`, and so on.
– Cliq
Mar 7, 2022 at 13:57

That automation lane screenshot looks to me like you're working in Ableton Live? If thats the case then you've got the synth for this task already! Operator has a "fixed" mode for each oscillator which gives you a frequency parameter up to 2khz. Should work well for what you're doing.

Synths like this generally use musical 'pitch' rather than linear frequency control with regard to oscillators, because they're designed to play musical tones. That being said, I'm sure someone will post some VSTis that do have frequency controls for its source oscillators.
To do technical stuff that normal synths can't do, I usually use the synth-builder software Reaktor or the code-based synth builder, SynthEdit. They're extremely versatile and do anything I need them to do and more.

But as you're using Surge, and it's free, I thought I'd have a quick try to see if I could create the kind of curve you're looking for using the two LFO method I thought of earlier. This is a just rough example, just to show you the curve is possible using the LFOs in Surge.

This was the result, first with a subtle curve:
https://soundcloud.com/n00dlz/quick-siren-lfo-example-1
Then with a more intense curve:
https://soundcloud.com/n00dlz/quick-siren-lfo-example-2-larger-curves

This is what you can do to get this siren curve in Surge:

1. Turn off keytrack on the Oscillator (you can mess with the pitch later).
2. Set LFO 1 to a triangular wave with a frequency of 0.25 Hz for this example, and also set it to modulate the pitch of Oscillator 1 (move pitch slider fully to the right).
3. Set LFO 2 to a sinusoidal wave, also with a frequency of 0.25 Hz and also modulate the pitch of Oscillator 1, but this time, move the slider fully to the left (opposite phase of LFO 1). We can use the LFO's amplitude control to adjust the modulation range of the LFO.
4. To get the phase aligned as we want, set the phase start of LFO 2 to 25%.
5. Set the amplitude of LFO 1 to 100% and LFO 2 to around 10%
6. I also set the octave of Oscillator 1 to +3, just because it sounded better.

You can now adjust the sweep range with the amplitudes of the LFOs, LFO 1 to get a smaller sweep range and LFO 2 to adjust the curves.

All this process does is add a relatively low amplitude sine wave to a triangle wave in a way that the peaks of the sine wave line up with the ramps of the triangle wave, thus creating the adjustable curve.

Side Note: If you're into coding, I think you can actually code the LFO wave in Surge, so you could get the wave you want from a single LFO. I haven't tried this myself, but I have a feeling it involves a lot of maths!

The other thing you mentioned was varying the timing between sweeps. I didn't try this, but you could create parallel automation lanes that adjusts both LFO rates synchronously. This will give control over the speed of the sweep, allowing you to slow it down and even stop it.

I hope this helps! :)

• Thank you for taking the time to write this.
– Cliq
Mar 9, 2022 at 18:51
• No probs, mate! ;)
– n00dles
Mar 9, 2022 at 19:38