Jump to content
pulsewalk

How do I accelerate and decelerate MIDI (not by tempo change, but rather note position)

Recommended Posts

18 hours ago, pulsewalk said:

I want the melody slowing down gradually, not by altering the project's tempo, but rather having the midi notes moved apart accordingly.

which discards my suggestion.

Share this post


Link to post
Share on other sites

You might be able to get mathematical precision by jiggling with the clip time base as follows:

  • enter a clip with all the notes you want in the decel/accel sequence, evenly distributed, starting where you want them.
  • change the tempo to get those notes strung out the way you want. (Don't worry)
  • lock those notes to absolute time in the clip properties time base field
  • restore the tempo back where it was

The notes in your new clip should remain distributed through time, losing their musical time association, while the rest of the music is essentially undisturbed, being restored to the original tempo. It still needs some planning to get your time-disturbed sequence to end just where you want it. It's multiple steps, but saves you having to perform it perfectly or calculate each note perfectly.

Edit: By the way, once you get those notes into the right time distribution, you will still be able to adjust the overall length and speed of them by using the normal clip stretching operations.

Edit again: I've never tried this

Edited by bvideo
  • Like 1

Share this post


Link to post
Share on other sites
4 minutes ago, bvideo said:

You might be able to get mathematical precision by jiggling with the clip time base as follows:

  • enter a clip with all the notes you want in the decel/accel sequence, evenly distributed, starting where you want them.
  • change the tempo to get those notes strung out the way you want. (Don't worry)
  • lock those notes to absolute time in the clip properties time base field
  • restore the tempo back where it was

The notes in your new clip should remain distributed through time, losing their musical time association, while the rest of the music is essentially undisturbed, being restored to the original tempo. It still needs some planning to get your time-disturbed sequence to end just where you want it. It's multiple steps, but saves you having to perform it perfectly or calculate each note perfectly.

Your suggestion beat me to it by about five minutes. I was going to suggest the same thing except freeze the "effect" track and copy the clip of the frozen track to a new audio track, then restore the original constant. tempo. It seems a little quicker to simply lock the notes to absolute time as you suggested. Either way, this type of method may or may not be easier than editing the notes manually, depending on how many notes are involved.

Share this post


Link to post
Share on other sites

I'm thinking once you've created a clip like this it can be copied and manipulated, e.g. reversed, stretched, delete some notes ...

Somebody went to a lot of trouble making this work in Reaper, graphics and all. It must have tremendous musical value.

Share this post


Link to post
Share on other sites
2 hours ago, bvideo said:

You might be able to get mathematical precision by jiggling with the clip time base as follows:

  • enter a clip with all the notes you want in the decel/accel sequence, evenly distributed, starting where you want them.
  • change the tempo to get those notes strung out the way you want. (Don't worry)
  • lock those notes to absolute time in the clip properties time base field
  • restore the tempo back where it was

The notes in your new clip should remain distributed through time, losing their musical time association, while the rest of the music is essentially undisturbed, being restored to the original tempo. It still needs some planning to get your time-disturbed sequence to end just where you want it. It's multiple steps, but saves you having to perform it perfectly or calculate each note perfectly.

Edit: By the way, once you get those notes into the right time distribution, you will still be able to adjust the overall length and speed of them by using the normal clip stretching operations.

Edit again: I've never tried this

There it is. Brilliant! :) 

Not tried it either...!

 

Share this post


Link to post
Share on other sites
3 hours ago, Andres Medina said:

On second thoughts, if you just place the notes say a quarter apart, quantized 100% on the grid, and just draw a straight line in the tempo view, I think you'll get what you want, as the result would be a perfect gradually increasing/decreasing of the space between notes. 

Screenshot_1.png

Yes I know this, but as mentioned before, I need the track to run the same tempo. I need deceleration and acceleration for an effect, while everything else is playing at a set tempo.

 

What I CAN do, is to do this in another project, use the tempo track as I've mentioned before, record what I need, and then put back the audio file in the main project. However, I want to be able to do this for several tracks and I also want to be able to adjust this in real time without this procedure.

But, I've now learned there is no such feature in Cakewalk, nor plugin, so that's it, then I know. I'll have to do this by other means.

Share this post


Link to post
Share on other sites
2 hours ago, bvideo said:

You might be able to get mathematical precision by jiggling with the clip time base as follows:

  • enter a clip with all the notes you want in the decel/accel sequence, evenly distributed, starting where you want them.
  • change the tempo to get those notes strung out the way you want. (Don't worry)
  • lock those notes to absolute time in the clip properties time base field
  • restore the tempo back where it was

The notes in your new clip should remain distributed through time, losing their musical time association, while the rest of the music is essentially undisturbed, being restored to the original tempo. It still needs some planning to get your time-disturbed sequence to end just where you want it. It's multiple steps, but saves you having to perform it perfectly or calculate each note perfectly.

Edit: By the way, once you get those notes into the right time distribution, you will still be able to adjust the overall length and speed of them by using the normal clip stretching operations.

Edit again: I've never tried this

You already got a solution..

Share this post


Link to post
Share on other sites
2 hours ago, bvideo said:

You might be able to get mathematical precision by jiggling with the clip time base as follows:

  • enter a clip with all the notes you want in the decel/accel sequence, evenly distributed, starting where you want them.
  • change the tempo to get those notes strung out the way you want. (Don't worry)
  • lock those notes to absolute time in the clip properties time base field
  • restore the tempo back where it was

The notes in your new clip should remain distributed through time, losing their musical time association, while the rest of the music is essentially undisturbed, being restored to the original tempo. It still needs some planning to get your time-disturbed sequence to end just where you want it. It's multiple steps, but saves you having to perform it perfectly or calculate each note perfectly.

Edit: By the way, once you get those notes into the right time distribution, you will still be able to adjust the overall length and speed of them by using the normal clip stretching operations.

Edit again: I've never tried this

This sounds VERY interesting and might do what I need!

I will try this at once!

I'll let you know if this work as soon as I'm finished!

Share this post


Link to post
Share on other sites
2 hours ago, bvideo said:

You might be able to get mathematical precision by jiggling with the clip time base as follows:

  • enter a clip with all the notes you want in the decel/accel sequence, evenly distributed, starting where you want them.
  • change the tempo to get those notes strung out the way you want. (Don't worry)
  • lock those notes to absolute time in the clip properties time base field
  • restore the tempo back where it was

The notes in your new clip should remain distributed through time, losing their musical time association, while the rest of the music is essentially undisturbed, being restored to the original tempo. It still needs some planning to get your time-disturbed sequence to end just where you want it. It's multiple steps, but saves you having to perform it perfectly or calculate each note perfectly.

Edit: By the way, once you get those notes into the right time distribution, you will still be able to adjust the overall length and speed of them by using the normal clip stretching operations.

Edit again: I've never tried this

Alright, just tried this! I don't know what I'm doing wrong, but I set the time base to "Absolute" in the MIDI clip properties, then I clear the tempo track data I've drawn for the deceleration as I wanted it. And then the track plays at the normal tempo again, but the MIDI clip have not been streched/warped anything, it's still just as I've drawn in the notes there.

With other words, the MIDI clip stays the same as it was before, and no redistribution of the notes have taken place.

Edited by pulsewalk

Share this post


Link to post
Share on other sites

Yes, I did a quick test and midi notes are still locked to tempo change after changing the clip properties to absolute time. Tried to lock clip data and position -  and then change the tempo, and no luck. Still follows tempo changes. Not sure if there is a way to unlock midi data from tempo changes. Not aware of that function...

I guess you will have to use the other way (creating it in a external project)

  • Sad 1

Share this post


Link to post
Share on other sites

Now that I've tried it, apparently "time base" applies only to the start time of the clip. So each note would have to be its own clip for this method to work. So I went and tried it, splitting my original clip into individual clips per note. Then I drew a tempo curve. Then I selected all the note-clips and set the time base to absolute and also set the clip lock to "pos". Then when I reset the tempo curve, it seemed to work OK. After that, all those notes could be bounced to a clip. One thing, though: it did not lengthen the notes to match the changing speed. OK for percussion, but not for tones.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
10 minutes ago, bvideo said:

Now that I've tried it, apparently "time base" applies only to the start time of the clip. So each note would have to be its own clip for this method to work. So I went and tried it, splitting my original clip into individual clips per note. Then I drew a tempo curve. Then I selected all the note-clips and set the time base to absolute and also set the clip lock to "pos". Then when I reset the tempo curve, it seemed to work OK. After that, all those notes could be bounced to a clip. One thing, though: it did not lengthen the notes to match the changing speed. OK for percussion, but not for tones.

Ohhh, that I must try!! A little more work, but could be rewarding!
Note length doesn't matter much as that can easily be corrected later with the length setting.
I'll report back soon.

Share this post


Link to post
Share on other sites

In order to bounce those clips back to a single clip, it is necessary to turn off the locks. So after restoring the tempo, select them all, turn lock off, then bounce. Then it can be stretched as a clip.

As far as note lengths, there may be a CAL script to extend the note lengths to match the interval between notes. I didn't see it in the quantize dialog.

It's getting to look like more of a pain to do it very often. If it's just a percussion sequence, you can store it as a groove clip in your library and modify it as needed.

  • Like 2

Share this post


Link to post
Share on other sites

Haha yeah! WOW! THAT worked! Worked like a charm! :D fantastic! Midi notes distributed perfectly!

Thanks so much! Very well done! 👍👍👍

Share this post


Link to post
Share on other sites
6 minutes ago, bvideo said:

As far as note lengths, there may be a CAL script to extend the note lengths to match the interval between notes. I didn't see it in the quantize dialog.

My notes actually stayed the same (they were not time streteched), just as I want it to be. However, if one would need to stretch the notes accordingly, maybe one could lock "Data" too? I can try.

Quote

It's getting to look like more of a pain to do it very often. If it's just a percussion sequence, you can store it as a groove clip in your library and modify it as needed.

Yeah exactly. The mathematic perfection is there, so it can be streched as needed and the notes move up and down as needed too in case one need a melody. Yeah tedious but at least it's something if one does not want to install Reaper.

This is great!

  • Haha 1

Share this post


Link to post
Share on other sites

Just a quick update, plus a question about splitting clips to the notes, so a clip with several notes are automatically split into one clip for each note and is adjusted to be the length of a note too? Is this possible? I can only chose to snap to "measures" in the split-dialog.

 

Anyhow. There's another way to do MIDI note warping too, although it is much harder to control how you want it all, plus that it will be a bit backwards.

If you put Time Base to "Absolute" (no need to lock the clips), you can then adjust the tempo curve (although you'd need to speed it up in order for the clips to come apart (and slow down)), and when you've done that you change back the Time Base to "Musical" and then you can delete the tempo automation. This will then result in moved clips according to the adjusted tempo. It might be useful for some cool effects, although the first method by bvideo is much easier for the task of decelerating and accelerating.

Edited by pulsewalk

Share this post


Link to post
Share on other sites
9 hours ago, Andres Medina said:

On second thoughts, if you just place the notes say a quarter apart, quantized 100% on the grid, and just draw a straight line in the tempo view, I think you'll get what you want, as the result would be a perfect gradually increasing/decreasing of the space between notes. 

Screenshot_1.png

The op made it clear that tempo was not an option. They are looking for exactly that result but only on a short clip. It’s a challenge but I still think I could do it manually using a small enough grid   
Thinking you would just go from a half note to a quarter to an eighth and so on. 

Edited by John Vere

Share this post


Link to post
Share on other sites
5 hours ago, pulsewalk said:

Just a quick update, plus a question about splitting clips to the notes, so a clip with several notes are automatically split into one clip for each note and is adjusted to be the length of a note too? Is this possible? I can only chose to snap to "measures" in the split-dialog.

I didn't look for "split clip to notes". That would be great for batch production of this scheme. There have been requests for this on the forum in the past. The same thing does exist for audio beats, but "Split clips at audiosnap pool" is greyed out on midi clips and "Split beats into clips" only works in the audiosnap palette (on audio clips).

Using 'tab' for "step to next note" and typing 's' to split at every note is not too bad.

After the time-mangled clips are bounced into a single clip, the "Run CAL" process using LEGATO.cal will adjust the note lengths.

  • Thanks 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...