← Back to Syncopet

Help

MIDI clock

Syncopet can lead the tempo: it sends its MIDI clock, and your DAW (Reaper, Bitwig…) or your effect pedals follow it. When you start Syncopet, the DAW starts with it, on the downbeat, and follows every tempo change.

How it works

Compound and odd meters: the MIDI standard always counts in quarter notes. In 6/8, 9/8 and 12/8, Syncopet’s tempo is in dotted quarter notes: a 6/8 at 90 shows as 135 in your DAW. In 5/8 and 7/8, it is in eighth notes: a 7/8 at 200 shows as 100. Everything stays in time; just set the same time signature in your DAW (MIDI clock does not carry it).

Enable it in Syncopet

  1. Open Settings and click Enable MIDI. Chrome asks for permission the first time: accept.
  2. Tick the output(s) that should receive the clock (for example loopMIDI Port). Your choice is remembered.
  3. Start the groove: the MIDI light next to the Play button flashes on every quarter note.
  4. “Send the clock continuously” option: the clock runs even when stopped (useful for pedals that display the tempo). It starts after your first click in the page (browser rule).

The Syncopet tab can stay in the background: the clock keeps running normally.

Windows: loopMIDI

To connect Syncopet (in Chrome) to a DAW on the same computer, you need a “virtual MIDI cable”.

  1. Install loopMIDI (free, by Tobias Erichsen).
  2. Open loopMIDI and click +: a loopMIDI Port is created. Keep loopMIDI open (or start it with Windows).
  3. In Syncopet, tick loopMIDI Port; in your DAW, choose loopMIDI Port as the sync input (see Reaper and Bitwig).

Reload the Syncopet page if the port was created after the page was opened and does not show up.

Linux: virtual MIDI port (ALSA)

Chrome sends to ALSA ports. The simplest way is to create virtual ports with the snd-virmidi module: whatever is sent to a VirMIDI port comes out of the same port on the DAW side.

sudo modprobe snd-virmidi

To create them at every boot:

echo snd-virmidi | sudo tee /etc/modules-load.d/virmidi.conf
  1. Reload Syncopet: VirMIDI 1-0, 1-1… outputs appear (the number depends on your sound cards). Tick VirMIDI 1-0.
  2. In your DAW, choose VirMIDI 1-0 as the sync input.

To check the ports: aconnect -l (and aseqdump -p "VirMIDI 1-0" to watch the messages). With PipeWire or JACK the idea is the same: ALSA ports remain visible.

Reaper

Menu names may vary slightly between versions.

  1. Options → Preferences → Audio → MIDI Devices (Ctrl+P): in the inputs, enable the port (loopMIDI Port on Windows, VirMIDI 1-0 on Linux) by double-clicking it → Enable input.
  2. Right-click the Play button in the transport bar → External timecode synchronization settings.
  3. Tick Enable external timecode synchronization, choose MIDI clock / SPP as the source and Syncopet’s port as the input. Confirm: Reaper now waits for Syncopet.
  4. Start Syncopet: Reaper starts on the downbeat and shows the incoming tempo.

Bitwig Studio

  1. Settings → Synchronization: in the MIDI clock section, enable receiving (Sync / Clock in) on Syncopet’s port (loopMIDI Port or VirMIDI 1-0).
  2. If the port does not show up: Settings → Controllers, add a generic MIDI controller using this port as input, then go back to Synchronization.
  3. In the transport bar, turn on external sync (the EXT button next to the tempo): Bitwig then follows Syncopet’s tempo, Start and Stop.

Effect pedal or looper (USB MIDI interface)

  1. Plug a USB MIDI interface (for example a Roland UM-ONE) into the computer: it appears in Syncopet’s outputs. Tick it.
  2. Connect the interface MIDI OUT to the pedal MIDI IN (5-pin DIN, or TRS mini-jack with the maker's adapter: beware of Type A and Type B, which are not compatible with each other).
  3. On the pedal, set the tempo source to MIDI / external (the MIDI channel does not matter for the clock).
  4. For a delay pedal to show the tempo even when stopped, tick “Send the clock continuously”. A looper starts and stops with Start / Stop.

Several outputs can be ticked at the same time: DAW and pedals all receive the same clock.

Setting the offset

Every device has its own latency. If the DAW or the pedal sounds slightly ahead of or behind Syncopet, adjust Offset in Settings (from −100 to +200 ms):

Go in 5 ms steps while listening to a short sound on both sides (cross-stick, the DAW metronome click).

Checking clock stability

1. The displayed tempo

Start Syncopet at 120: the DAW should show 120 (or 119.9 to 120.1; tiny display variations are normal). Change the tempo and use Tap: the DAW should follow within a second, with no audible jump.

2. Drift over several minutes

  1. In the synced DAW, record Syncopet’s sound on an audio track (sound card input, or output capture) for 5 minutes, with a simple groove (Metronome).
  2. Zoom in on the first hit, then on the last one: the offset from the DAW grid should stay the same (within 2 or 3 ms). If it keeps growing, the clock is drifting.
  3. Simpler, by ear: turn on the DAW metronome, start Syncopet’s Metronome and listen after a few minutes: both clicks should stay together, with no “flam” slowly appearing.

3. Background tab

While playing, switch to another tab or window for a few minutes: the tempo shown by the DAW should not move.

Troubleshooting

Audio export (WAV)

Export → Audio (WAV) renders the groove to a WAV file, offline: faster than real time and sample-accurate. The file contains exactly what you hear: track volumes, mute / solo, dynamics, swing, ties and humanization. The count-in is never included.

Export options

Tempo and file length

Checking the timing in Reaper

  1. Set the project tempo and time signature (double-click the tempo in the transport bar), and the sample rate: File → Project settings.
  2. Put the edit cursor at the very start of bar 1, then Insert → Media file… (or drag the file there). For separate tracks, select all the WAV files at once and choose one track per file when Reaper asks.
  3. Zoom in on a few hits (bar 1 beat 1, then a hit in the last bar): each attack must start exactly on a grid line. Turn on the grid if needed (Alt+G).
  4. With Cut or Perfect loop, the end of the item must fall exactly on the bar line after the last bar. The item length is shown in its properties (F2).

Checking the timing in Bitwig

  1. Set the tempo and time signature in the transport bar, and the sample rate in Settings → Audio.
  2. Drag the file onto an audio track, at the start of bar 1. For separate tracks, drag all the WAV files at once and drop them on separate tracks.
  3. Bitwig may stretch audio files to the project tempo. If the clip does not line up, open the Inspector and set the clip tempo to the file tempo (in the file name), or turn stretching off.
  4. Zoom in: attacks must start exactly on the grid lines, and with Cut or Perfect loop the clip must end exactly on the bar line.

Checking a perfect loop

  1. Export with Perfect loop, at the sample rate of your project.
  2. In the DAW, set the item or clip fades to 0 (Reaper adds short fades to new items by default: F2 → fade-in / fade-out length).
  3. Loop exactly over the file: in Reaper, select the item and set the loop points to it (or turn on Loop source and lengthen the item); in Bitwig, turn on the clip loop.
  4. Listen to the junction: no click, no gap, and the cymbals keep ringing over the start.