[Note: I have also posted this in the Notation/Sequencing forum -- if this is not kosher, please advise and I will take appropriate measures. I'm not sure where I should ask this question, really.]

Here is what I want to do (and I'm having a hard time doing it efficiently):

Suppose I have an audio recording of a freely timed, improvisatory piece of music that fits, more or less, into a time signature like 4/4. It speeds up, it slows down, sometimes it swings, sometimes it doesn't, it uses heavy rubato, but it still feels like 4/4.

Now suppose I want to transcribe this using MIDI notation. I load up an appropriate program, load in the .WAV file of the performance (or even a video), and start entering MIDI notes to correspond with the transients of the notes in the audio.

In the software, I see that my MIDI notes are way off the beats, of course, since the player is using a highly idiosyncratic 'internal' metronome. Of course I can edit the MIDI notes, and move them to match the beats, BUT THAT'S NOT WHAT THE PLAYER PLAYED. Suppose his 'one' is late and his 'three' is early. I can enter that as played.

But what if I want to change the program's BEATS to match the MIDI notes, and not the other way around? In other words, instead of moving the MIDI notes to match the counts, move the counts to match the existing MIDI notes? So when the piece plays back, the 'metronome' will sound drunkenly out of time – but a transcribed score using these notes would show all the notes in their proper places; only the PLAYBACK would perfectly reflect the actual transcribed rhythm. In other words, I want 'one' to be notated as 'one' NO MATTER HOW EARLY OR LATE IT IS PLAYED. I mean, even if it's a whole goddamned MEASURE early or late. I want to control when 'one' is called 'one' – not leave it to the software.

Sibelius does this in a way; if you load in a MIDI score, Sibelius will render it regularly but play it back with the original timing with its 'Live Playback' feature – UNLESS the performance is so far out of regular time that Sibelius can't handle it, which is certainly the case with the kind of music I'm doing.

Is there another way?