forsitan modulare
June 14, 2026 · View on GitHub
A collection of VCV Rack modules.

Modules
| module | description | doc |
|---|---|---|
| alea | Add a random module to your rack | doc/alea.md |
| interea | Chord generator from a V/Oct input, with quality, voicing and inversion | doc/interea.md |
| cumuli | Accumulator with up/down gates and rates | doc/cumuli.md |
| deinde | Quad cascading addressable attack-hold envelope | doc/deinde.md |
| pavo | Polyphonic stereo spreader (Splay Ugen) | doc/pavo.md |
| limen | TCP+JSON control interface for VCV Rack | doc/limen.md |
| MMCCCXCIX | PT2399 delay chip emulation with feedback send/return loop | doc/mmcccxcix.md |
Tools
| tool | description |
|---|---|
| tools/cli/ | limen CLI client — C (limen.c) and Python (limen.py) |
| tools/panel-editor/ | Browser-based drag-and-drop panel layout editor |
Controlling Rack externally (limen)
The limen module runs a small TCP server speaking newline-delimited JSON, so external tools can drive Rack: list/add/remove modules and cables, get/set parameters, and control the window (fullscreen, zoom-to-fit, quit). It is built for automation and scripting, LLM tools that build patches programmatically, and alternative interfaces (such as a planned Emacs mode).
Quickstart:
- Launch Rack straight into a controllable state with the bundled patch — it contains a single limen module with the server already enabled:
./Rack patches/limen.vcv. (Or add a limen module to any patch and enable its server from the right-click menu.) - Talk to it with the bundled client:
python3 tools/cli/limen.py hello(orlist_modules,set 0 0 0.5, …). - Or from anything that opens a socket:
echo '{"cmd":"hello"}' | nc localhost 7000.
Security: the server binds loopback only (127.0.0.1) and has no authentication by design, so it is reachable only from your own machine. Do not expose the port to untrusted networks. See doc/limen.md for the full protocol and command reference.
Changelog
See CHANGELOG.md.
About the names
Being Italian, giving the modules English names felt off, but Italian names would have been less accessible to most users. Latin seemed like a natural middle ground: familiar enough, international, and with a certain character.
| module | Latin meaning |
|---|---|
| alea | dice, chance (as in alea iacta est, the die is cast) |
| interea | meanwhile, in the meantime |
| cumuli | heaps, piles (plural of cumulus) |
| deinde | then, next, afterwards |
| pavo | peacock (whose spreading tail mirrors the stereo spread) |
| limen | threshold, doorway |
| MMCCCXCIX | 2399 in Roman numerals — the PT2399 chip this module emulates |
Author
Giampaolo Guiducci giampaolo.guiducci@gmail.com