Hey everyone, this is my first VCV Rack module:
LSystem is a polyphonic sequencer where you can enter up to 7 rules using text characters. Each of these sequences a series of <scale degree, duration> pairs and can repeat itself or jump to another rule if the degree of its final step matches the initiator of a target rule.
Every detail is explained in the manual, which I strongly recommend reading if you want to understand the full functionality, since it uses numbers and other characters that might not be “musically” intuitive.
https://github.com/HiddenSide/Quostate/blob/main/LSystem_manual_EN.md
Despite the cryptic look of the rules, you can get some interesting results out of it once you combine them well.
It’s an experimental module with plenty of room for improvement, especially in how rules are entered and displayed.
I think the module is close to its final version, though testing has been on hold lately because of everything related to setting up the builds, the repository, the manual, etc.
So, welcome to anyone who wants to try it out or test it. I compiled the Win, Mac, and Linux releases with GitHub Actions. I can only test it myself on Linux Mint with VCV Rack Free 2.6.6, and that build worked fine for me.
https://github.com/HiddenSide/Quostate/releases
I’d appreciate any comments, feedback, bug reports, or simply the fact that you install and try it out. Some interesting factory presets would also be very welcome ![]()
Quick reference of example rules:
1,1->1,2 -2,1/2 <1,3>,1 <1,3>,<1,2> r,r k+1,k
1,1 = Initiator: (Degree 1. Duration 1).
-> = Separator (Initiator → Sequence).
1,2 = Step (Degree 1. Duration 2).
' ' = A space separates steps.
-2,1/2 = Step (Degree -2. Duration 1/2, as a fraction).
<1,3>,1 = Step (List format: Degree 1 or 3. Duration 1).
<1,3>,<1,2> = Step (Degree 1 or 3. Duration 1 or 2).
r,r = Step with random degree and duration, drawn from the pool (if not empty) or unconstrained.
k+1,k = Step (Last r degree, increased by 1. Last r duration. (+ and - are not allowed for durations)).
2,1-><1,2:5,3:2>,1 2+2,1 5,2^0,1 s,2 *4
<1,2:5,3:2>,1 = Step (Weighted list: Degree 1, 2, or 3. Duration 1). Higher weight = higher probability.
2+2,1 = Step (Degree 2 increases by 2 on each repetition. Duration 1).
5,2 = Step (Degree 5. Duration 2).
^ = Replaces the space separator and applies a glide from the degree of the step on its left toward the degree of the step on its right, over the duration of the step on its left.
0,1 = Step (Degree 0. Duration 1). Not affected by the preceding glide.
s,2 = Step (Silence. Duration 2).
*4 = Number of repetitions for the rule (4).

