SirSickSik Contributions


#301

NEW MODULE

LFO

"envLFO"
looping LFO with attack/decay length ratio and total length of envelope per cycle.
syncs automatically to another clock/gate signal using the sync-input.
features multiply, divide and octave-offset controls to set desired ratio to host tempo.
at reset-high, will force the lfo to restart from zero.


#302

NEW MODULE

MATH

"scaleInOut"
scales the incoming signal to the min/max values set on the module. Clips if incoming signal goes beyond limits set by the inMin and inMax parameters and scales it to the range set by the outMin and outMax parameters.


#303

NEW MODULE

MATH

"8xScaling"
scaling module for 8 signals.
uses selector-type (integer) controls to set min/max range to limit the size of the module.
input should be a bipolar -64 to +64 signal (as is outputted by the sendMatrix/receiveMatrix modules)


#304

NEW MODULE

FX

"stChorus"
interpolated chorus module with internal LFO.
can of course also be used on large delays


#305

Hello!
Can you exlpain me how it works? I can't see how to select waveform and pitch.


#306

The "pitch" is controlled by the sync input and multiplying/dividing/octaving the internal LFO so it always stays in ratio to the incoming clock signal (connect a square LFO to it).

there is no waveform selection for the "envLFO", the "waveform" is is an envelope, being drawn from the phase-position of the internal LFO.

So set length to max and connect a square LFO to the sync input and you should be ready to go..


#307

NEW MODULE

FILTER

"filterMix"
-3 seperate inputs for lowpass, bandpass and highpass filter.
-2 cutoff controls for upper and lower crossover cutoff
-3 feedback routes for the 3 types of filter with bipolar attenuation
-morph input/knob to smoothly fade the 3 inputs between the 3 filters
-3 outputs for showing the morph levels (going high smoothly one by one and smoothly wraps at max=64).

*for mixing 3 different oscillators/sound sources and splitting each of them to their own frequency band
*also useful if different sources are phase-canceling each other out at certain frequencies
*you can also use just 1 or 2 inputs. eg for 12dB LP mode, you'll then have a 12db LP filter with cutof spreading.


#308

anyone up for some control-rate heavenly-object movements?

NEW MODULE

LFO

"planetLFO"

LFO that mimics the interaction of 2 "loose" planets and a "fixed/controlled" planet.
centerx and centery parameters/inputs control the x/y position of the "fixed/controlled" planet.
centermw controls the modulation width of the external xy modulation of the center.
x1,y1 and rate1 are the starting positions of the 1st "loose" planet.
x2,y2 and rate2 are the starting positions of the 2nd "loose" planet.
mass controls the "strength" of the planet in comparison to the "loose" planets
for the "loose planets:
the heavier the planet, the slower it will respond to a smaller planet.
the smaller the planet, the faster it will respond to a heavier planet.

outputs the x and y positions of both "loose" planets

