Is there a function or method of moving a set of midi notes to their individual end note positions in Logic Pro X?

Ie. midi note A with length 10 should be moved to its end position (11), and midi note B with length 5 should be moved to its end position (6).

What I want to achieve is basically to have a midi note in the position of every keyboard release/lift. Keeping each note’s original length is not important.

  • I don't use Logic, but it has a Transform page similar to that in Cubase, so.. the workflow would be "for all note-off, generate note-on with position +1, duration unchanged". As many instruments don't really use note off, you may find you need to use note-on=0 & impose a fixed velocity to the output.
    – Tetsujin
    Commented Mar 12, 2018 at 7:28
  • @Tetsujin man, that sounds exactly like what I want, but I’ve had no luck trying to get it to work in the midi transform feature. I will continue though…
    – Simon
    Commented Mar 12, 2018 at 19:51
  • 1
    Not something I've ever tried before, but just tested in Cubase. It was simpler than I first thought - 'Filter target - all notes; Action target - Position, Add length, then Position, add then Transform'. Done. So, in effect I move the notes as-is, so all other data stays as original, inc velocities etc. i.sstatic.net/46hYZ.png
    – Tetsujin
    Commented Mar 12, 2018 at 20:06
  • It might be possible to use the MIDI Scripter to change your MIDI messages in real-time, with some JavaScript code. You could then even record from one track to another using the environment. Not quite sure how all this would be done, but I’ll have a think...! Commented Jun 10, 2021 at 23:23
  • You could do the process @Tetsujin describes, create a MIDI ON whenever a MIDI OFF is read. And bypass the MIDI on messages. Commented Jun 10, 2021 at 23:30

1 Answer 1


It sounds to me like you want each chord/note to perfectly connect to the next chord/note. In order to do this, select your notes or chords in the MIDI editor, then press Shift + Backslash.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.