Add Space Between MIDI Notes

Is there are way to select a line of MIDI notes and add some ‘space’ between each note?

Eg. I have a melody of 10 notes that are all 1/8ths and perfectly quantized. What I want to do is select them and then add 20PPQ of ‘space’ between the start time of each note. So they are now not on the beat… they’ve increased in ‘distance’ from one another. And every time I run this command they get further and further (or is it farther?) apart from one another.

Like the ever-expanding galaxy. :smiley:

I’m not talking about moving them all ‘forward’ or ‘backwards’.

I couldn’t figure it out with LE.

TIA,

—JC

Aloha s,

Interesting.

Using the Logical Editor I was thinking about a way to do this but not with spaces.
My thought was to use actual MIDI events (notes) whose velocities are 0. So the end effect is that of silence.

It is almost 4am here now I’ll sleep on it and give it some more thought tomorrow.
{‘-’}

This might work -
Use Arpache sx midi insert and use the Sequence tab. Drag in your melody and click “ppq” on the “step size” line. Then this parameter can be automated with a quick control and can get the effect I think you want.
Let me know if that works, it sounds like an interesting concept you have going.

For the guy whose avatar is my favorite character from my favorite movie, anything. :wink:

This LE + macro moves all notes that are to the right of the cursor later by a given amount, which grows each time you invoke the macro. For an 8 note phrase you would invoke it 7 times.

  • It requires that
  • the first note has the same start position as the containing part, for the LE preset to calculate a sensible result
  • it be be performed in the Key Editor
  • the part contains only the notes you want to edit
  • nothing is selected and the cursor

Create LE preset “multiply position”:
Filter: Type is Equal to Note
Action: Position: Multiply by 1.x (where x is the factor by which you want the second event to move)

Hm… I’m not sure now that I got what you meant- I understood increasing the distance between each note by a progressively larger amount. if you just want to put the same distance between each note, change the multiply action to an Add action. I think none of the preconditions apply in that case too, but I didn’t test it.

What I want to do is select them and then add 20PPQ of ‘space’ between the start time of each note. So they are now not on the beat… they’ve increased in ‘distance’ from one another.

Click Me
I think this Logical Editor preset will do exactly what you ask. The “how much” value can be easily edited and the preset can be assigned to a KeyCommand

Weasel I think you may be right…

Wow. It’s kinda mesmerising. :smiley:

I very much appreciate your taking the time. It’s getting there but would need to be much less constrained for me to actually -use-. I would need it to work on a selection of notes within an event regardless of whether there are other notes or not. But this is a VERY good tip and maybe improved upon… or maybe there are lots of other uses. THANKS.

FWIW: I was hoping to just ‘grab’ a bunch of notes and have them s p r e a d o u t

One application: I do these ‘note clusters’ where say 10 voices need to have their start slightly randomised so they don’t all hit on the beat together. You hear this a lot in 20th century music with voices & winds. You want to keep ‘the cloud’ going, but people need to breathe so you spread out the entrances.

—JC

PS: I just googled ‘reading glasses’ to make fun of my poor eyesight… and Harry Tuttle came up, but I now realise that there’s a lot more layers to this. :smiley:

So should it be readable in sheet music? Any other examples?

Big thanks for doing that.

However the scipt makes the notes shorter. I want them to be further apart, but the same length. Maybe the script got lost in translation?


Here’s what I want. I FIGURED OUT LICECAP! :slight_smile:
spreadout.gif
NB. I always get -sincerely- surprised with stuff like this. I was fully expecting that this was something already possible… and also that what I was after was pretty self-explanatory. It was a pretty common composition technique when I was in school… back in 1375 of course, but still. :smiley: I appreciate all the efforts… had no idea it would be so fiddly.

Steve, if yer not just taking this piss… there are tons of ‘applications’ for this kinda thing. I do this all the time to add a slight amount of realism to all kinds of material. Sometimes it would be good to be able to -decrease- the space between notes. And if possible, this would be great to be able to do with a selection of audio events… changing the space between a group of percussive hits.

—JC

JC, now I’m just curious,
did you look into my suggestion regarding Arpache sx? I tried it here, and it did exactly what you describe.

However the script makes the notes shorter. I want them to be further apart, but the same length.

Well yes. If the notes are moved backwards by some amount, they will bump into the notes behind them…unless the lengths are shortened by the same amount as the time shift. What you suggest (and I could be misinterpreting this) is that this would require slowing the tempo surrounding those notes to open up enough time to keep the note lengths the same but not bump into the notes behind them.

I mean you want to create a gap and not have them overlap…did I get that right? The space has to come from somewhere. There’s only one person on this forum who might be able to figure out what I’ve described above: Vic France. This sorta thing is above my payscale.

As to this:

I do these ‘note clusters’ where say 10 voices need to have their start slightly randomised so they don’t all hit on the beat together

Download this to do this:

You have to create a Macro as shown here to pull this off.

You have an F19? Where do =I= get an F19?

grumble posts crossing in the night.

Suntower: I just looked at your GIF. If you take the first LEpreset I posted and remove the first Action Target, it’ll do exactly that (the ppq value entered) with a KeyCommand to any selected notes. The lengths wont change but the starting position will.

You have an F19? Where do =I= get an F19?

One of the percs of owning a Mac. Use whatever is available/free.

I do these ‘note clusters’ where say 10 voices need to have their start slightly randomised so they don’t all hit on the beat together.

Another MIFDIC approach is the Trim Tool to pull this off. Not random but in a lot of cases it will sound right.

Sorry…I don’t know what the PC equivalent of the Option key is.

Congratulations!

Weasel has the solutions for the note clusters…

As far as the expanding universe, here is a much simpler way that works without limitations.

Select the notes in question
Invoke “Locate Selection”
Invoke this LE preset:

LE:
Filter:
Type-Note
Property=Selected

Action:
Position Multiply by 1.1

then invoke “Move to Cursor”

And heeeeere’s the licecap:


exUni2.xml.zip (927 Bytes)

Hm, when I tried that it moved all events by the given amount, whereas they all need to be moved by increasing amounts relative to where they started. That’s why I used ‘multiply’. But then i needlessly complicated things since I thought the space between notes needed to progressively increase.

Hm, when I tried that it moved all events by the given amount, whereas they all need to be moved by increasing amounts relative to where they started.

I wasn’t sure if the notes needed to maintain their relative positions or not from Suntower’s initial description. Short attention span on my part, I guess.
Both LE’s do the same basic primary function (shift the note starts back) but treat the spacing differently. Two useful tools for two different results, I’d say.

Yes indeed.