Using matrices in sequencing

Wetterberg's icon

Hi all, and sorry if I am flogging a dead horse here,

I am well under way in a step sequencing project that stores all note
data inside Jitter matrices. My immediate concern is going from a
frame-based system to a timing-critical one:

Right now I am using simple [getcell $1 $2] commands to retrieve the
data I need, but will doing a call like that 16 times per step be
efficient enough? The sequencer is a 16x16 grid.

Another method that might be considered is shifting and then splitting
the sequencer data with something like
jit.rubix->jit.scissors->jit.spill. Even though this would involve more
jitter objects it would allow me to grab all 16 sequencer "rows" in one
go - but will the timing be there?

Anyway, again, sorry for brain-storming out loud, but I would really
appreciate any feedback here, since building both systems and then
comparing them seems like quite an enormous task.

cheers,
Andreas.

david604's icon

Hi Andreas!

Iam in the same shoes as you, Ive build an 1024(16th) x 128(midi pitch) stepsequencer in max with jitter matrixes. When I am doing anything with any max window, I mean moving around etc especially with the patches window, I get serious timing problems, but using [el.samm~] a sample accurate metronome from Lyon Potpourri gives me a tighter groove.

I read the data with getcell in a combination with uzi and counter and the timing is ok, I mean my midi monitor app reports polyphonic events in the same time. However when Ive put a third dimension for the midi channel, and use a x16 uzi to every x128 pitch in every 16th....Ive got a serious cpu overload...It means reading from a matrix 2048 times in each 16th step. I just use 16th rather than 16th of a 16th, If i got your question well...

Please look at my patch there: http://debreczeni.info/
Download the padKONTROL.zip file. It`s made for the korg padkontrol, but maybe you can get an idea in the [p matrix] patcher.

I also have a question: can I read or how can I read data from a matrix if I just want to read just those points that has got values greater than zero ? I mean to read just those who has a velocity value > 0 ?

because that way I can put a third dimension for all the 16 midi channel, to be able to drive 16 different instruments at the same time.....