Working with Beat Link Trigger
Beat Link Trigger is an open-source application that monitors tempo and beat information from Pioneer DJ devices on a local network. This can be used to synchronize the metronome of Chromatik to a Pioneer DJ performance.
Download and install Beat Link Trigger here: https://github.com/Deep-Symmetry/beat-link-trigger
Pre-built releases are available for Mac/Windows: https://github.com/Deep-Symmetry/beat-link-trigger/releases
Configure Chromatik to receive OSC input.
Set the clock source in the toolbar to
OSC. Beat trigger modulation can be enabled/disabled using the circular green button on the right. The button remains gray when disabled, and pulses green on beats when enabled and clock signal is being received.
Configure Beat Link Trigger
Edit Setup Expression
First, from the gear icon select
Edit Setup Expression and enter the following:
(swap! locals assoc :lx (osc/osc-client "localhost" 3030))
Note that you may substitute
3030 if Chromatik is running on a different machine or port.
Edit Beat Expression
Edit Beat Expression and enter the following:
(when trigger-active? (osc/osc-send (:lx @locals) "/lx/tempo/beat" beat-within-bar) (osc/osc-send (:lx @locals) "/lx/tempo/setBPM" effective-tempo))
osc/osc-send call sends an active beat, and the second one sends the tempo. Typically you will want Chromatik to receive both, but it is possible to only send one or the other if desired.
Edit Shutdown Expression
Finally, repeat this process for
Edit Shutdown Expression and enter the following to close the OSC client:
(osc/osc-close (:lx @locals))
Pioneer DJ equipment can generate a lot of local network traffic. This is not necessarily a problem, but if you are also using a local network for a large amount of LED output (e.g. Art-Net/sACN traffic), then it is generally a good idea to separate these networks. Possible approaches include:
- Use two distinct network interfaces on your Chromatik machine
- Use a physical switch that can separate traffic using VLANs
Many thanks to Justin Belcher for initial determination and documentation of these settings.