Theory

This page allows you to generate Lindenmeyer Systems (L-Systems), a recursive ‘substitution grammar’ system, often used to generate organic, self-similar patterns. They have been used in music most notably by composer Hanspeter Kyburz. You can define a set of user-defined ‘rules’ that govern the substitution of symbols from one generation to the next, generating an endlessly varying set of patterns, in a manner that mimics natural growth and decay processes.

INSTRUCTIONS

  • Choose a number of unique ‘symbols’, one character long only. Typically, these are letters of the alphabet (usually 6–10 is enough). Each symbol stands for some musical ‘gesture‘, the length and content of which is determined by the composer (hint: it’s generally NOT a good idea to specify pitch or specific rhythmic motif; however, you could specify a pitch "resource" or rhythmic density). Enter these symbols in the Axiom column

  • For each Axiom, enter a Substitution, which is any combination of symbols. This is what each Axiom ‘turns into’ from generation to generation (the output is then fed into the system to provide the following generation). If symbols are only one character long, you do not need to separate the symbols in the substitution by a space.

  • Each Substitution may ONLY comprise combinations of Axioms. For instance, you could specify A -> AB, or A -> BCA.

  • Each Axiom should appear in at least one substitution

  • Generally speaking, it makes sense to include the following Axiom in a Substitution (e.g. so B should appear in A's Substitution, C should appear somewhere in B's Substitution, and so on). Of course, this would not be true for the final Axiom. Often the final Axiom includes itself (e.g. H -> AH), although it doesn't have to.


Rules

 

Axiom ->

Substitution

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Starting axiom:

Number of generations:


Output