Alpha-09 proj 12 of 56: Stored-Waveform Oscillator tweaks

Details of features as they're being worked on or discussed internally.
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
forum
Site Admin
Posts: 74
Joined: Fri Jun 17, 2016 3:39 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Alpha-09 proj 12 of 56: Stored-Waveform Oscillator tweaks

Postby forum » Mon Mar 27, 2017 7:09 pm

Alpha-09 sub-project 12 was some minor performance improvements and extra features in the stored-wave oscillator. I found a couple really old bugs that took a lot of time to hunt down. I'm doing the automated test suite now.

forum
Site Admin
Posts: 74
Joined: Fri Jun 17, 2016 3:39 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Alpha-09 proj 12 of 56: Stored-Waveform Oscillator tweaks

Postby forum » Mon Mar 27, 2017 7:10 pm

The Stored Waveform Oscillator lets you specify the strength of every harmonic by hand or with a formula if you want. I just added the ability to set your own phase for each harmonic as well.

This will have special applications both with detuned oscillators and LFOs.

forum
Site Admin
Posts: 74
Joined: Fri Jun 17, 2016 3:39 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Alpha-09 proj 12 of 56: Stored-Waveform Oscillator tweaks

Postby forum » Mon Mar 27, 2017 7:11 pm

got the LFSWO--an LFO ("low frequency oscillator") based on the SWO (stored waveform oscillator) working. The main point is that, exactly like the SWO, you can pick the strength and (as of yesterday) phases of each harmonic. You may not think of an LFO as having harmonics, but a sawtooth, sine or triangle LFO has harmonics just as an audio-frequency wave does.

Another way to put it is: you can make an arbitrary number of sine wave LFO's at once with this new LFSWO. My test patch has 5 harmonics of speeds ranging from .4 Hz to 1.3 Hz going simultaneously, to give random fluctuations up and down that don't repeat very often. You could do the same with multiple simple LFOs but it'd take more CPU and be harder to edit.

Here's a partial example. A filter takes a white noise module's output, and moves the cutoff around based on the LFSWO between 200 and 5000 Hz. The filter goes up, down, down some more, up quickly, etc.

[Noise]

[LFSWO]
HarmFormula = InList( Harmonic, 4, 5, 7, 11, 13 )
PhaseFormula= Random()
Frequency = .1

[Filter]
Input = Noise
Cutoff = LFSWO[200, 5000]
Resonance = 10

forum
Site Admin
Posts: 74
Joined: Fri Jun 17, 2016 3:39 am
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Re: Alpha-09 proj 12 of 56: Stored-Waveform Oscillator tweaks

Postby forum » Mon Mar 27, 2017 7:11 pm

Lots of synths have a "draw your own waveform" feature. Personally I think that's fun but too random for oscillators: we don't hear a wave's shape, we hear its harmonics. But for LFOs, we don't hear the harmonics, but instead the shape. So I need a draw-your-own-shape feature.


[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Return to “Developer's Blog”

Who is online

Users browsing this forum: No registered users and 2 guests