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 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
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.
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
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.
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!
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
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!
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!
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 But, it all does still trigger deja vu.
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.
Much appreciated
It really is - and amazing to think the project went from start to finish in 9 weeks. Pyer and i started designing at the beginning of September and Paul started coding shortly after that. 36 modules in 9 weeks - thatâs 4 a week. I know most of the DSP code is pulled from Surge but thereâs still a hell of a lot of Rack specific coding that was done. Paul works super fast - itâs quite hard to keep up with him!
Yeah, that is mind-boggling! Just a single well done module is a big effort. I canât really imagine how you all did 32 modules in 9 weeks.
well we had all of surge. but itâs really only 5 modules; The VCO, the FX, the LFO and a couple of quick stragglers. The modulation system is the exact same class with modified template args in each module. etc⌠The VCOs are all the same widget and processor class just with a template arg modified for instance.
Happy to walk folks through that also in the thread I started in the dev channel, but you know, blah blah, C++17, template specialization, constexpr, etcâŚ
ssssshhh - let them think youâre a magician!
It really is, boggles my mind. Hats off to you guys, what an amazing collaboration.
Love how you use the words âonlyâ and âjustâ here Great stuff Paul!
He is!