BOSS RC-500 not playing well with MIDI sequencer

Started by szszoke, December 12, 2021, 07:14:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

szszoke

Hello!

I have a MIDI sequencer and an RC-500 looper. I want my sequencer to be the MIDI clock leader and I want the RC-500 to be the MIDI clock follower.

This should work in theory, as it is possible to sync up two RC-500 units with each other. In practice hovewer there are some issues that prevent this setup from being feasible.

The concrete issue is that the clock leader will always reset the MIDI clock when it starts the transport. I suppose this behavior exists so that T0 is always when the user started the playback. This is causing issues with the RC-500 when it is the clock follower, because when the clock is reset, the next clock message is out of time. The looper interprets this as a drastic increase in tempo and time-stretches the recorded tracks accordingly. Eventually the error introduced by resetting the clock disappears and everything goes back to normal but until then the audio is mangled by the low quality time-stretching algorithm in the looper.

I did some digging and captured waveforms from two sequencers: Elektron Digitone (FW 1.31) and Novation Launchpad Pro MK3 (FW 2.1). I used an oscilloscope with serial decoding and I set up a one-shot trigger on the transport start byte (0xFA).

Here are some pictures:

Digitone


Launchpad


You can see several pulses on the waveform. Each pulse represents a MIDI message. You can see the MIDI messages in the table.

The fourth pulse is transport start message on both pictures. The rest are clock messages. You can see that everything seems evenly spread out unitl the fourth message, then it looks like the clock pulses start over from a point that is too early or too late.

At this point I don't know if the two sequencers behave the same way. If I'd have to guess, the Digitone is resetting the clock and the Launchpad is just bad at keeping a stable clock.

So, with these findings I did the same test on the RC-500 and I found that it has the same behavior, i.e. the clock pulses restart at an unexpected time after a start message is sent, but I also found that the RC-500 sends a SysEx message when transport is started.


F0 41 10 00 00 72 12 00 00 00 08 78 F7


I tried to force this message into the Roland format, where

F0 is the SysEx start byte
41 is Roland's manufacturer ID
10 00 00 72 is the device ID
12 means it is a WRITE command
00 00 00 08 is the payload
78 is the CRC
F7 is the SysEx end byte

If I only look at the payload then 0x78 would be the actual CRC.

Assuming that the RC-500 can handle a MIDI transport start followed by a clock reset if it is done by an another RC-500 I cannot help but think that the engineers at Roland were aware of this issue and chose to solve it in a way that only works with two RC-500 units.

To get some more insight, it would be nice to find out what the SysEx message actually does.

I am wondering if anyone has an idea.

The best way to see if this message has anything to do with the MIDI clock reset is to actually make the sequencer send it but I don't have a way to do that right now.

Boisdelac

Assuming you got a RC 500 and you got a PC (Mac or Windows) running your DAW as a MIDI-sequencer. What about if you run a second MIDI-app like MIDI-Ox on your computer acting as a MIDI-clock-Master for both, RC and the MIDI-sequencer

admin_shawnb

#2
I bet it follows the RC-300 sysex.

Folks deciphered the RC-300 sysex here:
https://www.vguitarforums.com/smf/index.php?topic=7678.0

That thread explores methods to sync the Boss loopers.  I recommend reading the whole thread.