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:
Then with a more intense curve:
This is what you can do to get this siren curve in Surge:
- Turn off keytrack on the Oscillator (you can mess with the pitch later).
- 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).
- 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.
- To get the phase aligned as we want, set the phase start of LFO 2 to 25%.
- Set the amplitude of LFO 1 to 100% and LFO 2 to around 10%
- 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! :)