Surge XT

This should help.

Crap scraper. That’s a link to Opulus, which really is quite something.

1 Like

Reading more, I was using a single FM operator and no algorithms other than perhaps the self feedback. :wink:

1 Like

So the DX7 and their ilk were collections of connected operators routed to one another in algorithms. For instance the DX7 had 6 “operators” ( in the DX7 case a sine wave with an envelope that could self modulate and take FM input and be tuned to a ratio of the base frequency) which inter-modulated in one of a variety of ways. You would have a card that looked like this and pick different ones.

If you want to play with this, there’s really nothing better than the plogue DX7 vst which shipped last year, but arturia has a good DX7 and dexed is a really competent open source one.

In this language “FM-OP” is an operator in that. A single node in that graph. To make one of those you would wire up 6 FM-Ops with their FM routed in certain ways and you would start to get DX7 style sounds.

The Surge oscillators can be cast in that light.

  • FM2 is a 3 operator model which would look like 1 → 1, 2 → 1, 3 → 1 1 → out. The oscillator 2 and 3 have independent depths and a C:M ratio which is fixed at an integer.
  • FM3 is a 4 operator model which is 1 → 1, 2 → 1, 3 → 1, 4 → 1, 1 → out. Operator 2 and 3 are at an arbitrary C;M ratio (doesn’t have to be integral) or can also be set to an absolute frequency; Operator 4 is always absolute.
  • Because surge is like C++ it counts starting at 0 so “FM2 is 2 modulators, FM3 is 3 modulators” but the DX7 counts the “1” hence the difference in labeling (but the DX7 is not called the DX6 since the 7 means something else but I don’t remember what)

The surge Sine oscillator is a bit more like a single node but from a TX81-Z rather than a DX7, in that it has wave shaping using ‘quadrant shifting’ where you move quadrants around to get odd shapes. It also has unison and a built in simple filter to tame some of those pointy shifts.

All run at 2x oversample.

Hope that helps with surge!

7 Likes

Thanks, that helps a lot. I’ll have to play with the Arturia DX7 VM since I have it. Also, thanks for reminding me of Dexed. I was trying to remember that name since I have played with it in the last couple of years.

Yeah, this all helps with Surge, at least it helps me.

Guys, what an amazing plugin! Thanks ever so much. They look and feel great and the UI is wonderfully consistent. Fantastic job with this. I’m two thirds into testing the VCO’s only - man, there’s a lot of modules to take seriously here - and this is my initial feedback. There might be a couple of bugs in there. Let me know if it’s too much. It might come across overly negative but that’s only because I’m trying not to rave about all that I love about them :slight_smile:

The VCO’s in general

  • Major kudos on the theming system!
  • Love the unison modes, they just lift everything to a higher level.
  • In unison modes they can deliver a quite high output level. I wonder if an output level knob would be appropriate, where there’s space. Otherwise we really need attenuators right after the VCO.
  • I prefer the “warm” character for all the VCO’s.
  • I’m not a fan of the dragable labels for Oct and Uni. I think at least a click on them should pop a menu like the wave selection labels.
  • I would really like a DC filter on the outputs, as many of the VCO’s have quite a DC-offset in some modes. Could be optionally engaged from a context menu, if it uses CPU.
  • The modulation system is great! Super flexible and compact way of doing it.

The Classic and Modern VCOs

  • They both have quite a DC offset when using unison+detune.
  • Very free of aliasing, wonderful.
  • Modern VCO starts to use more and more CPU when you crank up the unison. Classic VCO does not. Bug?
  • They both sound great but I actually prefer Classic VCO for its tonality.

The Sine VCO

  • Love it
  • Uses only a tiny bit more CPU in unison.
  • Lots of DC when using feedback.
  • Heavy aliasing with feedback over a certain amount.
  • LO/HI cut doesn’t do anything.

The Wavetable VCO

  • Great! Does eat some CPU in unison but otherwise lean.
  • Would love a longer lead-in on the start of the range of the Formant knob, it can be from 0 to very abrubt sometimes.
  • Some of the waves are great, some don’t have much musical relevance or just seem off, with hardly any variance in them. Scratching my head sometimes.

The String VCO

  • Fantastic, love it!
  • The attack gets quite clicky though, wish there was a way to soften it a bit.
  • High DC offset on some settings.
  • The constant* exiters seem difficult to make use of musically.

The Alias VCO

  • Has a lot of aliasing, maybe that’s the idea.
  • Not for me :slight_smile:

The FM2 and FM3 VCO’s

  • Very clean and efficient, sounds great, love it.
  • High DC offset on some settings.

The Twist VCO

  • Sounds great!
  • Can’t stop it droning and use the trig input. Feels like a bug.
7 Likes

Ken, maybe this thread about the DX7 and FM algorithms is interesting for you:

This is wonderful feedback.Let me take some of it and provide some answers. I’ll also turn a couple of them into Github issues but may tag them as post-1.0 issues. (Issues 568, 569, 570 are the unison ui element, attenuator, and dc blocker, respectively).

In unison modes they can deliver a quite high output level. I wonder if an output level knob would be appropriate, where there’s space. Otherwise we really need attenuators right after the VCO.

