EXPORT MODE
CDJs play their own audio from a Rekordbox-exported USB. Rekordbox software is offline.
- PRO DJ LINK
- Stacked waveforms on screen
- Beat sync across decks
- Per-deck status sharing
- Real-CDJ feel
- Stems
The PRO DJ LINK stem engine ●
PRO DJ LINK and stems.
The mode Pioneer never shipped.
A Raspberry Pi 5 sidecar that runs pre-extracted stems locked sample-accurately to your CDJ-3000X, without ever taking PRO DJ LINK offline. Stacked waveforms intact. Beat sync intact. Vocals and instrumentals, finally, on the same rig.
Stock Pioneer software splits your rig into two mutually-exclusive modes. You get everything on one side or stems on the other, never both. The CDJ-3000X (Sept 2025) explicitly does not include native stems. No firmware update has merged these modes. It is not on the roadmap.
CDJs play their own audio from a Rekordbox-exported USB. Rekordbox software is offline.
Rekordbox is the audio engine. CDJs drop to HID controllers. Audio is Mac → DJM USB.
Pioneer makes you choose.
● CHURRDJ doesn't.
CHURRDJ keeps your CDJs in Export mode (PRO DJ LINK stays online) and parallel-plays pre-extracted stems from a sidecar Pi, routed through additional mixer channels. The Pi locks to the CDJs over the LAN, varispeed-resampling its stem cursor to follow whichever deck is playing.
< 1 ms drift
A sub-sample varispeed PLL (4-tap Hermite resampler) keeps each stem locked to its CDJ's pitch fader in real time. Move the slider; the stem follows.
engine/sync/pll.rs 1 swap per track-load
Load a new track on a CDJ and the Pi reads the metadata, looks it up in your stem index, and atomically swaps the channel's playing stem mid-set.
engine/cmd/sync_multi.rs · --follow Zero install
The engine serves a token-gated control page. Open it on any phone or laptop on the LAN (or via Tailscale) to toggle vocals/instrumental and record the master mix.
engine/cmd/control_server.rs · :8080 CHURRDJ is built for Pioneer-stock booth gear, validated on the reference rig below. The architecture is hardware-honest: stem playback works across the Pioneer USB-DJM family, but the master recording path is wired to the DJM-A9's specific capture layout. We don't pretend otherwise.
Source units running PRO DJ LINK
Any DJM with USB audio output
Master capture is currently DJM-A9 specific
What the engine + sidecar run on
The CHURRDJ beta is hand-curated. We're looking for working DJs with Pioneer rigs who can field-test the engine on real gigs, report bugs with technical detail, and tell us, bluntly - what's wrong with the docs, the setup flow, and the live UX.
There's no public download. There's no GitHub repo to clone. CHURRDJ ships as a prebuilt booth image: you flash it, enter your access code, and it boots straight into a setup wizard. We send the image link after we've reviewed your application. This is a closed system because the architecture is sharp enough to break things if it's mishandled, and because we want to grow the community at the speed we can actually support.
Fill out the form below. We need to know your CDJ model, DJM model, and what set or context you'll be testing in.
We read every application within ~48 hours. We're optimizing for testers who'll give honest field reports, not for headcount.
If approved, you get an email with your private 7-day image link, your BETA-XXXX access code, and a link to the setup guide. The Mac app is a code-gated download on the site.
Flash the image, open churrdj.local, add your music, and test on your rig. About 20 minutes to set up. Send us what broke, even the negative results help.
Form not configured yet
Set PUBLIC_TALLY_FORM_ID in your Cloudflare
Pages environment after creating the form at
tally.so.
The deploy will swap the iframe in for the real form
automatically.
Pioneer doesn't expose a stems extension point, and the architectural problem isn't "can stems run" but "can stems run *while* PRO DJ LINK stays alive." Stock Rekordbox makes those modes mutually exclusive. CHURRDJ sidesteps the whole conflict by running stems on a separate audio device (the Pi → DJM USB) while the CDJs stay in Export mode untouched. There's no way to do that inside Rekordbox.
Stem playback works with any DJM that has a USB audio output, V10, 900NXS2, 750MK2, 450, etc. The `--mixer-channel` flag handles the channel-pair mapping. Non-Pioneer mixers with USB audio also work in principle, but we haven't tested those. Master recording is currently DJM-A9-only because the engine opens the A9's specific 12-channel S24_3LE capture stream directly via ALSA. Other DJMs would need code changes; pull requests welcome.
Pi 5 (4 GB or 8 GB) is the reference target, and the booth image is built for it. Pi 4 should be powerful enough but isn't validated. Pi Zero won't keep up with sub-sample varispeed resampling under realistic loads. If you run CHURRDJ on a Pi 4 successfully, we want to hear about it.
Yes. The closed beta has no cost, we're trading early access for honest field reports. Pricing for the public release is undecided. Beta testers will get first notice of whatever model we land on.
Depends on what we learn during the beta. Most likely a one-time license or modest subscription for the engine binary, with the architecture explanation, hardware compatibility data, and Pi setup docs remaining publicly readable. Beta testers will get preferential terms.
You don't run anything by hand. Drag a track onto the CHURRDJ Ingest Mac app and it does the rest: it splits the song into vocals and instrumental (Demucs under the hood, Apple Silicon recommended), matches it to your library, and ships the stems to your booth automatically. Add tracks any time; they process in the background. The app is a code-gated download on the site.
Yes, the engine looks up tracks by Rekordbox metadata broadcast over PRO DJ LINK. Source audio files have to exist on disk (no Tidal/streaming-only tracks). Indexing is automatic: the Mac app rebuilds the lookup whenever you add music, so newly added tracks just work.
No. The engine and sidecar run fully offline once stems are on the Pi and the engine is configured. Internet is only useful for remote phone control via Tailscale (which lets you reach the Pi from your phone over its mesh VPN even when the venue Wi-Fi blocks client-to-client traffic). Offline-only setups work; you just have to be on the same LAN as the Pi to load the control page.
Probably, the PRO DJ LINK protocol Pioneer ships has been stable since the CDJ-2000NXS2. The Java sidecar uses the `beat-link` library, which has been updated specifically for the CDJ-3000X. If a firmware update breaks anything, that's a top-of-list fix and we'd get a patch out fast for testers.
Yes, when you're on a DJM-A9. The engine opens the A9's USB capture stream directly and writes a 24-bit stereo WAV of the master out to a directory you configure (`--record-dir`). Press RECORD in the web UI to start; recording is off by default. ~0.9 GB/hour at 24-bit, watch your Pi rootfs.
Something not covered here? Write to beta@churrdj.com, we'll add your question to the next pass.