midi sequencer

Jul 8, 2013 at 3:15am

midi sequencer


i have a problem with seq, look into my patch and add an event with add msg at position 0 as you can see in the max window seq read the event and the flush (who is banged at the end of the loop) arrived after

how to synchronize that?

thank you

  1. test-seq4.maxpat
Jul 8, 2013 at 1:55pm


Jul 8, 2013 at 4:46pm

huhu :)

Jul 8, 2013 at 11:54pm

what’s your problem, man??????

Jul 9, 2013 at 1:30am

ok, i try to explain again,
in this patch i use a seq and add an event at position 0,
and i make a flush at the end of the loop, so when i play the sequence i must have first the event noteon 60 100 and when the sequence reaches the end the flush generates the noteoff 60 0.
In fact, the flush generates the noteoff just after the noteon
perhaps it’s normal but i want to know how to resynchronize that

thank you

Jul 9, 2013 at 1:41am

the behaviour of your current patch seems indeed a bit inconsistent. Not sure what you try to do, but maybe this is a valid approach ?


– Pasted Max Patch, click to expand. –


Jul 9, 2013 at 1:45am

the behaviour of the [seq~] object, in fact, seems unreliable… sometimes it outputs twice its content, sometimes once… though i do’nt know that obejct well, but it does seem odd.

Jul 9, 2013 at 2:28am

yes my patch is just an illustration of my problem and you’re right i have a lot of problem with this object but tell me what are you using for midi sequencing?

thank you

Jul 9, 2013 at 3:03am

hem… i usually do it outside Max… but when i do it inside, i rather use [seq] (the non-signal version – i did not know of the signal one, it seems pretty recent) and if i was going to do a big project with midi sequencing i’d look at graphical things, like [detonate], or the bach library (http://www.bachproject.net/home) or thigns like the [note~] external (http://www.noteformax.net/data/index.php/en/) or the rs.delos (http://cycling74.com/forums/topic/announce-rs-delos-a-maxmsp-timeline-external-released/, not free), but i’d say [seq~] seems cool… if only it was consistant… you could also try to use [techno~] if you need signal-driven sequencing, it’s cool, albeit maybe less than seq~.

Jul 9, 2013 at 3:07am

maybe its worth reporting a bug to cycling regarding seq~’s output inconsistant repetition.

Jul 9, 2013 at 4:12am

yes you’re right, it’s incredible that max haven’t a reliable midi sequencer, another problem is if you make an add 0 0. like i do in my patch the event is not played every time

Jul 9, 2013 at 6:34am

Regarding the original patch, I think there is a timing conflict between the note playing at time 0 and the edge detector banging at time 0. Apparently the detector bang is sent just after the note and thus triggers an immediate note off. I’ve checked that a small delay of the note (eg. start time 0.1) avoids this timing problem but not sure about a general solution. In my experience synchronization with phasor~ is inherently problematic.

Jul 9, 2013 at 6:59am

thank you
can you tell me if you use midi sequencing and what are you using for that?

Jul 9, 2013 at 7:42am

Yes, I’m using [seq] with start/stop synchronization from transport.

Jul 9, 2013 at 8:26am

ok, i try that it’s working not bad, are you making live recording?

Jul 9, 2013 at 9:34am

Yes, recording and playback works perfectly for me.

Jul 9, 2013 at 10:52am

are you making a flush at the end of the loop for eliminate the handle note?
do you quantize the note when you record?

Jul 9, 2013 at 11:33am

No quantization and no flush at recording.
But I’m recording only linear sequences, ie. there is no loop.

Jul 10, 2013 at 1:07am

hi Vichug,

have you a patch that can reproduce output seq~’s inconsistant repetition i’m going to report the differents problems to cycling.

thank you

Jul 10, 2013 at 2:31am

Hey Zarby,
I just used the patch, and a print at the output of seq~.


– Pasted Max Patch, click to expand. –


Notably, this happens only when using the “global transport” patcher in the extras, and only when said patcher is opened : if you open this, activate it, then the inconsistency is there ; but if you then close the “global transport” patcher (without desactivating) your example continues to run, and this time, there is no inconsistancy. So, i’m not sure anymore who is the culprit : it might very well be the “global transport” patcher, the [transport] object, the [phasor~] behavior when synced with unit timing system, or the unit timing system itself…

Jul 10, 2013 at 3:35am

i don’t understand this sentence “only when said pather is opened”

i try it but i don’t have this problem but i have another problem :
sometime the event in 0. is not played
of course you are in overdrive but have you in audio interrupt : on?
i modifiy the patch to add other events :


– Pasted Max Patch, click to expand. –


Jul 10, 2013 at 5:06am

Just had a closer look at the phasor~ helpfile. There is a subpatch ‘using phasor~ with a metro’ comparing both synchronization methods on different stereo channels. I’ve connected a live.gain~ to observe the output channels and noticed that sometimes the very first beat from phaser~ is missing at transport start. This confirms my experience of unreliable phaser~ synchronization and may be related to your problems with seq~.

Jul 10, 2013 at 7:22am
Jul 10, 2013 at 7:23am

there’s a typo, i meant “only when said patcher is opened” – in the context, “said patcher” refering to “global transport”.

Jul 10, 2013 at 7:35am

ok, thank you

i am waiting for support response,
but i think that the seq~ object must be rethink in the manner of the groove~ object for example with a start and end of the loop, with synchronization output….

Jul 10, 2013 at 8:04am

i believe asking for a looping function is asked a bit too much from seq, as “end of the file” or “last event” is not exactly an information you will find in midi files – not talking of data recorded live into seq.

for building a midi sequencer you might want to look into the detonate object first … before telling the support that you dont like seq, that is.

detonate is a bit weird at first, because you must use an external counter in conjunction with detonates delta time output, but when you get used to it you will find out that it is the perfect logic for a midi player object.
a working example of this kind of implementation should be somewhere in the detonate help file.


Jul 10, 2013 at 11:34am

Asking for a midi sequencer with looping function makes perfect sense to me. There is no reason why midi and audio should be handled differently in this regard. A good example are clips in Ableton Live where both midi and audio clips have exactly the same looping functions.

As for [detonate], I don’t see much benefit over [seq] unless you want dynamic tempo changes.

Jul 10, 2013 at 7:06pm

one of detonates benefits over seq is that you can build a looping function with it.
the only thing worth criticizing about seq is its misleading name. it should be called player.

and i really dont think that a programming language deserves a full featured “sequencer” with looping, overdubbing and quantisation.
the comparison between ableton live 9.0 and a max external from 1992 seems inappropiate. (but maybe thats just me, i also dont use groove~ or omx~ or nodes.)

Jul 11, 2013 at 12:43am

i’m perfectly ok with Broc, i don’t understand why audio object evoluates and get benefit of time format, looping fonction etc… and not midi (external from 1992) it’s time to have a modern and reliable midi sequencer!!!

Jul 11, 2013 at 10:16am

then build one – maxmsp would be the right tool for it. :)


You must be logged in to reply to this topic.