Jump to content
Paul DeRocco

Bug in Fit Improvisation

Recommended Posts

I just used Fit Improvisation on a piece that had lots of rubato playing and long pauses. It basically works, but it doesn't recompute the note durations properly. I suspect it adjusts the duration based on the new tempo at the start of the note, but if the note is long and the tempo changes in the meantime, it ends at the wrong time. I found several spots in my song where the end of the note wound up on the wrong side of a Sustain Switch On control. Having to go carefully through the entire piece to find notes that are either chopped off early or that hang on way too long is tedious.

I haven't tried Set Measure/Beat At Now yet, but I expect it has the same problem. The only solution is to keep track of which notes are still on, and keep adjusting their durations whenever a new tempo is generated or encountered. It's not trivial, but it's important.

  • Like 1

Share this post


Link to post
Share on other sites

I think you might be right about SM/BAN not always handling durations correctly when they cross 'set' points. I recall looking into this once, but don't remember if it was with Fit Improv or SM/BAN.  But I also often record solo piano without a click using liberal rubato and sustain, and have rarely encountered problems with notes getting unintentionally sustained (or failing to sustain) because things got out of sync. But I guess it might depend on your playing style. At a glance, placement of pedal events in the snippet you shared  looked pretty typical.

I'd be interested in looking an example that went wrong in Fit Improv. As I mentioned in the other thread, SM/BAN doesn't force you to set every beat which might help avoid the problem.

EDIT: Here's a typical solo piece of mine for reference, though I don't think I ever got around to 'setting' this one. The main reason I would do it with a piece like this would be to convert the MIDI to notation.

Edited by David Baay

Share this post


Link to post
Share on other sites

Nice piece, David. I think those are the kind of tempo changes that Fit Improv might screw up on.

I've attached two small projects, one before and one after, that demonstrates the problem. (They're the same sequence I posted in that other thread.) There's some stuff that appears right after 7:02 in the before, and ends up on 6:01 in the after. You can see that the proportions of the notes are way out of whack. In the after, the three upper notes at 6:01 are now shorter than the released period of the Sustain. Also, the notes before 6:01 extend almost up to 6:01, while the same notes in the before end much earlier. You don't notice too much of a difference because the actual durations are determined by the Sustain, but at that point, and at a few others in the full sequence, it matters.

It really does look like the programmer did it the "dumb" way, recalculating the note duration based purely on the tempo at the start of the note. But the version you posted in the other thread that you did with Set Measure/Beat At Now doesn't have this problem, so it's obviously not using the same algorithm. I guess I'll just have to use SM/BAN until (if) they fix this bug.

FitImprovTest.zip

Share this post


Link to post
Share on other sites

I haven't checked your 'Before' project, but I suspect you deleted the wrong guide track notes when cleaning up the dupes. IIRC, the earlier ones were the correct ones

When I use Fit Improv in my cleaned up project, it comes out essentially the same as with SM/BAN, and does not have the 'out of whack proportions' in that region that yours does.

 I also tightened up the timing of my cleaned up project to snap the guide notes exactly to the corresponding notes in the original track where possible. That could  also have made the difference.

I'm attaching that cleaned up project. I changed the duration, velocity and pitch (to C4) of the guide track notes so they could be easily seen and distinguished from the musical track when looking at both in the PRV. The clip is muted so it's not heard on playback through TruePianos.

EDIT: Looked at this some more, and can see Fit Improv miscalculating the duration of long notes crossing tempo changes vs. SM/BAN getting it right. SM/BAN re-calculates durations to maintain the absolute timing of  Note Offs while Fit Improv does not.  Having the guide track perfectly aligned did help avoid the issue for some shorter notes crossing a single tempo change, but not for the whole notes crossing several changes.

FitImprovTest - Dupes Removed and Guide Timing Optimized.cwp

Edited by David Baay

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...