Rbrt Contributions


#94

Hi robert,

here is a newer version with embedded subpatches and 4 loop slots. It is a bit big since I want to wait with organising it into subpatches untill everything works, since all the parts are interconnected.

I did a test with the odub help patch, I did have no clicks. But in my patch it clicks a lot.

This is a test patch for loop_slave. The rec status almost instantly freezes.
loop multi 5.5.axh (93.6 KB)
loop_slave test.axp (2.2 KB)

P.S. I tried with an internal test signal too, so the clicks dont come from external input.


#95

are your trigger inputs properly debounced? just a shot in the dark really.


#96

what do you mean by that?

P.S. just tested the _dub object bit more, works reliably no clicks or latencies. BUT I can't use this one because it lacks overdub feedback.
So my way to go is loop_slave wich causes me some trouble. Maybe because it's not intended to be used this way.


#97

i did not look at your patch, but are you using external buttons to trigger the looper (connected to the axoloti) if they are not debounced (either in soft or hardware) you could get multiple triggers on pressing a button down...


#98

ah ok. I tested with only internal components and still have the same problems.


#99

loop_mangle

something like 'play pitch loop' to mangle audio in tables.
check out the objects help file.


Play pitch loop object question
Module requests
#100

Hey, I'm loving your loopstation! If I could make one request, I would ask that you could make it possible to sync to a clock. It would be nice to be able have the record start and stop points, as well as the loop phasor reset always line up with the clock, so that it could sync with external devices - midi daw, other sequencers, etc. I've been trying to see if I could tweek your patch to make it work, but so far haven't been successful.
Thanks!
Karl


#101

Hi Karl,
I'm quite busy right now,but I'll try to figure it out soon..
I think it's going to work,but I see some problems regarding jitter of the external clock...this is likely to introduce clicks in the loops..


#102

Thank you! No rush, just maybe on your next pass.
As far as jittering, maybe you could put in a ... (I forget what its called!) A thing that won't let it update if it has already updated in the last n milliseconds or something.
Thanks for all your good work!
Karl


#103

If you want to try something yourself the first thing would be to interfere with the quantization phasor in Rbrts patch. If you sync that one to clock the lenght of your recordings will relate to midi clock. You could maybe replace it with a counter, since only the moment when the phasor is at 0 is important, right @rbrt?

But still if your clock drifts or you change the tempo, the timing will get fucked up.

The next step could be to multiply the frequency inlet of the playback phasors with the ratio of the current tempo in relation to the tempo during recording of the loop. That way your loops will pitch down (and slow down) or up when you change the tempo. That ratio part is not so easy in axoloti, since you have to divide the current tempo through tempo during recording and dividing float values in axoloti is not that easy.

Last part could be a mechanism that retriggers the loops. You could have them either automatically retriggering after each cycle, or make it optional like on the Kaosspad. I think the kaosspad only quantizes recording length, at a certain moment loops start to drift. Then you can press resync to put them back in phase.

I made several efforts in all of these directions, unfortunately it is somewhat spread among several patches, but I can try to get it together for you.


#104

Thanks, that gives me some more ideas to work with. I'm really digging rbrt's loop toolkit! The ultimate looper is within reach!


#105

some thing else before I return to them BLOCKS

tinit

...sets or inits the indexes of a table to the values defined by the sliders/dials on rising edge of 'trig'.
useful for example to initialize parameter banks when using 'tablestore'


#106

here's LOOPER BLOCKS V2

these are driven by sample-increment rather then frequency;
before,changing the loop's range was also changing it's pitch which was really annoying....
performance-wise they are about the same as the 'old' objects.

I added a 'play' - input and a 'speed' - parameter to simplifiy patching
(although the objects are quite big now)
it's also possible to create 'release-loops' now with 'ldrive multi' and 'lmangle',
and 'lmangle' can do palindromic (switching from ffwd to rev at loopends) playback as of now.

there's a '1-shot' - object playing back an area of a table once and then stopping.

there are already 2 help-patches,more to come...
aaah and 'ldub' now has a 'feedback' - parameter!!

I do think these make more sense than the 'old' blocks,but in order not to break patches,
I will keep them.thus,the new folder 'loopv2'.


#108

Yes yes yes yes you are my hero :slight_smile: :slight_smile: :slight_smile:
the rest looks really good too :wink:


#109

step seq BLOCKS

here are some modules for building step-seq's.
my main focus was to simplify visual feedback for controllers that feature bi-directional MIDI,
like the LIVID BASE or the NOVATION LAUNCHPAD.the help-patch should work with the
factory-mapping of the BASE.
I had a hard time recently to acieve this with 'regular patching',so I did an object for this,'seq midi feedback'
would be good to know if it works with the launchpad...

besides,there are some other custom objects that I feel make sense for step-sequencing.
-step toggle : will toggle an element at an index (or step).if the step == 0,it will be set to a defined value,if its non-zero,it will be set to 0.
-step set : will set a step to a value.optional,the step will ONLY be set to the value if it's already non-zero (useful to change velocities without creating new steps)
-read step : reads at an index and outputs the value.
outlet 'trig' puts out a pulse if the value is non-zero,outlet 'vhold' will hold the current value until the next pulse.


Noob question, Launch control step seq with LED feedback
#110

...about these,I have to do some self-congratulation:

-disp bool : displays the boolean state of 16 elements of a table,starting at 'offset'
-disp float : displays the value of 16 elements of a table,starting at 'offset'.
(self-congratulation!!)
unfortunaltely,unipolar only since there's no bipolar slider-display.
-tset bool : sets 16 elements to either 0 or max
-test float : sets 16 elements to value.here,bidirectional.

-tclear : sets n elements inside a table to a value,probably most useful to clear the contents of a table.
'tclear' works at audio-rate.I did some testing on this,anway,there may be problems with very long tables.
(again,self-congratulation!)


Improvements/Wishes for the patcher
#111

Hello @rbrt

a question ... it's possible to use the loop_mangle to loop a part of a table without first record the table? I have an alloc/table object with an array containing 60 values. I have set the object to a size of 64 but I want to play in loop only the first 60 samples. How can I do that?


#112

hi there,
..shouldn't be a problem..
I'd recommend using 'loopv2/lmangle' first of all because it's simply BETTER...

basically,you can use 'offset' and 'range' to select the playback-area of
'lmangle',realative to the corresponding table's size.
if you attach a unipolar dial (ranging from 0 to +64) , to the 'range' - inlet,
and set it to 64, 'lmangle' will play back the entire table...

so,if your table is 64 samples in size but you only want to play back the first 60
samples,you should most probably set it to '60'...
if you want to 'shift' the playback-area while keeping the length of that area,
attach a dial to the inlet 'offset' for FUN effects...
let me know if this works/makes sense

cheers,rbrt


#113

Thank you @rbrt !

I retried and now it's working fine. I had to attach a phasor to the loopstart. Nice object! :slight_smile:
cheers


#114

patching

here's some stuff that attempts to simplify patching,with a dash of PD / MaxMsp..check the help-patch..

-loadbang: when a patch is going 'live' , loadbang puts out a pulse to get things going.
-automux: connects several inlets into 1 outlet.when the value at an inlet changes,that value is put out.
-k2i: converts 'blue fractional' into 'green integer'
-i2k: the opposite
-bang : the PD / MaxMsp bang-button
-t2p : puts ot a pulse at the 'rising edge' of the input.
-pass i: simply passes input to output.this may help when you want to remove or add parts of a patch without ending up with a lot of broken connections.


Wishlist of objects