This is a good idea. We could easily add an attenuation to the menu like we do for drift.

I’m not a fan of the dragable labels for Oct and Uni. I think at least a click on them should pop a menu like the wave selection labels.

This is a good idea. They are parameter widgets though so you can just RMB and type in 3.

I would really like a DC filter on the outputs, as many of the VCO’s have quite a DC-offset in some modes. Could be optionally engaged from a context menu, if it uses CPU.

Let me think about this. We have a robust DC Blocker we use for our wave shapers which I could perhaps lift. Inside surge proper there’s DC compensation elsewhere in the signal chain though. So need to look.

Modern VCO starts to use more and more CPU when you crank up the unison. Classic VCO does not. Bug?

Not really. modern requires doubles internally and is a more computationally intensive algorithm so we have less opportunity for parallelism with SSE.

LO/HI cut doesn’t do anything.

I think several of your comments (including this one and the twist LPG not working) are because we haven’t written a manual yet, you don’t use surge proper, and you aren’t used to items being deactivated. This is not your fault obviously :slight_smile: Many controls in surge are ‘optional’ and are off by default for a variety of reasons, including the lo and hi pass filters in most things.

The visual idiom we use for that is these power buttons by the knobs. Here they are off

where you can see there is no high cut happening obviously. Click that little circle and it powers up

Some of the waves are great, some don’t have much musical relevance or just seem off, with hardly any variance in them. Scratching my head sometimes.

yeah its a bit of an unedited collection in surge.

The attack gets quite clicky though, wish there was a way to soften it a bit.

In surge proper we generally use a post-oscillator VCA for that

The constant* exiters seem difficult to make use of musically.

They only really are useful if you heavily modulate the exciter level. Set it to constant noise, set the exciter level to 0, and modulate it with a tight pulse for instance and you get repeated notes.

Has a lot of aliasing, maybe that’s the idea. Not for me :slight_smile:

It is, and it isn’t for everyone indeed.

Twist: Can’t stop it droning and use the trig input. Feels like a bug.

Turn on the LPG using the button as above.

6 Likes

ConstantNoise.vcv (2.6 KB)

Here’s a super simple example of using the constant noise modulator to shape a sound with string using the surge LFO

2 Likes

It’s easy to use your own Wavetables btw - I have a fairly large collection (a few GB) and I just linked the folder containing them all so they are instantly accessible - and Surge is clever about interpreting how many samples each wave contains so they all seem to load correctly, regardless of format - it’s extremely user friendly.

4 Likes

Thanks Paul

Ah! They’re “Engage buttons”, I totally took them for LED’s. I’ll bet 80% of users will as well, without reading the manual. I’m wondering, on Sine VCO are they even necessary in this implementation? You can just turn on/off when using the knobs. Likewise on the Twist VCO, I’m wondering if it’s necessary or you can just detect a plugged in cable to the Trig input, like the Plaits implementation.

That sounds great Steve! Didn’t get to try that part but certainly will, thanks.

Thanks, yup, got the idea now.

We thought about this, but then there is no way to modulate from zero since “zero is off” without a relatively complicated computation at filter time of “is modulation active targeting this knob” and that vexed us some.

The turn on the LPG when you plug in a trigger in twist is a good idea though. I will add that issue also!

1 Like

If they’re “just” filter knobs can’t they just be used (and modulated) like any other filter knob - you turn it up, you turn it down? Guess I’m not seing the need to turn them on with a button as well, but I belive you :slight_smile:

yes they can. I use that all the time!

but there’s a difference between running a LPF at 20hz on a signal and running no filter at all. That’s basically what the button does.

In sine it is a bit marginal but in some of the other contexts it makes a bigger difference - like turning the drive on or off in the rotary speaker circuit. So it is definitely an idiom we need and “minimum value and unmodulated is off” is an idea we thought about but ended up not loving.

Of course, we might be wrong!

1 Like

oh i remember - we also really disliked having to destroy a value and a modulation to hear an optional part of a circuit bypassed and the ‘zero is off’ has that issue.

I see, it’s because it’s tied to the modulation system.

well no. if you have the hi cut set at 10k and you want to hear what it sounds like off, what’s the gesture to turn it off. “Turn it to 20k” doesn’t let you preview.

So its both hard to detect ‘unmodulated extrema’ and also loses that preview was our conclusion.

Yes, but also the knob value. With the on/off button you can flip between say ‘filter at 130Hz’ and ‘no filter’, without having to sweep the knob down from 130Hz to 0.

Lol - Paul types much faster than me!

1 Like

And just so you don’t think I ignore you :slight_smile:

I’ll get this in tonight sometime.

6 Likes

Thanks! This is probably what I was thinking about rather than Dexed, but who knows. At my age it seems that just because I knew something earlier this year does not mean I know it now. I attribute this to the fact that I have learned so much that my brain has overflowed. That sounds better than the more realistic alternative :wink: But, it all does still trigger deja vu.

4 Likes

Oh no, I wouldn’t think that at all. On the contrary you seem very receptive and I think it’s really great that you give people a month to test the beta, it’s a huge plugin.

:+1: Much appreciated

2 Likes