Synths without PWM

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
RELATED
PRODUCTS

Post

I know Sylenth1 doesn't have that feature, but there is a trick to fake it with certain settings. AFAIK discoDSP's Corona doesn't have it either.

Is there a reason why it would be implemented in some plugins and not others?
I am not a programmer myself, but is it that difficult to add?

Post

Ask Lennardigital

Post

As far as i gathered, it takes more CPU. But, there's really few synths which don't have it.

Post

Elektronisch wrote: Fri Dec 07, 2018 1:35 pm Ask Lennardigital
That feature has been requested many times, but I didn't ask him directly why it hasn't been added.

Post

To my best knowledge, Sylenth1 uses so called "MipMapping" of static waveforms, i.e. it has keeps each waveform in separate tables for a range of frequencies. This is a very efficient way to avoid aliasing, but it does not allow for continuous changes of the waveform.

The easiest way to create PWM with this is to play two sawtooth waveforms with opposite polarity. Obviously, this doubles the CPU usage, and maybe this was a consideration. Maybe they thought they'd get away with it since the Minimoog doesn't have PWM either. And of course, the trick is to simply waste two oscillators (again, twice the CPU). Other tricks include using an inverting delay on the sawtooth, where the delay time is a fraction of waveform cycle.

It is not difficult to add when a synth can do a sawtooth waveform. Hence, my best guess: The reason is CPU load.

Post

When I use the workaround in Sylenth1, I don't see an increase in the CPU load. And even if there were a slight increase, who would care these days, when computers are so much more powerful than a decade ago...

Post

Urs wrote: Fri Dec 07, 2018 1:44 pm To my best knowledge, Sylenth1 uses so called "MipMapping" of static waveforms, i.e. it has keeps each waveform in separate tables for a range of frequencies. This is a very efficient way to avoid aliasing, but it does not allow for continuous changes of the waveform.

The easiest way to create PWM with this is to play two sawtooth waveforms with opposite polarity. Obviously, this doubles the CPU usage, and maybe this was a consideration. Maybe they thought they'd get away with it since the Minimoog doesn't have PWM either. And of course, the trick is to simply waste two oscillators (again, twice the CPU). Other tricks include using an inverting delay on the sawtooth, where the delay time is a fraction of waveform cycle.

It is not difficult to add when a synth can do a sawtooth waveform. Hence, my best guess: The reason is CPU load.
Isn't that also how Hive works? But with 3 samples per octave rather than 2. Something like that?

Post

fluffy_little_something wrote: Fri Dec 07, 2018 1:46 pm When I use the workaround in Sylenth1, I don't see an increase in the CPU load. And even if there were a slight increase, who would care these days, when computers are so much more powerful than a decade ago...
The increase in CPU load manifest by sacrificing an oscillator. Sylenth1 becomes a two oscillator synth when using 2 x PWM.

Post

fluffy_little_something wrote: Fri Dec 07, 2018 1:47 pmIsn't that also how Hive works? But with 3 samples per octave rather than 2. Something like that?
Yes, but we figured out brutally efficient tricks to do PWM.

Not sure if it's 3 or 4 samples per octave. You can easily observe it when running Hive or Sylenth through SPAN and slowly move the pitch wheel (on +/- 12 semitones). Every now and then there'll be "empty space" above 17kHz or so.

Post

Urs wrote: Fri Dec 07, 2018 1:44 pm <...> so called "MipMapping" <...> is a very efficient way to avoid aliasing, but it does not allow for continuous changes of the waveform.
<...>
It is not difficult to add when a synth can do a sawtooth waveform. Hence, my best guess: The reason is CPU load.
Hmmm... Needs a head-scratching smiley.
Last edited by perfumer on Fri Dec 07, 2018 2:15 pm, edited 1 time in total.

Post

Urs wrote: Fri Dec 07, 2018 1:48 pm
fluffy_little_something wrote: Fri Dec 07, 2018 1:46 pm When I use the workaround in Sylenth1, I don't see an increase in the CPU load. And even if there were a slight increase, who would care these days, when computers are so much more powerful than a decade ago...
The increase in CPU load manifest by sacrificing an oscillator. Sylenth1 becomes a two oscillator synth when using 2 x PWM.
I think I have to waste an entire instance because one needs two saws of different layers. I tried it on one layer yesterday and it sounded different (as in worse), the real juicy PWM sound with LFO modulation is only there when using two layers.
I think it makes sense as only a layer has a phase mod target, not either oscillator of the same layer.

Post

Cant think og any other than sylenth1
EnergyXT3 - LMMS - FL Studio | Roland SH201 - Waldorf Rocket | SoundCloud - Bandcamp

Post

Well, Monark. But then, it is a Minimoog emulation, and the Minimoog didn't do PWM either.

Post

chk071 wrote: Fri Dec 07, 2018 3:41 pm Well, Monark. But then, it is a Minimoog emulation, and the Minimoog didn't do PWM either.
But it does (to some degree)... it's got /| and |\ so you can mix 2 oscillators with slight detune and you get nice PWM. However, the PWM speed depends on the notes you play, and it's always set to 100% :clown:

Post

Yeah, with the same technique you can realize PWM in Sylenth1. I always found it doesn't sound quite exactly the same though, but, what do i know.

Post Reply

Return to “Instruments”