Vember Audio Surge is now open-source

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS
Surge XT The Sonic Transformation

Post

baconpaul wrote: Fri Apr 30, 2021 11:24 am
accessdune3 wrote: Fri Apr 30, 2021 7:14 am anyways, very cool update! i like the oscillator updates, tho i noticed the CPU on unison is drasticly increased, just playing few chords with 3 osc x8 unison my cpu is strugling.
Which oscillator? Modern is a lot more cpu intensive than classic, but classic is unchanged. Unison in sine is about 4x faster in most cases.
i ment Modern oscillator

Post

Yep that's as expected then.

Post

yeah i have a plan for modern but it requires AVX as opposed to SSE extensions (the algorithm requires double precision at one spot so we can't do SSE unison alas). I didn't build in AVX support yet since we think we would have to do CPU version switching then - while we can assume SSE2 (a 2005 era CPU) AVX is a bit harder. Still debating. Anyway so as a result modern is 3 or 4x more CPU intensive than classic, and is also about as fast as you can go without recoding for AVX

Post

If I remember well, you plan to add a preset browser to surge (something similar to u-he or tal -unolx). Can we expect it for the 2.0 or later ?

Post

Yes, it's planned for next release (Surge XT, not 2.0).

Post

baconpaul wrote: Sun May 02, 2021 8:05 pm yeah i have a plan for modern but it requires AVX as opposed to SSE extensions (the algorithm requires double precision at one spot so we can't do SSE unison alas). I didn't build in AVX support yet since we think we would have to do CPU version switching then - while we can assume SSE2 (a 2005 era CPU) AVX is a bit harder. Still debating. Anyway so as a result modern is 3 or 4x more CPU intensive than classic, and is also about as fast as you can go without recoding for AVX
I see. In my opinion going AVX route wouldnt hurt too much users since most if not all CPUS that came out later then the late 2011 have AVX support. Im sure there will be one or two who will say that are using older then 10 year old machines, but i really doubt they are the majority.
Advanced Vector Extensions (AVX, also known as Sandy Bridge New Extensions) are extensions to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge[1] processor shipping in Q1 2011 and later on by AMD with the Bulldozer[2] processor shipping in Q3 2011. AVX provides new features, new instructions and a new coding scheme.

Post

I have the same feeling about it. I think we should go with AVX in XT.

Post

I don't understand, you say that you can't do unison on SSE (the algorithm requires double precision at one spot so we can't do SSE unison alas), but you haven't built in AVX support now, so what does Modern oscillator run on now? And when you make AVX support what will change? Will it be faster, or will the quality of the oscillator improve?

Post

Modern oscillator doesn't use SSE at all because of that double-precision part. That's why it needs more CPU than Classic, which uses SSE.

If we go AVX, we can expect better CPU efficiency for Modern oscillator (4 unison voices would cost the same as one unison voices), the quality of oscillator wouldn't change sound-wise.
Last edited by EvilDragon on Mon May 03, 2021 9:38 pm, edited 1 time in total.

Post

EvilDragon wrote: Mon May 03, 2021 10:07 am Yes, it's planned for next release (Surge XT, not 2.0).
Why xt? What does it stand for? What's the ETA?

Post

Because it's a platform change (going from VSTGUI to JUCE), so it gets a new plugin ID and a new name. Hopefully sometime this Fall.

Post

EvilDragon wrote: Mon May 03, 2021 7:12 pm Because it's a platform change (going from VSTGUI to JUCE), so it gets a new plugin ID and a new name. Hopefully sometime this Fall.
Platform change? So it's no longer a VST plugin? Sorry... kinda confused. Pretend I'm blond XD

Post

Platform as in "whatever we use to make it". It's still VST/AU and all that of course.

Post

EvilDragon wrote: Mon May 03, 2021 5:33 pm Modern oscillator doesn't use SSE at all because of that double-precision part. That's why it needs more CPU than Classic, which uses SSE.

If we go AVX, we can expect better CPU efficiency for Modern oscillator (8 unison voices would cost the same as one unison voices), the quality of oscillator wouldn't change sound-wise.
yes modern is very carefully tuned C++ code but it isn't vectorized across unison voices, so 4 way unison does almost 4x the calculation of 1x unison. In, say, the new sine oscillator this is not true. We use SSE everywhere so we can calculate unison in parallel. Similarly all the filters are parallel across voice (so 1-4 voices use basically the same amount of filter cpu; as do 5-8. etc...)

but it would be a bit of a rewrite - will debate.

The reason to be hesitant on AVX is most shops have a switch based on cpu but that means writing everything twice. still debating what to do in XT

Post

EvilDragon wrote: Mon May 03, 2021 7:41 pm Platform as in "whatever we use to make it". It's still VST/AU and all that of course.
Thanks! Good to know it's still VST/AU and not some other kind of plugin :D

Post Reply

Return to “Instruments”