Illogical MIDI / external instrument timing
Posted: Fri Feb 15, 2008 9:10 pm
Try this simple test:
Set Tempo to 120bpm - just to make timings easy to read.
Setup a sound on a hardware synth: select an init type patch - ie a hard on, hard off beep type sound so you can easily see in a resulting sample the start and end of the sound. make sure you cant hear sound from the synth directly via an external mixer, ie so you cn only hear it through ableton live.
Create 4 tracks:
Track 1. An audio resample track - set it monitor off, volume to zero so it cant interfere with what you hearing. Set its audio input to "Resample".
Track 2. A Midi track - set its MIDI OUT to to whatever port and channel you have your hard synth on.
Track 3. Create an Audio track, set its monitor mode to IN, set its audio input to whatever audio input the sounds from your hardware synth comes in on.
Track 4. Create a Midi track. Drop an external instrument into it, configure the instrument to MIDI out as per track 2 above, audio in as per track 3 above.
Make sure all latency compensation options are on zero, in the tracks, in the external instrument and in the midi clock send/receive in preferences for the midi port.
Now make a 1 bar midi clip with a 16th duration note on every beat - C5 should be a good note as thats not far off 1Khz - stick that clip in track 2.
Make another 1 bar clip like the above, with the note dropped by a couple of octaves - ie C3 - stick that on track 4.
For simplicity - stick them both in the same scene.
OK, so logically playing both of these clips should result in two notes being played simultaneously with no differences in timing etc.
Wrong!!
Play them - its a complete mess.
Now to try and untangle it a bit. Set the audio on track 4 to zero: you can still hear two distict notes way way out of sync, so we now know that the MIDI from each track is reaching the synth at very different times - Bug #1.
Now set the audio volume on tracks 3 and 4 back to 0dB, and now stop one of the MIDI clips.
Now you can distinctly hear an each - I assume the amount of echo is some multi-ple of your audio interface latency? So now we know that the audio latency is different between the two tracks - Bug #2.
For Bug #3 - you need a synth with an arp or sequencer - its seems you need to set a rediculous high advance on the midi clock out to get an arp on an external synth in sync when using the external instrument plugin -120ms, compared to 6ms instrument latency, -17ms trrack advance if I dont use the external instrument plugin.
BTW - the purpose of setting all the latencies to zero in the above is to take away all the nomral setup options for latency and just focus on these now completely incomatible modes of use of external gear.
Most bizarrely, when trying to get my radias in sync, I found the following:
For playing notes, I needed the instrument latency set to 6ms. In order to get a drum loop in sync with ableton's click, I had to set the clock out from live to -120ms!!!. Then it still seemed to be audiabley drifting in and ot of sync.
The bottom line here seems to be that external instruments are severly broken still - this applies to 7.0.1 and 7.0.2.
Can someone else please try this - perhaps some more test and patterns of behaviour might tie this down - maybe something is screwed here?
Also I have just gone through all 30 or so midi port pairs setting them all the MME rather than direct music - what a complete pain to have to do that.
Set Tempo to 120bpm - just to make timings easy to read.
Setup a sound on a hardware synth: select an init type patch - ie a hard on, hard off beep type sound so you can easily see in a resulting sample the start and end of the sound. make sure you cant hear sound from the synth directly via an external mixer, ie so you cn only hear it through ableton live.
Create 4 tracks:
Track 1. An audio resample track - set it monitor off, volume to zero so it cant interfere with what you hearing. Set its audio input to "Resample".
Track 2. A Midi track - set its MIDI OUT to to whatever port and channel you have your hard synth on.
Track 3. Create an Audio track, set its monitor mode to IN, set its audio input to whatever audio input the sounds from your hardware synth comes in on.
Track 4. Create a Midi track. Drop an external instrument into it, configure the instrument to MIDI out as per track 2 above, audio in as per track 3 above.
Make sure all latency compensation options are on zero, in the tracks, in the external instrument and in the midi clock send/receive in preferences for the midi port.
Now make a 1 bar midi clip with a 16th duration note on every beat - C5 should be a good note as thats not far off 1Khz - stick that clip in track 2.
Make another 1 bar clip like the above, with the note dropped by a couple of octaves - ie C3 - stick that on track 4.
For simplicity - stick them both in the same scene.
OK, so logically playing both of these clips should result in two notes being played simultaneously with no differences in timing etc.
Wrong!!
Play them - its a complete mess.
Now to try and untangle it a bit. Set the audio on track 4 to zero: you can still hear two distict notes way way out of sync, so we now know that the MIDI from each track is reaching the synth at very different times - Bug #1.
Now set the audio volume on tracks 3 and 4 back to 0dB, and now stop one of the MIDI clips.
Now you can distinctly hear an each - I assume the amount of echo is some multi-ple of your audio interface latency? So now we know that the audio latency is different between the two tracks - Bug #2.
For Bug #3 - you need a synth with an arp or sequencer - its seems you need to set a rediculous high advance on the midi clock out to get an arp on an external synth in sync when using the external instrument plugin -120ms, compared to 6ms instrument latency, -17ms trrack advance if I dont use the external instrument plugin.
BTW - the purpose of setting all the latencies to zero in the above is to take away all the nomral setup options for latency and just focus on these now completely incomatible modes of use of external gear.
Most bizarrely, when trying to get my radias in sync, I found the following:
For playing notes, I needed the instrument latency set to 6ms. In order to get a drum loop in sync with ableton's click, I had to set the clock out from live to -120ms!!!. Then it still seemed to be audiabley drifting in and ot of sync.
The bottom line here seems to be that external instruments are severly broken still - this applies to 7.0.1 and 7.0.2.
Can someone else please try this - perhaps some more test and patterns of behaviour might tie this down - maybe something is screwed here?
Also I have just gone through all 30 or so midi port pairs setting them all the MME rather than direct music - what a complete pain to have to do that.