Remapping MIDI Tempo to Bring Free Playing in Line?

Author
kelsoz
Max Output Level: -86 dBFS
  • Total Posts : 235
  • Joined: 2007/06/16 19:09:06
  • Location: Pennsylvania
  • Status: offline
2011/06/08 11:48:46 (permalink)

Remapping MIDI Tempo to Bring Free Playing in Line?

I have a single midi track containing an "expressive" piano solo - and the tempo is far from even.  For study purposes I would like to alter, or remap, the tempo so that the solo plays in line with beats and measures (knowing I'll be distorting the feel).   So this is like audio snap for midi.

I have considered bouncing it to audio, then working with audio snap.  But then I won't have midi when I'm done, and I want midi when I'm done.

I have done this in the past by hacking each measure in PRV.  But tedious, and this is a long piece.

So, is there any way to approach this problem in style in Sonar?

Thanks.


kelsoz

Dell Desktop PC / Win7 HomePrem 64 / Core i5 760 (quad, 2.8GHz) / 8GB / 1 TB / E-MU1616 PCI+Realtek PC Audio / Event 6 Pro Monitors / BIAB 2012.5 / Sonar X3c/64 Bld 216
#1

9 Replies Related Threads

    garrigus
    Max Output Level: 0 dBFS
    • Total Posts : 8599
    • Joined: 2003/11/05 17:23:21
    • Location: www.garrigus.com
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/08 12:11:42 (permalink)
    Take a look at the feature called Fit Improvisation.

    Scott

    --
    Scott R. Garrigus
    * Author of the Cakewalk Sonar and Sony Sound Forge Power book series: http://www.garrigus.com/
    * Author of the Cakewalk Sonar ProAudioTutor video tutorial series: http://www.proaudiotutor.com/
    * Publisher of the DigiFreq free music technology newsletter: http://www.digifreq.com/digifreq/
    * Publisher of the NewTechReview free consumer technology newsletter: http://www.newtechreview.com/newtechreview/
    #2
    dmbaer
    Max Output Level: -49.5 dBFS
    • Total Posts : 2585
    • Joined: 2008/08/04 20:10:22
    • Location: Concord CA
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/08 13:31:52 (permalink)
    What Scott said.  But here's a bit more info.
     
    I don't know what the piece looks like note-wise, so this may or may not be easy to accomplish ... but here goes anyway.  Make a copy of the track to create the improv beat track.  In that track, remove any notes not on a beat.  If you're in four/four, you should have no notes on anything but those four beats.  Remove multiple notes on a beat.  There must be exactly one per beat.  Fill in any gaps by drawing new notes where there are none on a beat.  Now you've got the improv beat track.
     
    Freeze the original clip.  Then do the process/fit-to-improv operation.  If you do't freeze the original, the fit-to-improve will change the lengths of events in the original track.  When you've got that done and working, you can delete the temporary improve beat track and unfreeze the original.
     
    If the above is way too much work, take a look at project/set-measure-beat-at-now.  That's another way to get to where you want to be.
    #3
    brundlefly
    Max Output Level: 0 dBFS
    • Total Posts : 14250
    • Joined: 2007/09/14 14:57:59
    • Location: Manitou Spgs, Colorado
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/08 14:38:21 (permalink)
    I have considered bouncing it to audio, then working with audio snap.  But then I won't have midi when I'm done, and I want midi when I'm done.



    If you bounce to tracks, rather than freezing, you will still have the MIDI track.


    But I prefer to use Set Measure/Beat At Now for aligning a timeline to a freeform MIDI performance. It's a more manual process, but gives precise and predictable results with not much more work than is required to massage an audio track into a state in which Set Project from Clip might give satisfactory results.


    The original shortcut for Set Measure/Beat At Now was Ctrl-M. I've restored that in X1, and don't recall what the new shortcut is (Ctrl-N, maybe?). Learn that hotkey, and use Tab to move from one MIDI note to the next (Shift-Tab to move back), and you can work through a performance pretty quickly.

    Here's a relatively recent post I wrote with some tips for doing this:

    http://forum.cakewalk.com/fb.ashx?m=2272367

    SONAR Platinum x64, 2x MOTU 2408/PCIe-424  (24-bit, 48kHz)
    Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
    #4
    kelsoz
    Max Output Level: -86 dBFS
    • Total Posts : 235
    • Joined: 2007/06/16 19:09:06
    • Location: Pennsylvania
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/08 19:37:02 (permalink)
    Thanks a lot all.  Since Scott's post I did some experimenting with Fit  Improvisation, and now get what dmbaer said - but looks promising - just what I want.  Now I'll look into Set Meas/Beat.

    I think this will do it.  I'll be back if not.

    kelsoz

    Dell Desktop PC / Win7 HomePrem 64 / Core i5 760 (quad, 2.8GHz) / 8GB / 1 TB / E-MU1616 PCI+Realtek PC Audio / Event 6 Pro Monitors / BIAB 2012.5 / Sonar X3c/64 Bld 216
    #5
    dmbaer
    Max Output Level: -49.5 dBFS
    • Total Posts : 2585
    • Joined: 2008/08/04 20:10:22
    • Location: Concord CA
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/09 14:02:32 (permalink)
    kelsoz


    Thanks a lot all.  Since Scott's post I did some experimenting with Fit  Improvisation, and now get what dmbaer said - but looks promising - just what I want.  Now I'll look into Set Meas/Beat.

    I think this will do it.  I'll be back if not.


    I take one thing back.  In this scenario I don't think you need to lock the original track.  I've experimented with creating an improv beat track to add tempo variations to quantized MIDI data, and the lock is necessary in that case.  But your beat track and music track are already aligned, so the lock probably isn't necessary.
    #6
    kelsoz
    Max Output Level: -86 dBFS
    • Total Posts : 235
    • Joined: 2007/06/16 19:09:06
    • Location: Pennsylvania
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/09 16:11:08 (permalink)
    After playing around a bit I thing I agree with brundlefly that, for my current job, using the Set Measure/Beat At Now method is most direct (and requires less thinking).  I just select the existing note that begins a measure or beat, right click G to set the Now, right click N and key in the measure and beat.

    So I have my midi track sounding "in rhythm" by virtue of the tempo changes that I can see in tempo view.

    NOW, is there a way I can have X1 process to eliminate the tempo changes and equivalently alter each note's Note On and Off value such that the resulting timings are unchanged?  That way I can save as a "clean" midi file to take to another program without the baggage of many temp changes.

    kelsoz

    Dell Desktop PC / Win7 HomePrem 64 / Core i5 760 (quad, 2.8GHz) / 8GB / 1 TB / E-MU1616 PCI+Realtek PC Audio / Event 6 Pro Monitors / BIAB 2012.5 / Sonar X3c/64 Bld 216
    #7
    brundlefly
    Max Output Level: 0 dBFS
    • Total Posts : 14250
    • Joined: 2007/09/14 14:57:59
    • Location: Manitou Spgs, Colorado
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/09 16:32:32 (permalink)

    NOW, is there a way I can have X1 process to eliminate the tempo changes and equivalently alter each note's Note On and Off value such that the resulting timings are unchanged?



    If you think about it, I think you'll realize that's where you were before you did Set Measure/Beat At Now, except that the average tempo of the project timeline bore no resemblance to average tempo of the performance. If you just want an average tempo match, all you would need to do is set the first and last event to find the average tempo, set the initial tempo to match (if the first event wasn't 1:01:000), and delete the other two tempos that are now superfluous.


    But if you want the timeline to match the part, and retain the natural tempo variations. Just leave it as-is, and export the track as MIDI. MID files include tempo information, and all those changes will go with the track to any other DAW.


    If you're actually wanting to eliminate the natural tempo variation in the track, you can just delete every tempo change but the first, and it will be as though you played to a fixed click.

    SONAR Platinum x64, 2x MOTU 2408/PCIe-424  (24-bit, 48kHz)
    Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
    #8
    kelsoz
    Max Output Level: -86 dBFS
    • Total Posts : 235
    • Joined: 2007/06/16 19:09:06
    • Location: Pennsylvania
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/09 18:06:54 (permalink)
    brundlefly - My guess is I'll leave the tempo changes in he midi file and all will be fine - but just to be clear -- 

    My project (one track) now plays with the first beat of every measure of the song, as it might appear on sheet music, playing on the first beat of every measure of the time line, just what I want.  Lets call this "corrected".   And it does this by imposing the various tempo changes I created.

    Now it seems "one" could write an algorithm to adjust the start and end times of all the notes, and set a single tempo, and do it in such a way that it sounds identical to "corrected".  It would be like if I played the corrected midi file (tempo changes and all) into a tape recorder (arcane ref), it would play back at one speed, and corrected.

    Now, just for interest - I saved as a midi file and opened it with Band in a Box, it plays back and looks like "corrected" in its staff view and prv.  I don't see the tempo box value changing or any other sign of tempos changing while playing.  So I'm feeling confused, but in a good way...

    kelsoz

    Dell Desktop PC / Win7 HomePrem 64 / Core i5 760 (quad, 2.8GHz) / 8GB / 1 TB / E-MU1616 PCI+Realtek PC Audio / Event 6 Pro Monitors / BIAB 2012.5 / Sonar X3c/64 Bld 216
    #9
    brundlefly
    Max Output Level: 0 dBFS
    • Total Posts : 14250
    • Joined: 2007/09/14 14:57:59
    • Location: Manitou Spgs, Colorado
    • Status: offline
    Re:Remapping MIDI Tempo to Bring Free Playing in Line? 2011/06/09 18:48:07 (permalink)
    Now it seems "one" could write an algorithm to adjust the start and end times of all the notes, and set a single tempo, and do it in such a way that it sounds identical to "corrected".  It would be like if I played the corrected midi file (tempo changes and all) into a tape recorder (arcane ref), it would play back at one speed, and corrected.


    What I'm saying is that Set Measure/Beat At Now did exactly the opposite of what you're describing to get you where you are. It took the MIDI and converted the start times and durations so that the performance would play back with the same absolute timing, but with tempo changes that make the timeline align to the downbeat events. If you look at the start times and durations in the the Event list view before and after using SM/BAN, you'll be able to see that.

    There's no way to have a the piece play back unaltered while at the same time having everything aligned to a the timeline with one fixed tempo. The best you could do is set an average tempo as I described, and have the performance drift in and out of time with the timeline running at a constant tempo. Or delete all the tempo changes and lose all the timing nuances (except within each measure, since you only Set downbeats).

     Now, just for interest - I saved as a midi file and opened it with Band in a Box, it plays back and looks like "corrected" in its staff view and prv.  I don't see the tempo box value changing or any other sign of tempos changing while playing.  So I'm feeling confused, but in a good way...




    This is a little strange. I'm not familiar with BIAB, but if it's playing back with the same feel, it must be honoring the tempo changes even though it's not showing them. On the other hand, if it ignored the tempo changes in the file, the tempo should sound as steady as it appears. Is the piece rubato enough for you to miss the variation if it's not there?

    SONAR Platinum x64, 2x MOTU 2408/PCIe-424  (24-bit, 48kHz)
    Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
    #10
    Jump to:
    © 2024 APG vNext Commercial Version 5.1