BPM sync daemon — bridge Mixxx to your hardware via USB MIDI

Low-latency synchronisation for the modern open-source DJ booth. Synchronise external sequencers, drum machines, and synth racks to your software master clock with sample-accurate precision.

"Seize the means of synchronisation."

Source 01

Mixxx Master

Mixxx broadcasts engine state via local socket. Track BPM and beat-position are monitored in real-time.

Daemon 02

SyncLock Core

Our Rust-based binary translates engine clock to MIDI 24PPQN signals with microsecond jitter correction.

Hardware 03

MIDI Output

Standard MIDI Start/Stop/Clock pulses are routed to your USB-MIDI interface or hardware synth.

Sub-millisecond Latency

Written in zero-cost abstraction Rust to ensure clock pulses never drift, even under high CPU load.

Zero Proprietary Hubs

Works with any standard ALSA/CoreAudio MIDI device. No expensive proprietary sync boxes required.

Headless Service

Run as a background systemd service. Set it once and forget it—sync starts automatically with Mixxx.

Phase Alignment

Not just BPM, but beat alignment. Your drum machine stays in phase with the track on every downbeat.

Ethos Manifesto

Open Core. Real Speed.

We believe the bridge between software performance and hardware tactile feel should be transparent, free, and community-owned. Synclock is built by DJs who code, for performers who demand reliability over marketing hype.

100%
Open Source
0.2ms
Avg Jitter
Rust
Core Engine
terminal — synclock-install
# Install via cargo (Recommended)
cargo install synclock-daemon

# For Arch Linux users
yay -S synclock-bin

# Quick Config (synclock.toml)
[midi]
device = "USB-MIDI-Interface-1"
channel = 1
mode = "clock+start_stop"

[mixxx]
socket = "/tmp/mixxx_engine.sock"

# Run daemon
synclock --config ./synclock.toml