I just wanted to thanks OP for the great post and describe my working setup!
My master clock is Ableton. I've got 5 types of devices to sync at the same time:
- VST / Ableton Samples / Ableton Instruments
- Modular INs/OUTs triggered by Ableton with ES-8 input/output in ADAT mode + a 24PPQN clock
- Modular INs, triggered by a sequencer in the modular with the modular's clock
- Elektron's Digitakt with Overbridge VST (which is a bit different from a standard VST)
My interface is a Focusrite 18i20 3rd gen, Buffer size is set to 64 samples (latency is IN 4,04ms / OUT4,04ms)
I spent ~3 nights brute forcing every combinations of settings, messing around with Ableton's latency compensation and driver error, and the only solution that worked for me is the one OP described (monitoring/rec tracks separately + record with a dedicated track fed from monitoring track, almost no driver error compensation). Everything is now in perfect sync (not sample accurate but almost) in monitoring AND in recording mode, and my recorded samples start right on the grid.
Look at this beauty
For each external instrument I have this midi monitoring track and rec track using internal Ableton's audio routing, just as OP describes. I put my audio effects on the group.
(sorry it's in french) In options I use "Global latency compensation" but no "Reduced Latency when monitoring"
In settings I didn't configured Driver Error's compensation as described in Ableton I/O Lesson. Keep in mind this setting is for recording audio from your interface, and seems to be only useful when you work with external mixers/direct monitoring in your setup (which I don't). For some reason, when the value is !=0, it seems to enable something in overral Latency reduction computed by Ableton, that's why I put it to something non-null. I had to tweak it a little to reduce the flanger effect OP was talking about when playing a recorded sample AND monitoring the same sound at the same time.
I send my clock to the modular with a sample, triggered with a simpler to a ES-8 output (plugged to a Pamela's New Workout) at 24PPQN. There's a great sample/midi clip you can download on E-RM's website
(I don't have a Multiclock but you can just use this). I don't use CV Tools' Clock Out (it works ~OK but has to be on a SEND channel in Ableton otherwise it starts with a latency). I don't trust CV Tools anymore.
I have to add/emphasis on two specific points though:
- CV Tools are great but the behave very poorly with Ableton's Latency correction. We have to use an External Audio Effect instead of "Audio From" in most CV Tools (CV Instrument for example). You can do this on the same midi track, it works. I also had to replace my CV trigger with a drum bus playing the same sample as my clock with a simple in "1 shot" mode + external audio effects. You can use an extra chain to get the return input from the modular (Audio From) with an extra External Instrument with No Output
- I also had to tweak latency in the "Hardware Latency" settings of all my External Instruments/External Audio Effects:
- ~14ms for my midi external instruments (MS-20)
- ~11ms for a drum rack that sends triggers to my modular drums (different outputs to ES-8 but just one input from ES-8)
- ~45ms (!) for a standard "External Audio Effect" put after any CV Instrument (see first point)
More screenshots :
No delay on any track.
Despite having to set those enormous latency settings to compensate CVTools, I now have 0 desync between any of my midi instruments, drum racks, vst and modular. I'm happy, just wanted to share