Page 1 of 1

LFO option for hard transition in waveforms [fixed in 1.9.6!]

Posted: Tue Apr 28, 2020 10:40 pm
by queries
For the saw, saw2, square, and random waveforms, the LFO currently has a linear ramp between values, including transitions that should be "harder". This hinders its use for certain applications where, for example, the position within a sequence is being controlled by a saw LFO.

This option would make sure that in saw, saw2, and square waveforms, the transition between 0 and 1 is instant (only one sample no matter what speed), and for random, the transition between one value and the next is instant.

Re: LFO option for hard transition in waveforms

Posted: Thu May 14, 2020 1:49 am
by Keres
I think I have the same problem with the multi control a couple of versions ago when trying to make an arpeggiator that will control the Hertz value of the LFO. The problem was that the multicontrol (sometimes) interpolated between hard values. NightRadio has now fixed the multicontrol with enhancements so they can basically do whatever you want and anything in between.

I'm still having problems understanding what you were asking because it seems more likely that you are using too large of a pattern to be accurately controlled by an LFO, but I am assuming that you are using the LFO with a Snd2ctrl to control the phase slider. I mean there could be all sorts of reasons why you're not hitting the same place in the sequence...

In my experience with using an LFO to control the phase of a metamodule sequence it works much better when the metamodule has a sequence of less than 128 lines.

Would you do me a favor and reproduce the trick you're trying to pull off?

Re: LFO option for hard transition in waveforms

Posted: Thu May 14, 2020 10:44 am
by Trackerbound
Would you do me a favor and reproduce the trick you're trying to pull off?
Initially it was me who spotted this behavior and reported it in Discord channel. Queries then clarified it a little bit and made the forum thread (thanks btw!).

Here's the demo project file. You'll hear an irritating sound in the end of sequence or after hitting Stop button. It occurs because of LFO's soft transition -> LFO rapidly (but not instantly!) cycles backwards to 0%.

Re: LFO option for hard transition in waveforms

Posted: Fri May 15, 2020 8:08 am
by Keres
man, u guys are spaced out
for real... this sunvox thing is like the 2600 club of music DSP.

ok, first of all, why does that original mod have all those LFO's in the wrong place? they all do the same thing... couldnt you replace them with just one?
secondly... did anyone try to trigger those waveshaper env's with a sampler? honestly... i still got pops and noise, but not as much.

secondly... WHERE the HECK did you get those envelopes for the waveshapers??? is there a secret DAW for sequencing sunvox module parameters???

if i could put together a boyband, it would be Nightradio, Queries, Trackerbound and Manganoid... all wearing women's lingerie and american football helmets.

but yeah, i think you guys are right. there is a noise there that is definitely due to the way you have implemented the LFO's in that module. replacement with a super-scientific sample is an option, but it looks like there are pops and clicks that way to. honestly, with a beat and other music, hardly noticeable. I don't know how else having interpolation controls over the LFO would benefit sunvox. i mean... if you have the ability to generate such env's for the waveshaper... what is next? asking Nightradio to make the DC offset in the AMP module super-scientific as well?

i donno guys... this one is above my IQ and pay grade ;pp
seems like that track was done... stick a fork in it. check the remix.

Re: LFO option for hard transition in waveforms

Posted: Fri May 15, 2020 2:40 pm
by Trackerbound
ok, first of all, why does that original mod have all those LFO's in the wrong place? they all do the same thing... couldnt you replace them with just one?
Fair enough. I don't know why I made a separate LFO for each channel. ¯\_(ツ)_/¯
did anyone try to trigger those waveshaper env's with a sampler? honestly... i still got pops and noise, but not as much.
Fair enough. [x2] But I wanted to make it "generative" => tried not to use any synths/samples.
secondly... WHERE the HECK did you get those envelopes for the waveshapers??? is there a secret DAW for sequencing sunvox module parameters???
White magic.
Okay, I'll try to explain it as detailed as I can.

Recently I realized that WaveShaper "maps" the incoming volume from its X axis to its Y axis. So what if we create something that will take events from 0 to some value (saw waveform) and transform it into custom values that we may use later, e.g. in controlling something via Sound2Ctl?

Since drawing all envelopes will be really difficult and tedious, I decided to "disassemble" the .waveform16bit structure and try generating my own envelopes using a predefined array of values. The structure was really simple: 256 values, each 2 bytes long (hence the maximum allowed Y value is 65535). Then I wrote a script in Python that converts array of numbers into a .waveform16bit file. I also made something similar to a wavetable synth.

By the way, switching the LQ mode to HQ in WaveShaper will make the transitions way smoother.

Re: LFO option for hard transition in waveforms

Posted: Sat May 16, 2020 8:46 am
by Keres
well you guys are the music masters.

i would have never noticed this.

I should think that the best option would be to introduce an options panel. One just like the snd2ctrl option "record values" except that it was "hard transition" and affected only the square, noise, and saws.

Re: LFO option for hard transition in waveforms

Posted: Sat May 16, 2020 8:56 am
by queries
Even without getting into the technical LFO level, having a hard-transition option would also make it easier to use LFOs as oscillators when creating custom synths, as their waveforms would more closely match those emitted by Generator and Analog Generator.

Re: LFO option for hard transition in waveforms [fixed in 1.9.6!]

Posted: Tue Nov 24, 2020 9:36 pm
by queries
Thanks for getting this into 1.9.6 NightRadio!