Releases: vynulldev/vynull
Release list
v0.1.0-pre
Vynull v0.1.0-pre — first public prerelease
A virtual CDJ / rekordbox source for Linux. Point Vynull at your music
collection and CDJs see it as a connected library over Pro DJ Link — with color
waveforms, beat grids, cues, and a browser-based library manager.
⚠️ First public prerelease. This is a hobby project that speaks a protocol
Pioneer never documented, worked out from other people's reverse-engineering.
Expect bugs and the occasional strange deck behaviour. Not affiliated with
Pioneer DJ / AlphaTheta. Try it before you trust it in a set.
Highlights
- Virtual CDJ / rekordbox on the Pro DJ Link network — CDJs browse (by
artist, album, genre, BPM, key, label, year, remixer, folder) and load your tracks. - Browser library manager (
--web) — browse/search, edit metadata, manage
cues/tags/(smart) playlists, view live players, zoom waveform + beat grid with
beat-jump, three UI themes, and configure CDJ settings. - Import from rekordbox —
rekordbox.xml, an encryptedmaster.db, or a
library-backup.zip: tracks, MyTags (+ categories), colors, (smart)
playlists, hot + memory cues (colors + loops), ANLZ waveforms/beat
grids/phrases, and artwork. - Color waveforms on the CDJ (PWV4 overview + PWV5 scrolling; blue / RGB /
3-band, honoring the deck's waveform-color setting). CDJ-3000 3-band
(PWV6/PWV7) supported. - Native FLAC / WAV / AIFF playback streamed over NFS (optional transcode to MP3).
- BPM detection + beat grid (dynamic-programming beat tracker), cue
management, key detection. - DJM mixer awareness — surfaces channel / master state on the link.
- Live terminal monitor (TUI), lazy analysis for instant startup, and
USB export to a rekordbox-compatible structure.
Full feature list and HTTP API in the README.
Platforms
- Linux — x86-64 & ARM64 (runs on a Raspberry Pi).
- A network interface on the same subnet as your CDJs (typically link-local
169.254.x.x). --mode rekordbox(the default) needs no privileged ports;--mode cdj
(appear as a CDJ-USB source) needs UDP port 111 — see the README.
Tested with
- CDJ-2000NXS2
- DJM-A9
Known limitations
- Beat-grid phase matches rekordbox's on only a fraction of tracks. BPM is
usually right, but the detected downbeat/phase can be off. Adjustable per
track from the web UI / API. - DJM mixers presence + master/channel state are surfaced from
broadcasts; deeper mixer control isn't implemented. - More broadly: some features are half-finished or only work in certain setups.
Treat it as a work in progress. Bug reports and PRs welcome.
Getting started
Grab the build for your platform from the Assets below, or build from source:
git clone https://github.com/vynulldev/vynull && cd vynull
make build
./vynull --web # library mode + web UI, no music dir required
# add music via the web UI or the HTTP API, then LINKSee the Quick Start for import-from-rekordbox, directory mode, and CDJ mode.
Thanks
Built on the reverse-engineering published by Deep Symmetry (dysentery / beat-link / crate-digger), rekordcrate, python-prodj-link, and pyrekordbox.
Full credits in the README.
License
GPL-3.0-or-later. Independent and unofficial — not affiliated with or endorsed by Pioneer DJ / AlphaTheta, Deep Symmetry, or any project listed above.