Jump to content

Exponentially increase space between note events


boafzilla

Recommended Posts

Hi all :D

 

I'm attempting to do some fancy-dancy polyrhythm stuff in the piano roll, where I would like to do something a bit like this:

steps.png.c44bfdc84b8cc9b5052991696b91e8ca.png

 

Basically, all notes event are at an interval of 3 1/4 note. I would like to "stretch" these notes so that the interval between notes 1 and 2 is more or less 3 1/4 notes, 2 and 3 is more or less 4 1/4 notes, 3 and 4 is 5 1/4 notes, etc. EDIT: I originally said Ableton Live's Stretch Notes function does what I'm after, but it doesn't... More on that below.

 

If it makes it any easier, I'm not worried about Note Length at this point, only Note Position.

 

Any ideas?

Link to comment
Share on other sites

I think this is the kind of job you could achieve with the Transform (using the mathematical parameters). But, although I have not the program in sight at the moment, I think this would imply multiple operations. I remain however convinced this is feasible. The stretch in Ableton applies to the audio transients, like Logic does with its flex feature, unless I am missing something.
Link to comment
Share on other sites

In Ableton Live, this kind of operation could be done with the "Stretch Notes" function

 

Simply drag the lower right corner of the region (in the Arrange) while holding down the option key.

 

The stretch in Ableton applies to the audio transients, like Logic does with its flex feature, unless I am missing something.

 

The "Stretch Notes" function boafzilla's talking about applies to MIDI notes only.

 

J.

Link to comment
Share on other sites

Simply drag the lower right corner of the region (in the Arrange) while holding down the option key.

That would only create a result with notes evenly spread over a given area, wouldn't it?

 

Your best bet may be to check out the manual, and read about Transform, or this tricky solution: insert tempo changes ti get the audible results you want, and when you're done, bounce that file into an audio file. Now, go back to your original tempo, place theaudio file where you want it, and you have the results you want.

 

It may be easier to just edit each note manually.

Link to comment
Share on other sites

One of these Transform operations, applied to position, could possible help you out. The most advanced ones are at the bottom of the list.

 

Thru: The event passes through unaltered.

 

Fix: Fixes the event parameter to the set value. You could use this to set the pitch of all note events to a specific note value, making it easy to convert a bass groove into a hi-hat pattern, for example.

 

Add: Adds the value to events. For example, a value of 8 could be added to all incoming note velocity events, thus making the notes louder.

 

Sub: Subtracts the value from events. You could use this to reduce all controller 10 (Pan) events, thereby narrowing the stereo spread of an electric piano part, for example.

 

Min: Parameter values lower than the defined value are replaced (by this value). Larger parameter values are not altered. You could use this to replace all note velocity messages below 45, thereby reducing the dynamic range of a MIDI region—or put another way, making the soft notes louder.

 

Max: Parameter values that exceed the set value are replaced by it. Smaller event parameter values remain unaltered. This could be used to restrict filter resonance modulation events above a value of 100, for example, resulting in a softer filter sound.

 

Flip: All parameter values that match the conditions are reversed around a pivot point (the value defined here). Events above this value are moved by the same distance below it and vice versa. For example, you could move a note from E3 to G#2, if the pivot point value was set to C3. Effectively, the E3 event, which is 4 (pitch) values above the C3 pivot point is flipped to 4 values below (G#2). This can also be used to reverse selected note positions around a particular bar or beat, as another example.

 

Mul: The parameter value is multiplied by the set value (accurate to four decimal places). The effect, and use, of this operation is best illustrated by the Half Speed preset.

 

Div: The parameter value is divided by the set value (accurate to four decimal places). The effect, and use, of this operation is best illustrated by the Double Speed preset.

 

Scale: The parameter value is multiplied by the top value, and the bottom value is then added. This is a combination of Mul and Add. If you enter a negative number here, values can be subtracted from—rather than added to—the value resulting from the multiplication.

 

Range: Parameter values outside the set value range are replaced by the values of the (range) limits (combination of Min and Max).

 

Random: Random values are generated within the set limits.

 

+-Rand.: A random value between zero and the set value (positive or negative) is added.

 

Reverse: The parameter value is reversed within its value range (no value can be set here).

 

Quantize: The parameter value is quantized to a multiple of the set value.

 

Qua & Min: Like Quantize, but the quantization does not fall below the set value (a combination of the Quantize and Min functions, with the same set value).

 

Expon.: The parameter value is scaled exponentially. The extreme values (0 and 127) remain unaltered. The set value determines the shape of the curve. Positive values result in the exponential scaling of data (increasing input values remain lower for longer, and then rise quickly), and negative values result in the logarithmic scaling of data (decreasing input values remain higher for longer, and then drop off more quickly).

 

Crescendo: This only works if the Inside Position selection condition is selected (crescendos need start and end points). Crescendo creates a smooth alteration of the current parameters, between the set value boundaries.

 

Rel.Cres: This only works if the Inside Position selection condition is selected. The effect is similar to that achieved by Crescendo, but the previous values of the parameters being altered are taken into account when the crescendo is created, preserving the relative feel of the original.

 

Use Map: The set map will be used when this operation is selected (see Using the Map).

Link to comment
Share on other sites

Hi all :D

 

I'm attempting to do some fancy-dancy polyrhythm stuff in the piano roll.

 

Basically, all notes event are at an interval of 3 1/4 note. I would like to "stretch" these notes so that the interval between notes 1 and 2 is more or less 3 1/4 notes, 2 and 3 is more or less 4 1/4 notes, 3 and 4 is 5 1/4 notes, etc. In Ableton Live, this kind of operation could be done with the "Stretch Notes" function, in case anyone has experience with that...

 

