Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Midi Time Clock sync #1051

Open
EclectickMedia opened this issue Mar 11, 2020 · 2 comments
Open

[Question] Midi Time Clock sync #1051

EclectickMedia opened this issue Mar 11, 2020 · 2 comments
Milestone

Comments

@EclectickMedia
Copy link

Im in love with the software so far, but ive found no mention of MTC sync. Im hoping to use carla instances as "rack mounted" synths to extend a hardware synth/groovebox setup, but this becomes less useful if i cant modify tempo/transport over MTC.

its use across the hardware world really makes me want to lean on it. Having to update arpegiators and synced Leos manually is not ideal...

Is MTC sync a supported (or upcoming) feature? If it is, where would I find docs for setting it up?

@falkTX
Copy link
Owner

falkTX commented Mar 30, 2020

There is a project which I have worked on that support MIDI Clock, and shared similar code regarding time to carla (since I coded both parts) called mod-host.
When using carla with jack transport, other applications (like mod-host or ardour) can be the transport master and be slaved to midi clock. It is not the simplest setup though.

In any case, I definitely see the usefulness of this request.
Once things stabilize on the mod-host side (mostly just need to get the jitter reduction algorithm right) I can import its code into Carla.
Expect this for Carla v2.2

@falkTX falkTX added this to the 2.2 milestone Mar 30, 2020
@falkTX falkTX modified the milestones: 2.2, 2.3 Jul 9, 2020
@SpotlightKid
Copy link

I think there are two features that need to talked about separately:

  1. Syncing the tempo of arps, LFOs, delays, etc. to an external clock or the host tempo.

  2. Controlling the transport state (start / stop / pause etc.) and position via MIDI.

For 1. MIDI Clock (status byte 0xF8) is usually sufficient. If an external device should provide the MIDI clock, some means of syncing the host tempo is needed. It sounds like the mod-host solution falktx is talking about does that?

In th meanwhile, I suggest that Carla takes the role of the jack transport timebase master. I.e. you set the tempo in Carla's transport settings. You can then use the mclk.l2 plugin to generate the MIDI clock, synced to the host tempo, and send it to your MIDI outputs.

  1. To control the JACK transport state via MIDI, there are several solutions; one is a simple JACK client, which translates specific MIDI commands into JACK transport commands, such as this one.

This could be expanded to also control the JACK transport position via further MMC or MTC Cueing commands.

@falkTX falkTX modified the milestones: 2.3, 2.4 Apr 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants