SirSickSik Contributions


#261

NEW MODULES:

PATT

'rndEuclidPatt"
pseudo-random pattern generator
-randomise pattern externally or manually
-"repeat" sets euclidian stepsize where "gates" are generated
-"width" sets the width of these gates, being added to the sequence.
-4 euclidian patterns are combined with the random pattern to generate a looping CV-pattern

"sRndEuclidPatt"
a simplified version of the above, featuring only 1 euclidian pattern and a random pattern.


#262

NEW MODULE

MATH

"8xVCA"
attenuate 8 control signals with a single "amp" knob


#263

NEW MODULE

OSC

"polyWaveform"

4-voice "chord" oscillator with multiple waveforms

connect a positive saw-LFO (non-bandlimited) to the morph input for normal operation
connect an attenuatable LFO to the mofs input to "swing" the morphing
connect note patterns to the note(1-4) inputs, these will be scaled to the selected key internally
"PW" controls an exponential shaping of the phase, generating PW-modulation for all waveform-options
"waveform" controls the selected "base-start" waveform
"wChg" sets different waveforms for each voice, one knob for all possible combinations **use shift+ctrl to get to smaller bits
"detune" offsets the pitch between the 4 voices.
"key" sets the key of the scale. (negative values for minor scales)

"polyScanner"
variation on the above with only a sine-wave with PW-control
adds a XY-scanner to scan through the 4 voices using external LFO's

"polyFMOsc"
variation on the above with only a sine-wave, but with added internal Fm.
This one can make some seriously weird morphing sounds!


#264

NEW MODULE

ENV

"quadEnv"

Quad Attack/decay envelope, linear attack, exponential decay.

"Amin", "Amax", "Dmin" and "Dmax" define the range of the attack and decay values for all 4 envelope generators.
Values are spreaded following a sine-curve of 45 degrees offset for each envelope.
"Amorph" and "Dmorph" set the position within the sine-curve, allowing to morph all attack and decay values simultanuously between minimum and maximum range.

pairs very well with the polyFMOsc (see former post)


#265

MODULE UPDATE!

FILTER

"multiladder"

instead of selecting a total amount of filters and setting a starting point for the HP,
now you just select how many lowpass filters and how many highpass filters will be used.
for the feedback selector:
first come the LP filters, then the HP filters.
eg:
if you have 4 LP and 5 HP filters and want to read out the 4th HP filter as feedback source set the feedback selector to 8.
->4LP filters+4HP filters=8th tap


#266

NEW MODULE

DIST

"sawizer"
a quantizer where the remainder of the signal can be (inversely) amplified

"wrapper"
folds the signal when it passes the "width" value, creating triangle shapes


#267

NEW MODULE

DELAY

"MorphDel"
using an internal LFO, the module crossfades between 2 readout taps.
whenever a tap is out of the mix, it's readout tap gets updated to a new tap, controlled by the time input (use clock2timing and ratiomaxVCA modules to sync to host tempo)

Reverse delay is possible by clicking the buttons. As there are 2 taps, one can go normal, while the other reverses. The reverse version will click though, when passing the delay writer position.

As the LFO is smoothed by a filter, pretty high rates can be used without too much alliasing , though too-high rates will produce clicking as the crossfader signal won't be able to reach the max crossfading values and tap points will be heard switching positions.

Using a mixer to provide feedback and using a (quantized to host tempo) pattern to feed the delay-input, awesome rhythmic behavior can be made without clicks or altering the pitch of the incoming sound.

The reset input smoothly fades back the phase position of the LFO to phase zero in respect to the phase-position at the moment of reseting.


#268

How about a module that when triggered builds subpatches out of a random selection of SSS modules! InstaSynthLottery[tm]!!! :grin:


#269

not sure how that would even be possible.. although, if you mod the modules so that you can switch off/on the whole code, you could load lots of different modules and use a demux+mux+randomised integer to activate and readout a specific module, while the other modules are switched off in the meanwhile

so although I don't think a code can be designed to randomly build subpatches, you might go halfway by making subpatches with multiple oscillators or filters or whatever, of which the code is switched off if not in use.
Then make a randomisable router using demuxes and muxes to join the thing randomly together


#270

NEW MODULES

CTRL

"fineknob"

knob featuring both integer and fractional control
if fractional knob reaches low or high limit, it wraps back automatically to end/start respectively and adds 1 to the integer knob, while the integer knob can still be independently controlled.
for saving to presets, use "drj"'s preset manager (patch-sub-folder)

mostly for using to control very sensitive parameters. Also, not sure whether this could be rightly used with external analogue knob control (I still control the axoloti from my computer myself and it seemed to come in handy in this case....)

"zoomknob"

knob with 2 extra zoom modes for fine control.
0= no zoom
1=2^8 zoom
2=2^16 zoom
don't forget to go out of zoom mode before ending your patch or you'll loose your stored value!


#271

NEW MODULE

OSC

"tableOsc"

table oscillator
Can use the tables created by the "sculptor" module or any other "raw" table data.

Inputs (same as corresponding parameters):
"pitch"->enter your pretty melody data in here :wink:
"freq" input for audio rate fm
"Shift" shifts the start readout point through the table.
"size" sets the readout width by the phase
"mix" controls the sine/table mix

parameters:
"root" sets the harmonic ratio of the sine
"harmonic" sets the harmonic ratio of the table oscillator
"fm" controls fm-width for "freq" input
"p2size" sends pitch data to offset the readout-size
"p2shift" sends pitch data to offset the start position of the readout
"cut" sets the pitch-offset of a 12dB LP-filter in respect to the incoming pitch data to smooth out the table.


#272

The oscillator "families" shown in a single picture

now going to add "active" inputs to them.... again.... as I just did it and accidentelly closed the patcher instead of the code-window before saving... whoopsy... anyways.. first all together askes roughly 95% without being connected and all being "on"... afterwards, after switching off the code... 2%..... XD


#273

IMPORTANT UPDATE!!
I've updated my oscillators to they feature an ACTIVE pin!
So to get the oscillator working, you need to send a bool HIGH to the "active" input. You can do this either using a simple toggle button or use a demux to select between multiple oscillators.

This way, oscillators that are not in use, won't use cpu :smile:

I did this with all the oscillators in the above picture. Seemed this bunch went well over 100%, only going under when I came to the 10th module, adding active inputs. After the job, again... 2% cpu use when all are switched off XD


#274

NEW MODULE

OSC

"trisaw"
a minimalistic oscillator with pulsewidth modulation for saw/tri morphing
optional sine shape
has sync input


#275

Probably easier writing an scripting it up, pulling them from Github, then build a patch from outside the GUI. Would be amusing but not worth anyones time.


#276

F'''in GREAT.... This really is a HUGE gamechanger.

I did look at the explanation you gave on how to build this into other objects. Didnt understand yet. Wil read it again and hopefully get it.

THANK YOU FOR THIS.

PS... Are there any clicking sounds when switcing oscillators on( like when changing a sound in a table)?


#277

Great!
How can I modify other existing oscillators with an active input? Is it hard to do for a noob like me?


#278

Sorry,I will use yours (native...) :slight_smile:


#279

how to add active/unactive option:
it's pretty easy, just embed the module and enter for both the K-rate and A-rate code:

if(inlet_active){
"code"
}

for the k-rate code, if you see a "int32_t" or "float32_t", these need to be added to the "local"-code
to finish it, add a bool pin and call it "active".
if you still don't understand, take a look at one of the modules while taking this text into account..

about sound clicking, I didn't really notice and even if it is the case, it should be easy to make a small ducker that mutes the sound for a couple of milliseconds if necessary


#280

ps. about the tableOsc,
you can also just make a recording with several of your favorite oscillators, morphing them to anywhere and then use this recording to play/morph through selections with the tableOsc.
I'm now experimenting with the polyTableOsc (4-voices in one oscillator) and it works like a charm without any glitching/bleeping.