forsitan modulare

June 14, 2026 · View on GitHub

A collection of VCV Rack modules.

forsitan-modulare build

forsitan modulare

Modules

moduledescriptiondoc
aleaAdd a random module to your rackdoc/alea.md
intereaChord generator from a V/Oct input, with quality, voicing and inversiondoc/interea.md
cumuliAccumulator with up/down gates and ratesdoc/cumuli.md
deindeQuad cascading addressable attack-hold envelopedoc/deinde.md
pavoPolyphonic stereo spreader (Splay Ugen)doc/pavo.md
limenTCP+JSON control interface for VCV Rackdoc/limen.md
MMCCCXCIXPT2399 delay chip emulation with feedback send/return loopdoc/mmcccxcix.md

Tools

tooldescription
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:

  1. 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.)
  2. Talk to it with the bundled client: python3 tools/cli/limen.py hello (or list_modules, set 0 0 0.5, …).
  3. 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.

moduleLatin meaning
aleadice, chance (as in alea iacta est, the die is cast)
intereameanwhile, in the meantime
cumuliheaps, piles (plural of cumulus)
deindethen, next, afterwards
pavopeacock (whose spreading tail mirrors the stereo spread)
limenthreshold, doorway
MMCCCXCIX2399 in Roman numerals — the PT2399 chip this module emulates

Author

Giampaolo Guiducci giampaolo.guiducci@gmail.com

License

GPL-3.0-or-later