REX Player is a module for VCV Rack 2 that plays REX-family breakbeat loops directly inside a modular patch.
It loads .rx2, .rex, and .rcy files with vendored VelociLoops, displays the waveform and slice markers, maps slices to V/Oct notes, and can also run as a clocked REX timing sequencer.
This was created as part of the Hermes Agent creative hackathon. It is already useful, but it is still young software. Save your Rack patches before stress-testing weird files.
- Brand:
Sound Visions - Module:
REX Player - Plugin slug/package:
SoundVisions-REXPlayer - Tags:
Sampler,Drum,Sequencer,Clock modulator - Source repo: https://github.com/gorkulus/rex-player
- Loads
.rx2,.rex, and.rcyloop files. - Displays an overview waveform, slice markers, selected slice, and playback cursor.
- Plays selected slices from trigger/gate/MIDI-CV style patches.
- Repitches playback with Rack V/Oct pitch tracking.
- Chokes active playback in mono mode with a short fade to avoid clicks.
- Can use a voice pool when driven by polyphonic cables, but the module is not tagged as a general-purpose polyphonic module.
- Follows original REX slice timing from an external 4x / 16th-note clock.
- Outputs sequenced slice V/Oct, trigger, and gate signals for modular rerouting.
- Add
REX Playerfrom theSound Visionsbrand in Rack's module browser. - Right-click the module and choose
Load REX/RX2/RCY.... - Patch
LandRto your mixer. - For immediate clocked playback, patch a 4x / 16th-note clock into
CLK. LeaveSLICEandTRIGunpatched so the internal normaling can drive playback. - Optional: patch reset into
RSTand useRUNto start/stop the sequencer.
For manual/MIDI-style slice triggering:
- Patch a V/Oct source into
SLICE. - Patch a trigger or gate into
TRIG. - Set the first-slice MIDI note from the context menu if needed. The default is C2 / MIDI 36.
- Patch another V/Oct source into
PITCHif you want independent transposition.
Rack SDK 2.6.6 was used for the Hermes Agent creative hackathon build. Set RACK_DIR to your local Rack SDK path.
make RACK_DIR=/path/to/Rack-SDKmake dist RACK_DIR=/path/to/Rack-SDKThis creates dist/SoundVisions-REXPlayer/ and dist/SoundVisions-REXPlayer-<version>-lin-x64.vcvplugin.
rsync -a --delete dist/SoundVisions-REXPlayer/ ~/.local/share/Rack2/plugins-lin-x64/SoundVisions-REXPlayer/Rack scans plugins at startup, so restart Rack after installing or updating the plugin.
LD_LIBRARY_PATH=/path/to/Rack-SDK python3 - <<'PY'
import ctypes, os
sdk = '/path/to/Rack-SDK'
plugin = os.path.expanduser('~/.local/share/Rack2/plugins-lin-x64/SoundVisions-REXPlayer/plugin.so')
ctypes.CDLL(os.path.join(sdk, 'libRack.so'), mode=ctypes.RTLD_GLOBAL)
ctypes.CDLL(plugin)
print('dlopen ok')
PYmkdir -p build
g++ -std=c++17 -O2 -Ithird_party/VelociLoops/include tools/rex_probe.cpp third_party/VelociLoops/src/velociloops.cpp -o build/rex_probe
./build/rex_probe /path/to/file.rx2REX Player is released under the MIT License. VelociLoops is vendored under The Unlicense. See LICENSE, THIRD_PARTY_NOTICES.md, and docs/legal-and-licensing.md.
REX and REX2 are file formats associated with Propellerhead/Reason Studios. Sound Visions REX Player is an independent project and is not endorsed by Propellerhead/Reason Studios.
