Vocal & instrumental stems, longer beat jumps, and more on your XDJ-RX3.
No flashing. No firmware surgery. Pull the USB stick out and your player is stock again.
What you get • Quick start • Playing with it • Back to stock • Roadmap • FAQ • Docs
Prepare stems of your tracks on your computer, load them on the RX3 the usual way, and the Slip Loop PADs mode or STEM on screen tab turns into stem control:
| Pad | Colour | What it does |
|---|---|---|
| 7 | 🔴 Red | Instrumental on / off |
| 8 | 🟢 Green | Vocal on / off |
Tune the key of your songs to mix harmonically (or play for Alvin & the Chipmunks). A KEY tab shows up on the screen:
| Control | What it does |
|---|---|
| KEY − / KEY + | One semitone down or up, twelve either way |
| The number in the middle | Tap it and the deck goes back to 0 |
Pioneer actually shipped a pitch shifter for the Beat FX "PITCH". While it sounds gorgeous going down, the audio quality is like a broken fax going up. Our brand new AI-generated pitch shifter algorithm is exactly the opposite kind of bad. So the mod uses whichever one wins the direction you asked for.
Beat Jump gets a new 32-beat mode. Repeated presses also fire straight away instead of waiting for the grid to catch up.
Everything runs from the stick and disappears when the power goes off. Any RX3 you plug your stick on will be modded. Nothing is written to the player's internal memory, so there is no firmware to back up and nothing to uninstall.
Power off → pull the stick → power on → stock RX3.
| 🎛️ Player | Pioneer DJ XDJ-RX3, firmware 1.19 only at the moment |
| 💻 Computer | macOS (Intel or Apple Silicon), Windows x64, or Linux x64 |
| 💾 USB stick | A normal Rekordbox export, FAT32 or exFAT |
| 🔑 A key file | Not distributed here — see below |
| 📀 Disk space | ~1.5 GB, only if you want stems |
About 20 minutes to set everything up. After that, stems take from a few seconds to a few minutes per track. A GPU (NVIDIA, AMD, or Apple Silicon) makes that dramatically faster.
Read this bit. It is short.
- Nothing is flashed. The toolkit does not write to the player's internal storage. It uses the maintenance mechanism Pioneer built into the RX3 to run software from a USB stick, and everything lives in memory until you power off.
- There is a safety net. If the modified player does not survive the first few seconds, the original one is put back automatically.
- It can still crash. Modified software on a live machine is modified software on a live machine. That matters rather a lot when the thing is plugged into a 20 kW PA. Test at home. Test the actual stick, the actual tracks, several times. Keep a clean Rekordbox stick in the bag.
- Warranty. Running unofficial software on consumer hardware may affect what the manufacturer is willing to do for you. Nothing here is permanent, but that is not a promise about anyone's warranty decisions.
- Liability. This is an educational and experimental project. If it crashes during your $50,000 set, that would be unfortunate. I do wish you the $50,000 set.
- Music. Separation happens on your computer, on your files. What you are allowed to copy, process and perform depends on your licences and your jurisdiction, not on this tool.
- Affiliation. Not affiliated with, endorsed by, or connected to Pioneer DJ or AlphaTheta. Product names identify compatible gear and nothing more.
Do these in order. For your first go, I'd suggest you use a spare USB stick and two or three tracks.
Remove every USB stick, power the RX3 on, hold MENU (UTILITY) for a second, scroll to the bottom.
VERSION No. 1.19
Anything else and you should stop here — the toolkit is built against this exact version and simply will not apply itself to another one. AlphaTheta documents updating in its support article.
Power the RX3 back off.
Grab the build for your computer from the Releases page and unpack it wherever you keep applications.
macOS says the app is damaged / Windows shows a warning
The app is not code-signed yet, hich means your computer suspects it could be malicious.
macOS — clear the quarantine flag your browser put on the download. Open the Terminal application, (in the Utilities folder), type xattr rc then drag the app into the window to fill in the path:
xattr -rc "/Applications/XDJ-RX3 Toolkit.app"No such file or directory means the path is wrong: it must point at the
unpacked .app itself, not the .zip and not the folder around it.
Windows — SmartScreen will complain. Choose More info → Run anyway.
Linux — unpack and run; you may need to mark the file executable first.
Skip this if you only want the longer beat jumps.
- In Rekordbox, make a playlist with the tracks you want stems for. Two or three, for a first run.
- Export your Rekordbox collection as XML (Preferences → Advanced or View, depending on your version). This is not the same as exporting to a stick. The app reads it to find where your audio files are.
- Open the app, go to the Stems preparation tab, and hit Set up… → Install. Separation needs a lot of software that is too big to ship in the download, so it gets installed once into its own private folder. You need an internet connection, ~1.5 GB free, and Python 3.10–3.13 (python.org if you have none — take 3.13). If it stops halfway, press Install again; it picks up where it left off.
- Select your XML, your playlist, and your Rekordbox USB stick.
- Pick a quality: Fast for big libraries, High quality for exposed acapellas.
- Start it. The app estimates how long the run will take, then corrects itself after the first track and remembers your machine's speed for next time.
Each track produces a .rx3stem file in a RX3_STEMS folder on the output folder you chose. If you didn't chose your Rekordbox USB stick as an output path, it's time to move that folder at the root of it
Your USB stick
├── Contents ← this holds your exported Rekordbox audio files
├── PIONEER
└── RX3_STEMS ← the new one
Note
The stem playlist itself does not need to go on the stick, but it totally can. The player matches stems automatically.
Keep the laptop plugged in and awake. If one track fails the queue carries on — read the log at the end. If every track fails, the install is incomplete: run Install again. See Troubleshooting.
The file we will make needs to be encrypted for the player to load it, so the app needs the matching key to build it.
Caution
This project does not distribute that key, and never will.
It is not a secret, though. Pioneer publishes the GPL/LGPL source archives for
the XDJ-RX3 (pioneerdj_xdj_rx3.tar.bz2.00 and .01) on its
open source distribution page,
and building the filesystem from them exposes the key. Getting it — and deciding
whether you may use it where you live — is the one step nobody can do for you.
Step-by-step: Extracting the RX3 initramfs.
The file you're looking for will be called aes256.key when you'll have completed the steps above.
Now that the hard part is done, in the Modules installation tab: pick firmware 1.19, choose the modules you want (some are automatically checked or unchecked depending on which mods you chose), pick your key file, pick the
root of your Rekordbox stick as the destination, then Mod your RX3 !.
Eject the stick properly. It should now look like:
USB stick/
├── autoexec.bin ← the mod, this is the whole thing
├── RX3_STEMS/
├── Contents/
└── PIONEER/
Order matters.
- Power the RX3 on with the stick out.
- Wait until the interface is fully loaded and responsive.
- Now insert the stick.
The screen freezes, goes away for a few seconds and comes back. While that happens, do not pull the stick, do not cut power, and do not mash the controls because patience has apparently become obsolete.
Did it work?
The stick now contains RX3_RUNTIME/session.txt. Its last line should read:
=== complete ===
Interface did not come back? Pull the stick and power cycle — unplug the mains lead if you have to. The RX3 boots stock.
Log says STOP: or FAILED:? Delete autoexec.bin from the stick, then see
Troubleshooting.
Load one of your prepared tracks and open Slip Loop.
Pads 7 and 8 blink while the stem loads, then settle on red and green. They are two independent switches — press pad 8 and the vocal drops out of the mix.
Open Beat Jump on the same track: pads 7 and 8 now read 32.
Open the KEY tab on the screen and press KEY + a few times: the deck
climbs a semitone at a time, up to twelve. The other deck does not follow — each
one has its own key. Tap the number in the middle to come straight back to 0.
Load a track with no stem and Slip Loop behaves exactly like stock. That is the intended fallback, not a failure — if a track you did prepare has no stem controls, then either you probably did something wron, or I did. See Troubleshooting and only after open an issue..
- Stop playback.
- Power off.
- Pull the stick.
- Power on.
Done. Nothing to uninstall, nothing to restore, nothing to reflash.
Leaving the stick in re-applies the mod at the next power-on. To turn it back
into an ordinary Rekordbox stick for good, delete autoexec.bin from it — your
music and your stems can stay.
How does it work?
It happens that, by Pioneer design, the RX3 (and probably other boards too), which is based on Linux, looks at every USB stick you insert to see whether it carries an autoexec.bin file, and if that file decrypts with a specific key contained inside the player, it runs the script inside. That is the manufacturer's own maintenance mechanism, and it runs that script as the full privileged root account inside the player, so we can do basically anything a Linux system can do.
The whole player interface is one Linux program called rbp (Rekordbox Portable ?), and when you boot the RX3, it's copied in a temporary memory to be used from there. That is done at every startup. Our script patches that live copy, and the new features are simply code running inside the player, using the player's own fonts, images and pads. Nothing is written to the permanent storage. Cut the power and the RAM forgets the whole affair, and next startup will have to copy the stock rbp to RAM again for the player to run.
"Patching" here means two things. A handful of individual and precise bytes are rewritten in place: that is all a beat jump of 32 instead of 8 really is. Everything bigger arrives as a shared library that gets preloaded next to rbp and hooks its functions from the inside, which is how you end up with vocals, instrumentals and a key shifter in a player that shipped with none of the three.
The KEY and STEMS tabs are the same trick applied to the screen. Touch works because two native Beat FX zones were politely repurposed and handed back on the way out. The pads and the on-screen toggles blink in step because they both count from the same clock.
If anything goes wrong within a few seconds after having applied the patch, the original bytes go back, the stock player starts again, and a log on your stick explains itself.
Details for the curious: The RX3 mod.
Does this flash custom firmware?
No. Everything runs in memory and is gone the moment you power off without the stick.
Can it brick my RX3?
The project does not write to the player's permanent storage, which removes the usual reason custom firmware bricks things. That is not a mathematical proof that nothing can ever go wrong. Unofficial software, own risk.
Can it crash?
Yes. Test it at home before you rely on it. Using a show as your first test would be an admirably efficient way of turning software testing into performance art.
Does every track need stems?
No. Prepared and unprepared tracks live happily on the same stick.
Are my original files modified?
No. The stem is a separate sidecar file sitting next to the track.
Why only firmware 1.19?
The mod patches the player software at very specific places, and a firmware update moves that code around. So the toolkit checks it is looking at the player it expects, and refuses if it is not. Support for other versions has to be added and tested deliberately.
Why are stems made on the computer and not on the player?
Because separation models are big and expensive to run. Doing the heavy work on your laptop means better models, GPU acceleration, no waiting on the RX3, and untouched originals. Improving the model later does not mean rewriting anything on the player. The computer does the absurdly expensive maths; the DJ player gets to carry on being a DJ player.
Can I update my firmware while this is installed?
There is nothing installed. Pull the stick and the unit is stock. But after a firmware change, do not assume the toolkit still works — only use versions listed as supported. If you do update, please to a clean boot cycle, without the mod USB, just in case.
What is being worked on next. No dates, no promises but this is the direction.
| What it would give you | Status | |
|---|---|---|
| FX equalization | The FX equalization of a DJM-900NXS2 to make your echoes and delays not go bang bang | 💡 Planned |
| Key sync between decks | The player reads both keys and nudges a deck for you, so you can stop doing musical theory at 2am | 💡 Planned |
| Proper STEMS / KEY on the display | The stem and key-shift on the screen are properly integrated and perfectly working | 🚧 In progress |
| Polished interface | Real icons, text and artwork for everything the mod adds, matching the stock look | 🚧 In progress |
| Full system emulator | From the U-Boot to the beat, to develop and test mods from the sofa (and open to anyone who does not own an RX3) | 🚧 In progress |
| CPU and memory monitoring | Headroom monitoring so heavier features stay safe to use for a whole set | 💡 Planned |
Want one of these sooner ? Or something else ? Say so in an issue, or build it yourself (see Contributing).
| Extracting the initramfs | Getting the key out of Pioneer's published sources |
| The RX3 mod | Architecture, modules, applying and removing, session logs |
| Vocal stems | Models, presets, accelerators, tuning |
| Troubleshooting | Symptoms, errors, fixes |
| Reference | File formats, commands, addresses, hardware findings |
| Contributing | Build from source, run the tests, write a module |
| Changelog | What changed |
Pull requests welcome — new modules, support for future firmware, reverse-engineering notes, UI work, faster separation, testing on other systems, or just better docs. Start with CONTRIBUTING.md.
Reporting a bug? Include your firmware version, your OS, the toolkit version,
the contents of RX3_RUNTIME/session.txt, and the steps to reproduce. For stem
problems, add the model, the quality preset, your CPU/GPU, and whether it affects
one track or all of them.
Please do not attach encryption keys, manufacturer firmware or binaries, or copyrighted music.
Mozilla Public License 2.0. Changes to MPL-covered files stay under the MPL; separate files may be combined into a larger work under other terms, as the licence permits. Third-party components are listed in THIRD_PARTY_NOTICES.md.
Keys, firmware, manufacturer binaries and copyrighted music are not in this repository and are never release assets.
Pioneer DJ, AlphaTheta, Rekordbox and XDJ-RX3 are trademarks of their respective owners, used here descriptively only.
The open-source software running inside the RX3, the GPL/LGPL sources Pioneer published, the reverse-engineering community, the people who build the audio-separation models — and everyone who has ever looked at a perfectly functional DJ player and asked:
"Yes, but what else can it do?"