Page 1 of 1

Oh No - not another SKEMATIC synth!

Posted: Mon Dec 23, 2019 10:15 am
by k brown
Yes. ;)

This is based on the 'guts' of SkematicGSx, but with the feedback controls replaced by oscs in all six operators that seamlessly morph Sine > Tri > Saw, utilizing the Tri > Saw osc that Spogg Spogged some time ago. Greatly expands the FM 'colors' that are possible. Since this can produce much brighter sounds, Feedback is less necessary.

SkematicSTS copy.jpg
SkematicSTS copy.jpg (232.9 KiB) Viewed 22790 times

https://ln.sync.com/dl/62c9b9f70/bbjdaw ... 8031320004
Called SkematicSTS because of the Sine/Tri/Saw oscillators. When set to anything but Sine, the knobs 'light up' as a reminder. Same presets as . . .GSx, so you'll have to experiment with the alternate waveshapes on your own. 8-) ;)
File size on this is HUGE (133MB; too big to post) - I assume it's because of all the green maths in the eight Tri > Saw wavetable oscillators, but maybe I'm missing something?
With all eight operators set to to anything but sine, the oscillators switch on the Tri/Saw morphs, so the CPU goes up a few percent.

Re: Oh No - not another SKEMATIC synth!

Posted: Tue Dec 24, 2019 9:45 am
by Spogg
I tried the cp.sync.com link but it asked me for username and password.
Do I have to create an account to get the schematic?

Cheers

Spogg

Re: Oh No - not another SKEMATIC synth!

Posted: Tue Dec 24, 2019 10:08 am
by k brown

Re: Oh No - not another SKEMATIC synth!

Posted: Tue Dec 24, 2019 12:13 pm
by Spogg
Got it thanks. :D

Busy at the moment so I'll check it out soonish.

Cheers

Spogg

Re: Oh No - not another SKEMATIC synth!

Posted: Tue Dec 24, 2019 5:33 pm
by Duckett
Hmm... I was curious as to why it would be so large, and exported one of the oscs as an .exe just to get an idea of the size- around 13.5 MB each, so those oscs alone are around 56 MB total.

Sounds good though; thanks for the presets too ;)

Re: Oh No - not another SKEMATIC synth!

Posted: Tue Dec 24, 2019 7:01 pm
by k brown
I had a hunch about that - I wonder of those could be translated to code/Ruby.

Re: Oh No - not another SKEMATIC synth!

Posted: Thu Dec 26, 2019 11:24 am
by Spogg
I really like the extended range of sounds you can get now. Those new oscillators make a big difference. :D

The schematic file size is large because each oscillator is saving the wave arrays and, importantly, the wavetables created. The Wavetable creating prim generates a large amount of tables which are internally chosen based on the incoming requested frequency. Higher frequencies select tables with progressively reduced bandwidth to avoid aliasing. So there are a lot of tables (I don’t know how many) which are saved per oscillator.

An alternative would be to have the arrays external to the plugin and loaded on start-up. The downside of this (which I recently discovered) is the time it takes to generate all those tables would be noticeable.

I don’t think Ruby could help, but I’m no expert.

In my view it’s not a problem to have a large plugin file size if it means the operation after loading is slicker.

Cheers

Spogg

Re: Oh No - not another SKEMATIC synth!

Posted: Thu Dec 26, 2019 6:48 pm
by k brown
Good to know - thanks for taking a look, and the added insight.

Re: Oh No - not another SKEMATIC synth!

Posted: Thu Dec 26, 2019 7:52 pm
by trogluddite
Spogg wrote:So there are a lot of tables (I don’t know how many)

From my notes for a wavetable oscillator I worked on a while ago...

For sample_size that is a power of two, normalised frequency (0.0..1.0), a single-cycle ramp (0.0..1.0) cycling at this frequency, and a mem pointing to the entire wavetable...
- wave_count = sample_size / 2
- wave_index = min(rndint(1.0 / frequency), wave_count - 1)
- mem_index = sample_size * (wave_index + ramp)

The original sample becomes the first wave in the table, for playback at the lowest frequencies, where all original harmonics are present. Each subsequent wave then filters out the single uppermost harmonic, until only the fundamental remains in the final wave. Longer sample = lower root frequency = more potential harmonics; so the number of waves rises in proportion to the length of the original sample. Total samples in the wavetable = (sample_length ^ 2) / 2.

Re: Oh No - not another SKEMATIC synth!

Posted: Fri Dec 27, 2019 2:28 am
by k brown
So, now that I know there's nothing 'wrong' that's making it so large, I've fleshed it out more:

- Tri can now toggle to Dip or Peak.
- Pitch EG added.
- Aftertouch Pitch Bias added.
- DX11-inspired Quick Edit controls. 'Brilliance', which raises levels of all modulators and lengthens Decay time of all EGs. 'Attack', which lengthens Attack and Decay times of all EGs. And 'Release' - guess what that does.
- Detune control that shifts pitches of pairs 1 and 2 in opposite directions.