---
name: "jack_midi_clock"
section: "1"
platform: "linux"
package: "jack-midi-clock"
version: "0.4.3-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/jack_midi_clock"
---

# jack\_midi\_clock(1)

JACK MIDI Beat Clock Generator

## NAME

jack\_midi\_clock - JACK MIDI Beat Clock Generator

## SYNOPSIS

**jack\_midi\_clock** \[ *OPTIONS* \] \[*JACK-port*\]*\**

## DESCRIPTION

jack\_midi\_clock - JACK app to generate MCLK from JACK transport.

## OPTIONS

- **-b** \<bpm\>, **--bpm** \<bpm\>

  default BPM (if jack timecode master in not available)

- **-B**, **--force-bpm**

  ignore jack timecode master

- **-d** \<sec\>, **--resync-delay** \<sec\>

  seconds between 'song-position' and 'continue' message

- **-J**, **--jitter-level** \<percent\>

  add artificial jitter to the signal 0..20% default: off (0)

- **-P**, **--no-position**

  do not send song-position (0xf2) messages

- **-T**, **--no-transport**

  do not send start/stop/continue messages

- **-s**, **--strict-bpm**

  interpret tempo strictly as beats per minute (default is quarter-notes per minute)

- **-h**, **--help**

  display this help and exit

- **-V**, **--version**

  print version information and exit

jack\_midi\_clock sends MIDI beat clock message if jack-transport is rolling. it also sends start, continue and stop MIDI realtime messages whenever the transport changes state (unless **-T** option is used).

In order for jack\_midi\_clock to send clock messages, a JACK timecode master must be present and provide the tempo map (bar, beat, tick). Alternatively the **-b** option can be used to set a default BPM value. If a value larger than zero is given, it will be used if no timecode master is present. Combined with the **-B** option it can used to override and ignore the JACK timecode master and only act on transport state alone.

Either way, jack\_midi\_clock will never act as timecode master itself.

Note that song-position information is only sent if a timecode master is present ad the **-P** option is not given.

To allow external synths to accurately sync to song-position, there is a two second delay between the 'song-position changed' message (which is not a MIDI realtime message) and the 'continue transport' message. This delay can be configured with the **-d** option and is only relevant for if playback starts at a bar\|beat\|tick other than 1\|1\|0 in which case a 'start' message is sent immediately.

jack\_midi\_clock runs until it receives a HUP or INT signal or jackd is terminated.

See also: [jack\_transport(1)](/jack_transport/1.md), [jack\_mclk\_dump(1)](/jack_mclk_dump/1.md)

## REPORTING BUGS

Report bugs to Robin Gareus \<robin@gareus.org\>\
 Website: https://github.com/x42/jack\_midi\_clock/

## COPYRIGHT

Copyright © GPL 2013 Robin Gareus \<robin@gareus.org\>\
 Copyright © GPL 2009 Gabriel M. Beddingfield \<gabriel@teuton.org\>
