I’ve routed MIDI Clock from one looper to another using a MidiSport 2x2 interface, and wound up with a bad case of MIDI Jitter. (oooh, great band name: “Clint and the Midi Jitters”)
First, the case that works: MIDI clock directly from Looper A to Looper B using a single DIN5 cable.
After a loop is set up on Looper A, a loop recorded in time with Looper B sounds like this:
WAV: Dropbox - MidiSyncBug_01_DirectMidiClkLinkBetweenLoopers_InitalRec_noJitter.wav - Simplify your life
MP3: Dropbox - MidiSyncBug_01_DirectMidiClkLinkBetweenLoopers_InitalRec_noJitter.mp3 - Simplify your life
Second, the case with MIDI Jitter: MIDI clock routed from Looper A, through a MidiSport interface, through Cantabile, back out the MidiSport, then to Looper B:
After a loop is set up on Looper A, a loop recorded in time with Looper B sounds like this:
WAV: Dropbox - MidiSyncBug_02_MidiClkThruCantabile_InitialRecording_Jitter.wav - Simplify your life
MP3: Dropbox - MidiSyncBug_02_MidiClkThruCantabile_InitialRecording_Jitter.mp3 - Simplify your life
I am guessing this is caused by jitter - variability in the arrival times of the [F8] single-byte Midi Clock commands.
A quick calc: The RC-505 produces 24 Midi Clock commands per quarter note. At 120BPM or 2 quarter-note beats per second, Looper A is producing 48 Midi Clock messages per second. That’s about 21 msec between MIDI Clock messages.
Using a 48 sample buffer at 48KHz gives a buffer delay of 1msec, which I expect to be the approximate variability between arrival of Midi Clock messages when routed through Cantabile. That’s a jitter of 1 part in 21 (i.e. 1msec in 21msec), or a variability of 5.7 BPM at 120 BPM, which is kind of a disaster.
I suspect that the receiving looper is experiencing this variability and getting a different timing from the original recorded time, so it is time-stretching my loop (poorly) and getting the stuttering sound.
This kind of blows the whole two-loopers-in-synch idea for me …
Any thoughts welcome …