/ClTonnetz

Simple Tonnetz implementation in Common Lisp (to be used in Opusmodus)

ClTonnetz

Tonnetz implementation in Common Lisp for Opusmodus (http://www.opusmodus.com)

Example:

(apply-tonnetz '(c4 e4 g4) '(l r n s p))

=> ((c4 e4 g4) (b3 e4 g4) (b3 d4 g4) (c4 eb4 g4) (b3 eb4 fs4) (b3 d4 fs4))

Ability to not include a move in the output:

(apply-tonnetz '(c4 e4 g4) '(l r n (s) p))

=> ((c4 e4 g4) (b3 e4 g4) (b3 d4 g4) (c4 eb4 g4) (b3 d4 fs4))