SirSickSik Contributions


#321

I understand
I now have 2 of my polyFMOsc's inside the patch and it's still running perfectly fine. guess I could still add fx and stuff.

recording stuff is almost done! :stuck_out_tongue:

2 minutes later....tadoemtaaaa.. and we're recording polyphonically :stuck_out_tongue:


#322

oh ahum.. seems it still kinda tries to fill all the "voices" with available gates.. thought I fixed that. but now I sometimes do see the same note-values appear, with a gate high at the same time.. so multiple voices are playing the same note (though this does give a very nice tremelo to the sound now as I'm using my polyOsc with a bit of detuning to the seperate voices)

fixed the allocation again, though it came with the cost of some more space.. I can now load 9 of them in a single project..


#323

NEW MODULE

SEQ

"pianoroll"

Pianoroll module

first:
1. set the size of the table. For each sequence (=4 octaves with 16 steps), 48 positions are used.
2. set the filename in the "file" edit box. (I chose 0:/pianoroll.tab)
3. if it starts bitching about "no such file found", create a table under that name first using the table-save module..

use "octave" and "sequence" selectors to select a specific part of the entire sequence.
each sequence is 16 steps and can cover 4 octaves.

EDITING
to edit the part of the sequence:
-to reset the editor to "whole octave, no gates-on", press "reset".

-press "load" if you want to load the already created sequence that was saved in this part (part= octave&sequence_

-press the boxes in the editor to add notes to the sequence. The boxes can have 4 values: 0,1,2,3, which can be used to control extra functions in your synth, select slides, velocity etc.

-to save the edit, select the right sequence and octave and press "save".

-to copy a sequence to another sequence (copies all 4 octaves):
-select the sequence you want to copy FROM using the "sequence" selector.
-select the sequence you want to copy TO using the "CopyTo" selector.
-press "copy".
you can use this to make repeating 16-step patterns, which can later be edited for variation.

-to clear ALL sequences (emtpy array), press the "CLEARSEQ" button.

-to save the entire array to your SD-card for future recall, press "SAVE2FILE".

RECORDING MODE
for this, a subpatch of mine is needed: "8voice2rec". This translates polyphonic note-input to 8 seperate note&gate channels (gate has 4 values 0,1,2,3).
-connect the corresponding outputs and inputs (gates to gates, notes to notes, duh..)
-set polyphony on "8voice2rec" to 8 and set it to the incoming midi channel, device and port.

when you want to record, press the "rec" toggle-button above the sequence-editor and start playing while the count is running.
Note that more then 8 voices can be recorded into the sequencer! Depending on the follow-up of notes, this can create some nice variations when the sequencer repeats, due to the voice-allocation-algorithm.

Outputs the 8 voices through 16 outputs: 1 gate (values 0,1,2,3) and 1 note for each channel.
This can be connected to seperate oscillator/voices, 2 of my polyOsc's or connected to cv2midi converters to control a polyphonic synthesizer with internal midi.


#324

NEW SUBPATCH

MIDISUB

"8voice2rec"

This subpatch is needed to record your incoming midi to the pianoroll.
Set polyphony to 8 and select midichannel&device&port and connect the corresponding ins and outs to the pianoroll.


#325

here a pre-view of the pianoroll module in combination with my polyOscs and some of my other modules.


#326

NEW MODULE

FILTER

"mostFilter"
a filter that I thought about last week. Because of the extra stage, it works more like an object following a gravity point through the air then a normal filter. This design also allowed to add an additional parameter to the filter, which I called "mod", though if anyone has a fancy, better name...


#327

the accompanying 8-voice synth for the pianoroll is coming up nicely here :stuck_out_tongue:
it asks quite some cpu altogether, but should be able to save up quite some memory at the same time , leaving the other half of the memory/cpu for fx
@ the moment it only features only sine and triangle waveshapes, but I'm focussing on bringing in the wavetable to be able to give each voice it's own timbre


#328

He @SirSickSik I want to use your pitchshifter for creating an octaver but I am having a hard time doing so even with the HQ version. It always sounds slightly out of tune

Do you have an example for an octave up octave down setting that works well?


#329

are you sending the "ratio" input a float value of 8? (eg using a knob at value 8)


#330

you mean "ratioshift"? I'll try that out!


#331

That worked quite well. Although it's a compromise with setting the lenght parameter.

Shorter settings will make it sound out of tune longer settings will introduce an delay. But I found something that I can live with, thanks!

P.S. definately wanna try making an autotune or a harmonizer with the pitch to midi thing :slight_smile:


#332

well, you need a buffer of audio to be able to pitchshift, which will inevitably introduce delay, so I'm afraid you're stuck with the delaytime.. btw, if I remember there's also a selector on the module. If you set this to 8, the length-knob should be able to go all the way down to zero. This is the smallest buffer that is possible for the pitchshifter to work correctly.


#333

when I tried making a polyphonic wavetable synth I ran into the problem of running out of memory because arrays were needlessly copied for each voice, so I made a dedicated 8-voice synth for the 8-voice pianobar and stuffed it up till I hit max cpu-load for the overall patch.

so, what's in there?
-16 oscillators. 2 for each voice and 3 different oscillator types to choose from: sine, tri, wavetable. Can still be extended as only one of the types is used for each voice at the time. Every time a new gate goes high, it checks the offset-value from the wave-input, adds it to the gate-velocity (0,1,2,3) and holds it to select an oscillator type for the new voice, So each voice can alternate between different oscillators types with each new gate.
Table oscillator uses a table of the size of 2^31, which I recorded with a 32-sine morphing spectral-oscillator I made especially for making new tables. Table-play-position and size can be set for both oscillators in a voice.

  • 1-sample delay frequency modulation BETWEEN voices :stuck_out_tongue:

-8 filters using my "mostfilter" design (see one of my former posts)

-24! logarithmic ADSR envelopes (16 for the volume of the oscillators and 8 for the filter


#334

the 8-voice pianoroll and synth module:


#335

recognizable for anyone? XD
maybe an idea to be able to delete files/folders in this window.. haha


#336

NEW MODULES

OSC

"QO_core"
"QO_main"
"QO_control"

a quad-core oscillator with simple selectable sine,tri,saw and pulse waveforms, PW (all waveforms) for the seperate oscillators.
To save us a VERY long module, the control is done by seperate control modules (main and control), using a reference object on the core and control modules to share parameters between modules without the need of patchlines.

QO_main sets the base frequency, overall FM width (knob+inlet) and overall volume (knob*inlet)
QO_control modules set the parameters of each oscillator seperately:
-pitch in fine, semitone, octave and harmonic
-oscillator fm width from each other oscillator in the core
-waveform
-base pulsewidth
-PWM LFO rate
-PWM LFO width
-high frequency dampening
-oscillator volume

Don't forget to add a volume control to the volume-inputs on the main and control modules (just copy-paste the control module until you have 4 of it), otherwise you won't hear anything.. (envelope, velocity, slider, etc)


#337

NEW MODULE

FX

"multistageChorus"

this chorus can go up to 16 stages (based on a for-loop, 16 taps ask about 25%)
-each stage has it's own modulating LFO
-each LFO shares the base frequency and is added a drift-offset control based on the number of the tap.
-there's a shared FM lfo with rate and FM-width control
-there's a main starting-phase control as well as a phase-spreading control between the seperate lfo's
-phase can be reset from the module or externally by a trigger.
-depth controls the delay modulation width of the chorus
-spread sets the different taps apart in the residual of the delay-time (with the depth subtracted from the total time)
-feed controls the feedback width
-smooth smooths out the generated LFO into audio rate.

oh, screw it, I just enlarge it to 32 taps max XD

update:
-corrected 2 bugs

-added a stereo-out chorus
panning is done by the internal lfo's, though, using the "other" and "skip" controls, you can select different lfo's for panning as you used for modulating the delay-time.
max stackable is 25 (use it with a single oscillator and you have a bit left for krate control modules haha)

ps.
-the reset-input is awesome!
-you can use a long delay-time, set depth to very small and use the spread knob to create a flanging multitap delay
-use it without feedback as a phaser


#338

NEW MODULE

OSC

"pulsine"

an oscillator with morphing capabilities between saw, sine and pulse by controlling the level of the phase-input and sine-shaper output and saturating the results.
includes an audiorate pitch-output to combine the module with the mostfilter (got an audiorate frequency-pin added)

"pulsine2"
added external controls


#339

Hey @SirSickSik

I am wondering if this is the correct way to set up the euclidian sequencer that you made?

Thanks


#340

yes, that's the right way
ps. it outputs single-sample pulses on k-rate, so to get a "gate" you need to add a timer/pulse module