If it makes it any easier, I'm not worried about Note Length at this point, only Note Position.

 

Any ideas?

 

In your screenshot the distances are in 1/16 notes, do I understand correctly that you want these same distances, but in 1/4 notes? So effectively all distances become 4 times bigger then they are now? If so, Jordito's suggestion should work, as relative distances are preserved, look at my example, that I started exactly like your example and then stretched 4 times:

 

930914900_pic2012-07-09at12_43_36.thumb.PNG.5435be75d60493487b01fff398f3d193.PNG

Link to comment
Share on other sites

Simply drag the lower right corner of the region (in the Arrange) while holding down the option key.

Thanks for this. Unfortunately, I definitely did not mean Stretch Notes. I mistyped (I edited my original post to reflect). :?

 

Your best bet may be to check out the manual, and read about Transform [...]

Agreed, I was thinking this is the next logical step, I was just hoping someone had experience with this kind of operation.

 

[...] or this tricky solution: insert tempo changes ti get the audible results you want, and when you're done, bounce that file into an audio file. Now, go back to your original tempo, place theaudio file where you want it, and you have the results you want.

I was considering this, and I think it's what I might end up doing.

 

To further clarify, what I would normally get out of dragging the lower left corner of the MIDI region while holding the option key is a linear increase in Note Position intervals. But what I want is an exponential increase of intervals.

 

Even further clarification:

+--------+-----------+-----------+
|  Note  |  Pos      |   A       |
|  #1    |  1 1 1 1  |  n/a      |
|  #2    |  1 1 4 1  |  . . 3 0  |
|  #3    |  1 2 4 1  |  . 1 0 0  |
|  #4    |  1 4 1 1  |  . 1 1 0  |
|  #5    |  2 1 3 1  |  . 1 2 0  |
|  #6    |  2 3 2 1  |  . 1 3 0  |
|  #7    |  3 1 2 1  |  . 2 0 0  |
|  #8    |  3 3 3 1  |  . 2 1 0  |
+--------+-----------+-----------+
A = Distance from beginning of previous note to beginning of current note

 

Notice that each distance/interval is increased by . . 1 0 at each note event.

 

Also, I want to perform this operation on about 300 note events.... so manual edits are out of the question. Further, the interval "increase" size does not matter so much. I might want intervals in multiples of 1/4 note or 1/16 notes or even 1/3 notes.

 

Thanks for the replies, everyone!

Link to comment
Share on other sites

Your best bet may be to check out the manual, and read about Transform, or this tricky solution: insert tempo changes ti get the audible results you want, and when you're done, bounce that file into an audio file. Now, go back to your original tempo, place theaudio file where you want it, and you have the results you want.

 

What you want to achieve is in fact a ritardando (gradual slowing down of tempo). If you intend to apply that ritardando only to specific track(s) and not to the entire project, then FlowerPower's tricky suggestion is unavoidable and does work in one go.

Try using the Global Track / Tempo Track facility. This allows you to actually draw the curve/line for your tempo change and offers you to create up to 16 different curves you switch from one to the other, easing the comparison between them.

It is also possible to re-transform that audio back to MIDI region (via the Sample Editors' Audio to Score) providing that your audio is a melodic-monophonic one. Some parameters tweaking will be required to obtain best result pitch-wise. It is only then that you will actually see the spacing of the notes you described; before that, the sought result would remain in the audible domain.

 

BTW if you intend to apply this exponential spacing to 300 consecutive notes, you will end up with a very very very long audio file!! :shock:

I am curious of the purpose of this procedure?

Link to comment
Share on other sites

What you want to achieve is in fact a ritardendo (gradual slowing down of tempo).

Thanks for the info! Having known this name earlier would have been super helpful. :lol:

 

If you intend to apply that ritardando only to specific track(s) and not to the entire project, then FlowerPower's tricky suggestion is unavoidable and does work in one go.

That's what I thought, and I ended up going with that, in the end.

 

It is also possible to re-transform that audio back to MIDI region (via the Sample Editors' Audio to Score) providing that your audio is a melodic-monophonic one.

Even though bouncing the audio track with Tempo Automation in place did the trick for me, I also tried this method and I have to say that this is what I will end up doing in the end. I had very good results creating a clear and precise sound with the ES2 (that Audio to Score would have few issues analyzing), recreating the ritardendo with this instrument and bouncing down to audio, then finally using Audio to Score. That seemed to do the trick.

 

I am curious of the purpose of this procedure?

To be specific, I have a two bar phrase that looks a little bit like this:

1469578013_ScreenShot2012-07-10at6_51_08PM.png.82cf3bf5ddefd1e3adf02f384b438520.png

 

This phrase repeats 31 times, for a total of 64 bars. My intention was to perform the ritardendo on only the top part of this region and only very slightly, to create a drifting effect. If that makes any sense...

 

Thanks for the response, Atlas007 :D

Link to comment
Share on other sites

I know this is overkill but I found another way to achieve your exponential spacing (ritardando) skipping the audio back and forth steps:

 

-In the Global Tracks / Tempo track, create your curve (two dots are sufficient, one at each end of the occurring change)

-Select the notes to be spaced either in the Piano Roll or the Event Editor

-in the Functions menu: select Lock SMPTE Position (all the notes to be spaced should show a padlock in the Event Editor)

-Go back to Global Tracks / Tempo track and select a different Alternative, this would set back the tempo back to 120 for the whole project and spaces your notes exponentially.

-Optionally, you could Unlock SMPTE Position (which has no more effect on the obtained result.

 

You will probably have to re-size you region in order to encompass all the notes.

Interestingly, this method also alter the notes lengths accordingly. Which you could correct easily with the Transform.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...