MIDI editing

This morning I generated a bunch of multitrack MIDI clips using Wolfram Tones cellular automata tool. It’s a nice way to quickly generate some song starter ideas with multiple parts, all in key and in time.

But the note density is a bit too high and a bit too uniform. I want to find a way to select regions of all tracks for editing (several DAWs currently have multiclip editing support) and then (this is the part I don’t know how to do) I want to stretch that selection in a way keeps the vertical relationships intact and also nudges all the note events afterwards, so that the stretched region does not overlap it’s neighboring region.

I can figure out various inefficient and fiddly ways to do this but none of them are a quick error-free single action.

I’ve tried Reaper, Bitwig, and the Chaos Culture multiclip editor Max for Live plugin. None of them seem to do what I’m looking for. Haven’t tried logic (takes so long to boot!) or Cubase (can’t find a trial!) but would be happy to if someone thinks they’ve got this covered.

Any ideas?

Not a solution, but would time-stretching a section of the midi clip in the way you’re envisioning be the same as changing the tempo of just that section of the clip (so the clip temporarily slows or speeds)?

It’s a potential workaround…

Not sure if this is useful, and I’m armchair QB’ing here, but Logic can both time stretch midi and align to a beat track. So perhaps stretch-and-align?

I can try this if you don’t have a useable copy of Logic (I have a Mac Pro pretty much wired to run Logic…)… or you can slow-boot.

PM dropbox me a sample file if you want me to fiddle at my end.

Is the a m4l device that can sample and hold midi? Then another track can record the output

While the MIDI editing features in Logic are more powerful (esp. if you are editing multiple MIDI tracking at the same time), I find recording MIDI (sometimes from generative programs) into Ableton Live pretty straightforward and easy to turn into something usable.

If I understand the problem correctly, in the case of what you are trying to do, I think you can select notes and use Live’s transformation tools. Note multiplication and division and selecting items and applying legato might get you most of the way there.

This is the least fiddly option I can think of…

Finally back home after a day of errands. Trying Logic (hey cool, newer version starts up a bit faster!) and it’s behaving pretty much the same way Reaper was. I can stretch the note durations, but this doesn’t change their timing relative to one another and doesn’t nudge the following notes.

Seems like such a normal thing to want to do…

Sorry to go all lateral on y’all, but I find myself reaching for a higher level of abstraction.

Apologies for smooth jazz. If you can look past that bit, I think you can recognize the potential power of this approach for digital composition.

More of that kind of thing:


Okay that’s really cool.


But after I see this, I kinda wonder why this isn’t already in tools like Logic. Seems kinda obvious.

So… thanks for pointing it out.

Going to go all lateral right back at you. There was a demo done in about 1962 of a system called Sketchpad (Sketchup is an homage to it) that more or less invented CAD, the basics of OOP, constraint systems in code, and a few other things (Ivan Sutherland… also an early VR pioneer, etc. etc. etc.). So I show this to my students - a video of the old demo. And they are using software that only recently became capable of doing what is in that video. And they get frustrated that it took 30 years for those ideas that are SO OBVIOUS to become available.

Once you see the tool, if it is an obviously great tool, you wonder why it isn’t just everywhere.

1 Like

So, I feel this way pretty much 24/7. Curse of the UX designer. :wink:


My partner has been in UX since the early early days and yeah, I hear about this a lot.

1 Like

Just want to report that just using the Synfire demo to edit MIDI (adjust timing, rhythm, and harmonic modulation) and then export MIDI (for sound design and mixing in Live) is working out great.


Ableton has a bunch of these features that you could use if you combine clips/groups with the transformation processes, but if you’ve found a workable solution that’s great!

Care to elaborate on what you are referring to?

Sure, in Ableton you can use buttons to easily double/half note event times, and invert and retrograde pitches (aforementioned transformation processes), but it doesn’t automatically move the note positions of the things you aren’t transforming. So the process isn’t as friendly/nuanced as Synfire — in Ableton you still have to do lots of clicking and dragging to make room for stuff, probably grouping the notes depending on how you edit/transform them. Does that clarify?

I watched this wacky video from Dubspot: https://www.youtube.com/watch?v=2uOyvvy-6eo
I thought the track was really annoying, but it demonstrates the features.

I started looking into this because I seemed to remember using a piano roll-based software to do some procedural serial MIDI composition in the early 2000s, but I can’t remember what it is. I thought either Reason or Fruity Loops, but neither of them are hitting the mark.

Right, this is the problem I’m trying to solve. I was aware of the transformation features. Thanks though!

By the way, I’ll readily admit that this type of workflow optimization is just a form of procrastination. But I find that procrastination can be a healthy part of the learning process. :wink:

1 Like

No no it’s also raising a question about why this feature isn’t a must in every DAW, because sincerely I’ve been wondering why I couldn’t do this possibly a hundred times already. I think it should be built in with a simple alt + clic style feature, because it’d so useful for so many reason. It’s very very weird that it’s not. (In protools I seem to remember I’d tempo lock a track, dial down the tempo until it’s ok, and then sample lock the track again and put the tempo back at the right speed, quick enough)

1 Like

Helios Workstation has a really smart nudge tool that makes the dragging to make room for stuff bit less hair-pulling. And it’s open source!


But it kind of needs a lot of contributions. It’s a fantastic editor for editing midi with a mouse or even fingers on a touchscreen, but it doesn’t appear to have any MIDI import capability as of yet.


Would be so cool to embed some subset of the ‘figure editing’ in synfire into a looper performance sequencer - last time I was working on ‘sguenz’ I thought of & started implementing simple operations on midi clips such as sequential/simultaneous composition, quantisation etc.

The kind of ‘time-stretch’ discussed here would also be pretty rad. As for the chord/scale conformity, whew that seems a lot more complex!

1 Like

I guess that’s kind of the problem with arbitrarily moving notes around. If you have any notion of chord progression in your music (and nearly all western music typically does) then you have to take harmony into account. It’s not simple but it is sort of deterministic (which is why it’s a tractable problem for Synfire). I say “sort of” because there are many branching paths at every decision point, in terms of what kind of harmonic “colors” you’re going for in each step of your progression. It starts to look as complex as Synfire already is when you think it through thoroughly.

No big surprise that a lot of electronic musicians are choosing to toss this western music theory out and stick with mainly rhythmic composition, and chromatic tonality (or atonality). Fair enough, but I feel some emotional impact and breadth of expressive palette is definitely lost. I’m not ready to throw the baby out with the bathwater.