Live Midi Clips mlr style ?

  • i was wondering if there is an way to do this, just having 16 start points in the clip and being able to trigger them from a monome row

    i've looked at a variety of tutorials for clip chopping from monome, launchpad etc but they all deal with audio clips only and i haven't found a way to do this with midi clips

  • Does live clip chopper not work with midi as well as audio clips?

  • Also, "soyuz" is a very good step sequencer with top row beat shuffling.

    I haven't played with "plane" yet, but I imagine it can be abused in this way as well.

    And I've got an odd sketch of an idea floating around ("sidestep") which isn't at all usable without the docs I haven't written, but it's somewhere between those two.

    But, yes. I think Live Clip Chopper does work, but that there might have been some timing issues with the Max For Live API addressing space inside a clip.

  • once it's finished, mlrVST will offer midi clip chopping, as well as the usual audio chopping.

  • drooling here, thanks ioflow. It's hard on the keyboard.

  • last i heard you can't chop midi clips with precision accuracy as there's no way to put midi clips into an equivalent of the RAM mode on audio clips.

    last i checked this made calling the clip position function on midi clips worse in terms of timing than on audio clips loaded into RAM. which people already don't consider to be accurate enough.

    it's right that live clip chopper makes no distinction between audio or midi clips and will chop either though. people have had vastly different experiences with different machines and with different audio buffer sizes so it may work for you.

    however, programming for live clip chopper pretty much stopped as there seems to be no way to achieve precision timing with the current max 4 live api.

    my max 6 / m4l equivalent using groove, polybuffer~ and record objects is coming along well though... :)

  • Any chance of a sneaky download ;)?

  • hopefully before 1900 GMT dean so we can jam :)


  • haha yeah! highly doubtful though :( always have molar or mlr though. Ableton drum racks too. Going to get plenty of vocal snips etc.

  • yes i've tried the clipchopper but have to say that it's not really useable due to timing errors .. even with a very low buffer and 4ms roundtrip latency it's not possible to get useable precision out of clipchopper.

    i also use molar and sevenup but it's not the same than recording or importing a midi clip in Live and then trigger these clips accurately from various locations in the clip, soyuz wouldn't solve my problem

    i've read that there is something with the current m4l or live version that fucks with the stability/precision of the timing ... but i don't quite understand why this is so complicated ... isn't it just triggering the clip with the start point offset for each pad .. not sure why this introduces timing errors like in clipchopper

    this seems like such a natural workflow to me: record midi clips in live on the fly (actual Live clips, not sequences inside a monome app, with or without overdubs), then resequence them mlr style with a monome pattern recorder or just be able to trigger the 'slices' from the pads and record that into another track/clip in live

    i can't seem to find a practical solution how to do this

    @Myr & @ioflow: great to hear some solution to this is in the works :)

  • You also could do it the edison launchpad mlr way... slice the midi clip per hand by copyying couple of times, move section and right click crop, (guess it's named like that in english :p) set follow actions, and map the clips to buttons... note that if you cut through notes, 2 notes in series are not the same as a long one... Thats the issue with slicing midi, it's not that you can simply cut a midi message in two... they rely on note on and off

    edit: I guess with max or other tools one could program that without button press, the original sequence is playing, button press adds the additional midi information needed... Very curious what you guys are puzzling out!! can't wait!!!!

  • @dean

    I have a huge library of samples too dean so we will find some

    and some exellent motown acapellas
    too :)

    later dude


  • i thought that i had seen a way of just reading out an entire midi clip from live into a max object, then using the tighter max timing to just output midi values without actually resorting to any sort of move playing position nonsense...

    couldn't a seq object be useful here? Use a recording midi 'buffer' to listen to incoming midi from the instrument, then slice it by hanging the playback sequence heading to the seq object? Each row could have its own seq, plays t n is sliceable once midi recording has finished?

  • as far as i know the only way this would be possible is:

    you select a midi clip in live you want to crop.
    you call a function on the clip in live to get all of the note, duration, velocity information.
    you write this information in to a seq~ or live.step object.
    you could then trigger the sequencer in max with precision timing and accuracy, playing the same midi notes as were in the clip.
    you could also link the launching/stopping of the clip in live to the max sequencer.
    it could work pretty much seamlessly... i think.

    along with my groove~ and polybuffer~ based mlr style sampler, i'm working on a sequencer using live.step which can import midi from clips. you can then edit, chop, glitch it up, trigger from any point, and write it back to midi clips. do all i've written above. however, i don't do so much work with midi and don't have much time at the moment so it's really on a hold till the sampler is finished. but there you go... my secret plans for world (ableton live) domination. heh

  • also to clarify for people who haven't read the threads.

    the timing issues are not a problem with clip chopper or anyone's max programming.

    they are inherent problems with the live api and the function we call to change the playing position of a clip inside live.

    it is not as simple as calling the position in ms or samples that you'd like to play from, as you would do with msp objects.

    you can only jump relative to where you currently are in the clip. so you need to observe the current playing position of the clip and work out the difference between where you are and where you'd like to be.

    simple enough but, observing the playing position doesn't put out an audio rate signal. so even if you try and quantize the jump in playing position messages you might not be getting quite the right result as the playing position you're observing isn't accurate enough.

    then there's considering that position changes are sent through the ableton warp engine etc. which depending on buffer size and maching performance can add latency as well.

    as discussed on the m4l forum etc. it is odd that you can click with a mouse just above a clip to trigger it at any point, and quantized, with perfect accuracy, but this same bit of functionality can't be accessed by the m4l api. hopefully one day it will. until then i'm working on my max skills and trying to build something that can do what i need, hopefully when i share the results it'll be of help to some other people too.

    also on a side note i'm already having so much more fun using groove~ as unlike live clips i can instantly reverse the audio, also change it's speed and transposition on the fly without using the mouse. changing each loops speed independently of the master tempo without having to go to the mouse is so much fun for the kind of stuff i'm doing at the moment!

  • Myr, have you ever taken a look at the ms pinky control record max object? Right after m4l came out, someone wrote a variant that would scan through a track, take the locations of the clip waveforms, and make them into a list of paths for use with a pinky controlled groove playback. Sounds like an interesting technique...

    this vid has an explanation, and link to the pinky forum...

    and this is the most current m4l version, has an 'autoload highlighted session clip' function that would be very interesting...

  • i know this is an old post, but i figured id put my 2 cents in. use edison as an example. physically break the midi clips into as many slice as you would like to trigger and change the follow action to stop playing the clip after its desired length. midi map and trigger away. I personally have been doing this with empty midi clips with an arm and record function to help with improve as well. works perfectly with no hiccups as long as my fingers can keep up.