bach: automated composer’s helper

bach, a joint project with composer Daniele Ghisi, is a library for Max, aimed to bring the richness of computer-aided composition into the real-time world.

bach provides Max with two new data types: rational numbers and lllls (an acronym for Lisp-like linked lists), the latter being a list capable to contain other lllls in itself, like a Lisp list does. In addition to that, bach includes a large collection of tools for operating upon these new types and a number of advanced facilities and graphical interfaces for musical notation, with support for microtonal accidentals of arbitrary resolution, measured and non-measured notation, rhythmic trees and grace notes, polymetric notation, MusicXML and MIDI files and much more.

For a list of academic publications about bach, see the writings section of this site.


cage is a set of tools based on the bach library, aimed to solve real-life compositional problems and primarily conceived for pedagogical usage.

cage is a joint project with Daniele Ghisi, carried out at the electroacoustic music center of the Haute Ecole de Musique de Genève, and supported by the music and art division of the Haute Ecole Spécialisée de Suisse occidentale.

For a list of academic publications about cage, see the writings section of this site.