(you can use the low-quality xy-scope in my disp-folder to show the movements. Don't forget to add a bipolar2unipolar converter between them.)


#309

NEW MODULE

DELAY

"repeater"

audio repeater module. Can be used in-line in your audio-chain and doesn't need an external delay write module. When input "on" is low, audio input is just send thru to the output while recording to the buffer. If "on" is high, recording stops and it only reads out the buffer repeatingly.

when input "on" goes high, starts repeating the last audio that came in.
repeating size is set by the "size" inlet.
NOTE! size is set in samples! Use my clock2timing module to get the sample length to fit host tempo and connect the size input through a "ratioVCAI" module (math folder) to the "ksamples" output on the "clock2timing" module. The "ratioVCAI" can then be used to set any desirable ratio to the host tempo

the repeat input sets the amount of times the buffer is repeated as long as the "on" input is high. After that, a new sample is taken which itself will be repeated the set amount of times before another sample is taken again.

Bit of a drawback of the way the module is coded, is that there is no pitch-control possible. The idea was to make a granulizer, though I'll need to make another module for that I guess..


#310

NEW MODULE

FX

"grainer"

granulizer effect.
continuously buffers audio and plays it back both forward and backwards at the same time

"freeze" stops the recording to the buffer, causing to repeat the sample over and over.
"size" sets the grain size
"rate" sets the grain rate
"reverse" reverses play direction (gated: high is reverse)
when "jump" goes high, the "change" value will be added to the play offset, smoothed out by the "speed" parameter (higher value is faster response)
"wet" and "dry" control the mix of original and grained audio.

delaylength output is used to connect to my "clock2timing" module. This way the "size" of the delay can be synced to host tempo. Use ratiomaxVCA to set ratio to host tempo.


#311

NEW MODULES

I made the following modules to make a gate-triggered and aftertouch-controlled multi-fx to record with the beatstep pro. You could of course also use pressure sensitive pads and record those..

TABLE

"tabRecorder"
single automation recorder with inbuild table.

records value input (to be used with "singleTouch" module to record aftertouch)
The recorded automation won't be reset to 0 when axoloti is restarted.

set the desired maximum table size with the "size" selector attribute.

For the "size" input:
Use a "ratioVCAI" module to set a desired ratio to host tempo, using the "clock2timing" module to provide the amount of samples (ksamples output).

A gate high at the "delete" input, WHILE rec is high, will set the currently recorded value to 0.

A gate high at the "delALL" input, WHILE rec is high, will set all position in the table to 0.

A gate high at the "reset" input will reset the internal readout position to 0.

outputs:
"gate" goes high when recorded readout value is above zero.
"mix" outputs a smoothed gate high to use with crossfaders
"out" outputs the recorded readout value

MIDI

"singleTouch"

Monophonic MIDI keyboard note input. Only responding to a single note, with polyphonic aftertouch and gate output

MODULE UPDATES:
"rndTapDelayStereoOut" : external "max delay" control added
"stChorus": external dry/wet control added


#312

NEW MODULE

ENV

"gravity"
"bouncing ball in a room" generator with several parameters like gravity, friction (air) and dampening (ground) and a gate-input to trigger a "throw" from a certain height


#313

haha lol, I had this korg nanoPAD laying around somewhere, of which the xy-pad stopped working at some point. Just connected it to the axoloti to see whether the pads were still working.. guess what? the xy-pad works again after 7 years hahahaha
hmm, though the pads went shitty.. :rage:


#314

NEW MODULE

DISP

"xyScope"

based on the normal "kscope" module, only shows the position of the x and y values by a spike/dip at the x-position with input y as the height of the spike/dip. whether it's actually useful... I dunno.. it's just possible to code this thing like this and I can see the x/y movements of my korg nanoPAD back on the screen.. haha


#315

took me a whole day, but the piano-roll is actually coming up!
Though still some things to fine-polish.

-8-voice polyphonic over 4 octaves
-using 4-level buttons for "gate on", which could for example be used to select glide-mode, velocity or timbre.
-16-steps per sequence.
-as the sequences are saved as 32-bit values, the 4 octaves combined only ask 48 array-positions per sequence. As the table can go up to 2^31.. you can program a reeeeeaaaaalllly long sequence..
-automatic loading of sequences, even after shut-down of axoloti


#316

I'm just plain curious on how you implemented it.
As far as memory usage how does it behave? I had some trouble with big objects (mainly because they tend to suck away all the program memory available)


#317

the 16-step sequence for each note is saved as a signle 32-bit value to a table (allocated in sdram), so a 16-step sequence for all 48 notes only costs 48 steps of the sequence.
To edit the sequence, you use the "editor" (12x int2x16). Load button allows to view a particular octave and sequence and the save button saves the current edit of the sequence to corresponding the array positions.
You cannot really "drag" up and down or left and right through the sequence, but at least it works :slight_smile:

to play the sequence, I created an extra code based on a for-loop and round-robbin for assigning new gates/notes to the outputs. The kind of readout of the array is just the same as the original 4-value gate sequencer.

Yesterday night I finally fixed a problem with the voice-assigning and shutting down gates, which took me quite a while I must say. Then this morning I created a way to automatically load the saved patch-file at startup.

all in all, it doesn't really take a lot of cpu as far as I can see now.. though depending on the table-size, you have more or less table-room for other things..

next thing on the list: polyhonic recording! :stuck_out_tongue:


#318

Not talking about dsp usage or sram / sdram usage (that's the least of problems)
I'm talking about program memory (ccsram if i recall correctly), that tends to overflow with very big patches.. or monster-grade objects.

Try to put several instances of the piano roll in a patch, see how many it takes to get overflow errors.


#319

ah ok
I could put 11 in it
at 12 it has 136 bits overflow
is this good/bad?


#320

Not so bad actually, but consider that the object won't be used alone but in conjunction with other stuff. Therefore other stuff should fit inside the patch without overflowing