Im putting together an environment to record midi and play back in loops. There will be multiple active loops, and I also need to record aftertouch and CC.
Ive been looking at the max docs, and seem quite a few options.
seq – simple midi input
seq~ – generic signal sequence events
mtr – generic again
techno~ – another signal based one
detonate – notes based.
I can imagine using any of these, without too much trouble… but Im wondering what the advantages (in the case of midi) of each… does any one allow more advance use than the other?
Thanks for any pointers
I’m inclined to redommend coll or at least add it to that list.
[detonate]. it is old, it is not perfect, but it is absolutely worth investigating and learning it. [seq] does not compare at all, starting with the fact that it has 8 tracks where detonate has 32.
yup, i recognize I could build my own sequencer using coll… but again why, what do I gain?
detonate.. ok, but presumably I can also have a number of seq, to overcome tracks limits. detonate… is it essentially limited to two extra data channels X1/X2… whereas for other objects I could have many CC if needed?
I don’t need the graphical editing facilities (otherwise id be tempted with live.step), its purely for loop recording/playback perhaps with overdub.
I do quite like the idea of recording note data, rather than midi messages, as its more in line with some other aspects of the project.
(Im also going to be doing audio looping, but plan to use buffer/groove for that, and at this stage don’t think I need to tie this to the midi looping)
am i right in saying seq~ is the most generic of the lot, in that you just store what ever data you want?
do most of these allow arbitrary start points? e.g. I might want to record a loop, and then alter start/end points of loop playback
what is the advantage over a roll your own via coll? … editing? or built in midi recognition (neither of which I think are necessities for me)
confusing, so many ways to do this… and I can find little information on some of the approaches (e.g. seq~)
[coll] would allow you to store lists and numbers of up to 24 bits of precision. (for example you can store Hz instead of note numbers, or you could store all notes of a chord in a single "event")
about detonate vs seq … i dont think you can set and change speed or starting point with seq so easily. detonate is a bit more flexible, you can play backwards or step by step and stuff like that.
Thanks, Ive been playing with these a bit today… and starting to see the advantages/disadvantages… and also why I might ‘roll my own’
seq – easy to use, and timing can be controlled with tick
mtr – interesting, but looks like only single value per track, and only replay at normal time
detonate – nice, but X1 & X2 appear to be have to be note related, wouldn’t work well for some CCs, also you only have the 2 extra values (nice editing though)
techno~ – not relevant for me :)
seq~ – i like this a lot, going to be a bit tricky aligning to an external clock, but not too bad (just generate my own ramp) BUT its fixed time loops only – unless I start really playing with the ramp as some kind of event id?
so start looks like, I probably want something similar to seq~, but in this case, I guess coll might work for this… Id just need to work out the playback logic.
hmmm, more to think about :)
I definitely recommend seq~. If you store the notes in note_start, velocity, and duration (rather than storing note-offs as a separate event) you can really easily do looping, (change the output range and speed of phasor~ accordingly–if you have gen~, create a phasor where you specify the increment rate and limits rather than just the frequency; the rate will be consistent and then you only change the loop points) backwards playback and so forth.
thanks peter… now written my first gen~ patch :)
i didnt realise that seq~ can take values outside 0-1, which makes life much easier, i guess id thought seq was doing much more with the signal, but it really is just using it as a float for time… which makes it very flexible:)
btw, ( perhaps i should raise in another topic) im using a vanilla max setup, are there any libs/tools that i should become familiar with?
( ive seen some mention odot for example)
just to complete the list of objects ;-)
there is also [qlist]
its my favorite sequencer object.
hh, thats an amusing object… i don’t think quite what i want, but love its remote sending capabilities.
(max is pretty amazing with its amazing variety of objects)
I’m surprised no-one has mentioned note~ (http://www.noteformax.net/data/index.php/en/homepage) yet, or even rs.delos (http://arts.lu/roby/index.php/site/maxmsp/rs_delos).
And in terms of other libs/tools, well where to start?! I guess maxobjects.com would be a good place, but certainly high on the list of stuff to take from there would be Max ToolBox (you will wonder how you ever patched without it!), but also Tap.tools, CNMAT objects, Ejies, RTC Lib, Lobjects, Bach, Jasch objects, Alex Harker’s objects, PeRColate, BEAP and many more -
Conceptually related to sequencing (in that they’re largely designed to deal with multidimensional musical data & or descriptors) Ircam’s FTM http://ftm.ircam.fr/index.php/A_brief_introduction_to_FTM and its ‘younger sibling’ MuBu: http://imtr.ircam.fr/imtr/MuBu Both quite powerful and likely to take a fair bit of time to get practical use from (and both a little hampered by what appear to be limited resources – particularly regarding plentiful documentation)
wow, loads more possibilities!
I keep seeing FTM mentioned, and keep facing the same dilemma, do I really need it? it looks powerful, but almost seems like a different way of approaching Max. are there a lot of FTM users? is it actively developed still?
Im also wary of relying on lots of different libraries, as I know from my other programming experiences, this tends to lead to other issues.
I think, perhaps, I’ll just get cracking, and bring in other things when I need.
Im not too sure there seems to be a consensus on an essential max toolkit :)