Gate length/duration note in a table?


#1

Hi!
I try to create a little polyphonic sequencer using table, but unfortunately i can't control the gate length to trig notes longer. Is there a way to do something like this?
Thanks


#2

Havent experimentet with it, but maybe you can use sample and hold object for this?


#3

Thanks ! I'll try this.


#4

it really depends what exactly your trying to achieve... if you want the gate to be multiple of the step size, you can use a table to represent the gate.

another, more flexible way, its to use something like timer/delaypulse (?) to reset a flipflop
i.e. note on, sets the flipflop, primes the delaypulse, then the delaypulse resets it - the flipflops output represents the gate, and then used for envs etc
(of course, for polyphony this needs to be per note/voice)


#5

Thanks for your help. I just want to hold a note that during more than one step long, but it seems that both solutions (jaffasplaffa and thetechnobear) don't work.


#6


#7

It seems to work better this way...


#8

I said on note-on , set the flipflop, not trig it.
also to be honest, from your patch, I cant really see what your trying to achieve, basically, you should be setting the flip flop. and triggering the delay from the same thing, your setting note-on with...
since logically, the delay is what gives you note-off, and the delay time is measured from note-on.
(which you have also not coded the note off logic, you need to send another note message with vel = 0, once you get the delay pulse...)

also in a monophonic case, you also have to be careful of the edge case, which is that you get a new note-on, before the gate has finished... if your not careful, you'll end up with 'stuck notes'

anyway, as I said the first time, its not clear what your exactly trying to achieve... so perhaps your after something different to what I imagine.... and of course, with Axoloti there are many ways to achieve a 'similar' result :wink:


#9

I'm sorry if i'm not clear enough ( i'm french) and i don't understand everything on axoloti. I just want to create a simple step sequencer where you can control some parameters : pitch, velocity and duration for the moment, just like the monosequencer on maxforlive.


#10

Do you want to measure duration in 'steps' or in arbitrary time?


#11

Both would be great, but in steps is enough for my needs.


#12

@M.Chocolat

have you tried with the pulselength?

That would be my next suggestion.


#13

I didn't try it yet, but the solution submitted by thetechnobear work with some synths on the iPad, even if I didn't patch as it should be. Anyway, i wanted to sequence my tempest with the axoloti, but there are some midi glitches that make it unusableā€‹:grinning:, don't know why... I've tried with the technobear polyseq patch (very funā€‹:grinning:, and it would be great if we could control it with a midi controller)and it worked... but thanks for your help.


#14

Nice to hear you are semi-sorted :slight_smile:


#15

I actually designed polyseq as a modular set of objects to enable users to create their own sequencers... so you can feed it with midi if that's what you want... the help patch was a mere example, and the notectrl just a 'handy object', if your using a GUI.

if you want to 'program' it from a midi controller, you just need to use polyseq/write
it looks complex but its not really,
to set a step's value simply:
- set trkId with track you want to set,
- stepIdx is the step,
- valueIdx... the value index you wish to set (more in a moment on this)
- value .. the value of that step

value idx,
a step any number of values (or attributes if you wish) ,
the help file has 5, these represent
gate (value idx=0)
note (idx=1)
velocity(idx=2)
mod1(idx=3)
mod2(idx=4)

important note: you must send a 'trigger' to setStep to set these values.

(these are arbitrary really, the sequencer doesn't care, but objects like polyseq/note and polyseq/notectrl assume these 5 ... but you could use polyseq to just record any arbitrary CV , e.g not related to notes... e.g. to record CC values)

so to record the note value,
trkId=0, stepId=0, valueIdx=0 (gate), value = midi/in/keyb - gate2
trkId=0, stepId=0, valueIdx=1 (note), value = midi/in/keyb - pitch
trkId=0, stepId=0, valueIdx=2 (note), value = midi/in/keyb - velocity

if you want to 'record' into the current position you can use polyseq/track to give you the current 'play head' i.e. to feed into stepid

important note: because you want to set multiple values at the same time (i.e. on receipt of a midi message) , you will need to do this with multiple polyseq/write objects, one for each value you need to set... don't worry these are 'lightweight objects' , having many of them is not an issue.

so all that's left for your patch to do, is to decide when to record, and when to play


#16

Whoua! I'm very thankful you to spend your time explain your objects. I'll try this as soon as I can.