[LAU] [ANN] + Re: Re : MIDI clock & sync

Gabriel M. Beddingfield gabriel at teuton.org
Sat Aug 1 08:29:27 EDT 2009

Hi Julien,

On Sat, 1 Aug 2009, Julien Claassen wrote:
> Sorry, another reply here too.
>  So I'm really confused now and don't know what is what and where it belongs 
> anyway. Here's what I imagined I could do:
> Start the jack_midi_clock app, send the clock data to my alsa sequencer based 
> midi-recroding app and use this to sync it with an audio app. Can I do this, 
> or not?

First, MIDI Clock is pretty basic (and unreliable) for synchronization. 
So if you're trying to sync program A and program B with MIDI Clock -- 
you're going to need some aspirin.  However, if you have a hardware synth 
that sets its LFO's based on the MIDI Clock, this works great.  I haven't 
implemented START/STOP/CONTINUE/LOCATE commands yet, because (a) I don't 
need them, (b) I don't know if anybody else needs them.  When you start 
using these types of transport controls, IMHO it's best to find a 
different transport mechanism.  But, if someone wants it... it should be 
simple to add.

Here's how I use it.  Sorry if these instructions are pedantic.  I think 
you already know about 99% of what I'm writing below...


   + A program that will act as the JACK Transport Master,
     and also provides Bar-Beat-Tick info (including tempo).
     (E.g. 'klick')

   + jack_midi_clock


1. In qjackctl or CLI, JACK with the alsa MIDI bridge:

    $ jackd -R -d alsa -r48000 -p128 -n2 -Xseq

2. In qjackctl, click the 'Connect' button.

3. Start up your programs (including jack_midi_clock).

4. Go to the ALSA tab.  Under writable Clients, look
    for your device.  Count if it's the 2nd one down
    or the 3rd one down or whatever.

5. Go to the MIDI tab.  This is the "JACK MIDI" tab.
    Under "Writable Clients" expand them and find your
    ALSA device.  Click on it to highlight it.

6. Click the midi_out port of "Jack MIDI Clock".

7. Click the "Connect" button at the bottom to connect
    the two.

8. Start the transport rolling.  In qjackctl, that's
    the big [|>] button.


I connect jack_midi_clock to a hardware synthesizer.  It doesn't receive 
START/STOP or anything... just uses the MIDI Clock to set the tempo for 
its internal sequencers and LFO's.


More information about the Linux-audio-user mailing list