SirSickSik Contributions


#181

NEW MODULE:

OSC
"morphor"

based on the sculptor, but without the editing parameters.

Also, instead of a "lowpass morphed" change between presets, this uses an internal LFO to update the two tables to the currently selected preset-value and to morph between them using a sine-shape (thus always smooth)

You can "override" the load by sending a gate high to the load input (will update one of the tables and the other one at the next trigger, over and over..etc) This is useful, since the tables are updated by the LFO and it might take a while before the first trigger is send to update the table from a preset.

An extra phase-output (also in the sculptor) is added that you can use for adding shaped signals to the wavetable sound (eg use one of my phase-shaper modules).

NOTE!!!
Don't forget to add the table allocation module and set the name to a table that you have recorded to!
If you haven't made a wavetable yet, by using the sculptor, you won't hear a thing!!!!!!!!


#182

Formants!

NEW MODULES:

FILTER:
"formant filter"
"formantController"

SHAPE:
"formantshaper"

3 different modules that can be combined to create formants from an external oscillator. (morphor and Sculptor are perfect for this!)

Controller outputs 5 different settings for frequency, BW and gain (can't use these on the normal filters, only on the formant filter, sorry!)

Formant filter has 5 bandpass filters and 2 BP filter modes to be selected.
An extra resonance knob allows to dial in more resonance then set from the table from the formantcontroller.

Formant shaper allows to "hard" shape your oscillator sound.
It uses zero-crossing to sync the 5 internal oscillators to the phase input and uses the "throat" input to amplitude-modulate (AM) the created sines.


#183

EVERYTHING I UPLOADED TODAY AND YESTERDAY IS SÉRIOUSLY RECOMMENDED.
With these modules you can create one very powerful synthesizer! It actually blew my own mind when I looked at the cpu performance while listening to what was coming out of it!


#184

wavetable oscillators demo:

https://www.facebook.com/SirSickSik/videos/10157098839345626/


#185

still dont check how to morph between presets, and wich presets...i would really appreciate if you could upload a patch...


#186

A little help file for the resonator filter.....
resonatorsss.axp (9.6 KB)


#187

DEMO sculptor-morphor-4xRngCount.axp (17.6 KB)

this demo can be used to understand the "sculptor" and "morphor" oscillators. Also shows the 4xRngCount2 pattern modules and key-scaler.

SO PLEASE READ THIS:

  1. first use the sculptor to make a wavetable for yourself!
  2. BEFORE stopping the patch, PRESS SAVE on the table save/button
  3. only THEN you can use the morphor to morph through the presets. For quick load, use the "load" button (press twice to fill both preset-arrays. Or set "morph" to a higher rate, so it S&H's the preset input faster.

4: don't forget to add the "0:/" in front of the table name when you save it to SDcard, otherwise the wavetable is only usable within that same patch and not in any other patch!!!

oh... and lastly...
as you can save your presets to a table, feel free to share the table!! :stuck_out_tongue:
if we got enough tables, I'll make a table combiner, so we can combine all our waveforms into a single, massive 2048-sample table!


#188

Thanks @philoop for your small demo patch, just wanted to say that your phi/clock/Tbclock7 object is corrupt because it uses a xor4 object that is inexistant in the library (easily replaceable by 3 xor2 objects).

and Thanks @SirSickSik for these new objects and the demo patch. The morphing OSC are very fun / interesting indeed


#189

I had a couple of requests about adding inputs to the randomisation and other waveform customisations on the sculptor.
Although it sounds like a great idea, I'm afraid this will make very unstable synthesizers. Although it doesn't show up on the cpu readout, in reality the cpu shoots up to about 70% for a really short time. If you'ld do that in a complete synthesizer, it will probably crash or otherwise just glitch.

of course, you can always ignore my warning and control it through a mod-source... though, I don't advice that :wink:


#190

ps, that sequencer I made a while ago, forget it :smiling_imp: moehahahaha
coming up:
-4 -channel sequencer with 4-values toggle switches.
-1024 presets to be loaded/saved to # number of banks
-presets automatable
-presets are updated to sequencer control when loaded from table
- independent random-chance-setting for each of the first three positions on the "4-value" switches.
-count bit-reversal (6 bits to be inverted by external, automated control)
-count reverse (from current position)

to do:
-morph/mix between different presets and save to new.
-lots of other funky shit


#191

when using this module.... please, oh please... first read this very well..

NEW MODULE:

SEQ:
"shufflingGateSequencer":

"constant from 16 flags".....hmmmm... that one evolved quickly...

FIRST ADD A TABLE ALLOCATION MODULE AND "TABLE SAVE" MODULE FROM THE FACTORY TABLE FOLDER!!!!!!!!!! and make a structure to save the table into a .tab file! BEFORE EDITTING!!!
(otherwise you'll lose everything as you can't save it as it's needed to stop the patcher to add the modules and restart the patcher... NOOOOOOOOooooooooo!..... sight)

4 channel 64-step(max) gate sequencer with 1024 presets per-bank. (positions and values are saved together as a single decimal number, so 1024 numbers equals 1024 sequences per bank!)
Each step has 4 positions (white=chance0, light gray=chance1, dark gray=chance2 and black). A black step always generates a high gate, the others can be given a random-chance value of that step generating a gate. (chance of colors set by the chance0, chance1 and chance2 controls)

There's no internal storage memory, so the module loads banks from- and saves to table allocation module (size at least 4* 1024*(number of banks) ).
Because of this, there are no presets available when you use this module for the first time.

-Then first edit the bars of the sequencer to have a rhythm.
-check whether you're saving to the right bar ("bar" selector)
-check whether you've saving to the right preset ("seqwrite" selector, for first timers, start with preset/slot 0).
-set the preset load position ("seqread" selector) to the same number (for first timers, this will be preset/slot 0)
-press "save"
-your sequence has now been saved to the internal memory at the preset/slot and in the bar that you've selected.

-now select another BAR.
-now EITHER:
-press "save", which will save the same sequence of the former bar to the next bar. Do this 2 times more and you've filled your 64 step sequence.
-OOOORRRRRR
-in case the internal memory is empty at that spot, press load, and it will reset all the bars to zero. (This will be your "first-time" case, it will reset as there's no preset to
load).
-in case the internal memory is NOT empty in the newly selected bar, but contains another sequence (previously loaded from a table or eddited before), it will load that sequence into
the sequence editor.

-after editting all the BARS and saving them TO THE SAME(!!) "seqwrite" number, you can select a new "seqwrite".
-to start a fresh sequence (empty editor) and the internal memory is empty in the selected "seqread", press "load" to quick-reset sequence.
-if you already have a sequence in that position, and want to load that one, select the same number for "seqread" and press load for all the bars.
-if you already have a sequence in that position (seqwrite) but want to over-write it with another sequence (seqread) (eg, your former sequence):
-This can be done quite quickly:
-select sequence you want to copy FROM in "seqread" and the sequence to write to in "seqwrite".
-then select bar1, press "load", press "save", select next bar, press "load", press "save', etc. for the two other
bars
(takes you 4 seconds most with a mouse..?)
-then edit the copied bars one by one (select a bar, press load->loads into editor->edit sequence->press save> REPEAT WITH NEXT BAR)

It's pretty important to understand how this bar/preset-system and read/write-functions (load/save) work, as you might very well be over-writing or loading the wrong sequence.. destroying precious old or freshly found sequences!

TO FINISH THIS OFF!!!
Hope you read and added a "save table" module by now, as when you press "stop" after editing to add the "save" module, you just lost everything except your last loaded sequence in the editor!!

-if you made some sequence-presets you can save these to the table allocator by first selecting a "bank" and then pressing "Psave". Each bank will have 1024 positions for sequences.
-now press "save" for the "table save" module, to save the table into a file on your SDRAM card. (oh shit, you didn't have one... all for nothing.. go get it!! :wink: )
-your table is now saved onto your SDRAM card.

-TO RE-LOAD old files, add a "table load" module from the factory table folder and give it the same table-name to load the table to as the "save table" module.
-then press "Pload" on the sequencer module (this module that would be..). The table is now loaded into the sequencer and ready to be used (if you're triggering the sequencer already, it should be sending out gates already->it's the internal memory that's used to play the sequences.

NOW THE FUN PART STARTS!
All those boolean-inputs at the side??

-First one is of course for triggering the internal counter.
-Counting modifications to bitswap/shift/logic, bit-invert and reverse (from current play position) the counter output with external sequences/controls. (internal counter itself is untouched, so it always goes back to where it should have been if the modification wouldn't happen.)

well.. guess that's the "only couple of things you need to know"..... ghehe

oh no, one last thing... a picture..
and it has a preset-control input for selecting sequences from that 1024-big preset list for each bank :wink:


click picture for full size
more functions will be added later on (like recording)


#192

I have to say, this is a perfect example of why making a simple help patch would save you having to write all this stuff down...

a|x


#193

as I've said, more functions will be added later on (busy on it)
when I'm finished, I'll just upload the patch that I used to make it with.. with some explanation

and ps... just work from top to bottom.. the sequence of parameters might explain a bit more if understood this way.

when editing, you start on top, work to bottom.
when loading, you start from bottom.

if you need to know how to make that table safe/load, try out that demo I've uploaded couple of posts ago..
you shouldn't need much more then that, plus (to connect to the module)
1. an LFO (trigger) (you gotta need a clock source)
2. external preset-select (integer control, hey, you gotta be able to select a preset to play, right?)
3. four drums as destinations for the gate outputs.

all the other inputs and outputs are "extra's", not needed for the module to work in the standard way. They're just there to be able to connect external sequencers (count out) and modify the internal counter (bool inputs and int inputs)


#194

I'm having a great time programming the new gate sequencer, works like a charm once you've got your head around it. Quite simple really.
I would love to request a Pload inlet, on an automatic Pload on startup, to use it without a computer (unless I've missed something)

Oh, and extra hint for people playing around with it : Keep Chance0 on minimum (-64) while programming beats. I took me some time to understand where all the random beats where coming from.

Anyway, great work, as usual


#195

I've been ahead of your request :wink:
already added those functions to make a standalone drum, bass and melody synthesizer together with some of my delay effects :stuck_out_tongue:
one single axoloti, creating a full song!
a little demo for comprehension:

about your hint, that's a good one! totally forgot to say that the white kinda counts as "off" but that you can still add random triggers to that "off" position.

already also added live recording options for the 4 values (white can be seen as deleting gates when it's random chance is set to 0), where you can select to which of the 4 channels you want to record to.

COMING UP:
128 step, "8-output" automation recorder with automatable presets and a screen to see how the recording looks like (gonna put that in the spectral oscillator too and maybe also in the sculptor and morphor :P)

note that it uses the count input to determine the play/recording position. The outputs are not interpolated (maybe a selectable option?)
This counting position is shown in the display by a dip in the line, moving across the x-axis.


#196

Hi again. I think i have found a mistake in your 36 db filter. It seems like the res only has a resolution of 3 steps?
Try this:

Crank up the res to max. Turn the cutoff to about 40 or so.

Back down the res and you will hear about 3 steps as it goes from full res to no res.

Other than that this filter sounds awesome!!!! Any chance of a fix, and maybe a switch to cycle between 12/24/36 filter functions?

(insert hungry dog eyes)
-pretty please?


#197

I think the filter I just wrote is your solution :wink:

NEW MODULE

FILTER
"multiladder"

-"nth" order lowpass and bandpass filter (max filters=32)
-freq sets cutoff center frequency
-spread spreads the cutoff frequencies between cascaded filters (for HP inversed), so can be seen as slope-control.
-BW spreads the highpass and lowpass filters apart
-res sets the resonance level

-LPcasc sets the TOTAL amount of filters
-HP sets after how many lowpass filters, highpass filters are used. If higher then LPcasc, all filters are lowpass.
-feed sets which filter output is used for the -resonance.

Resonance path is saveguarded by the same code that's used for the "fatbasters" distortion module.
-gain boosts the resonance in the feedback loop->adds upper harmonics to the resonati"ng signal.
-max sets the max level of the resonance (so it cannot go out of control)


#198

Yeah!!!!!!!!!!!! Thank you almighty coder!


#199

NEW MODULE (well a variation that is)

DELAY
"rndTapDelaySt_m"
same as the other stereo tap delay, but with modulation inputs for max and minimum settings and internal summing path for audio+delays.

connect the delay_write module to the delayRec output and normal audio in to the "in" input on the rndTapDelaySt_m.


#200

NEW/UPDATED MODULES:
they're coming close to what I need, but already usable:

SEQ:
"ShufflingSequencer"
and
"ShuffledAutomator"

Shuffling sequencer has a couple of updates:
-adding an external "allload" input to automatically start loading the presets when turning on the device.
-some other extra inputs for automating stuff :wink:
-a live-recorder with which you can record to any of the 4 channels and add white, light/dark grey or black steps.
-extra outputs to connect it to the shuffled automator

"ShuffledAutomator" adds automation functionality to the shuffling sequencer.
-the shuffled count of the shuffling sequencer is used to read out the automation.
-32bit tables are used, though storage of automation is 8bit.
-the normcount input controls the position-indicator and recording position.
-8 tables can be recorded for each preset and are outputted at their respective outputs.
-multiple modules could be loaded to read from the same preset-table, all sharing the same set of presets (up to whatever amount of presets, depending on the size you set at the table allocation module )
-also have an all-load input to automatically load presets on device startup.