For the sake of sheer geekishness I just did some Loop Back MIDI timeing tests on my FirePod using Live.
This is on a 2GHz dual core PC laptop running vista.
Basic method:
set record quantise off.
create one bar midi clip on track 1 with a few chords exactly on the beat.
send output to FirePod with MIDI out looped back to MIDI in.
set track 2 to record, monitor off.
global quantise = 1 bar.
launch the clip on track 1 then launch recording on track 2 for a bar or two.
build a nice collection of recorded clips with different settings.
For comparison some recordings were done via MIDI Yoke.
Variables:
FirePod MIDI or MIDI Yoke
Delay Compensation on/off
MME or DirectMusic
FirePod ASIO driver @176 samples or SonicReality (built in soundcard) ASIO driver @2000 samples
In the image:
the first track (white) is the original midi being sent out.
The next two tracks - MYFP and MYSR - are using MIDI Yoke and the FirePod / SonicReality - Delay compensation had no effect on this setup and using DirectMusic with MIDIYoke severely mangled the data.
All remaining tracks are recorded via the FirePod's MIDI interface.
Tracks 4 - 7 use MME and tracks 8 - 11 use Direct Music
Tracks 4, 5, 8 and 9 were recorded with the FirePod ASIO driver selected
Tracks 6, 7, 10 and 11 were recorded with the SonicReality ASIO driver enabled.
In each pair of tracks with the same colour the second one has Delay Compensation turned on
Here are the results
It seems that time travel is possible after all!
Look at the bottom of the picture to see the time in minutes, seconds and thousandths.
Scroll to the right because the note off timing is interesting too.
I'm not sure what conclusions can be drawn from this except that ableton must be doing some interesting adjustments behind the scenes, and that getting the right combination of settings can make quite a difference to the result.
Edit - further thoughts...
The notes recorded via DirectMusic are probably adjusted by Live to reflect the Time Stamp from the hardware. This probably has little relation to the actual MIDI delay, since clearly a message can't possibly be recieved before it is sent. Either the time stamp must be wrong or Live is overcompensating in some way.
The notes recorded via MME driver without Delay Compensation probably give a better indication of the actual delays.
It seems bizzar that the choice of ASIO driver affects the MIDI timing so much. I'm sure that if I could understand this then I would know a lot more about audio software than I do now.