Computer-aided composition in Max


Compose your music using bach: write, generate or modify your scores intuitively and interactively.

Live notation

Create and display music on the fly for your performers, or for any other usage.


Build intuitive and interactive tools for music education. Tailor the amount of allowed interaction to your specific needs, have your students play with your patch and then automatically evaluate their […]

Augmented sequencers

Use bach.roll and bach.score as symbolic sequencers, triggering soundfiles or DSP processes; since each note carries flexible meta-information, organized in slots, you can control and customize any meaningful sequencing parameter.


Use bach.roll and bach.score to control synthesis modules inside Max; put any meaningful parameter (numbers, envelopes, instructions…) inside the note slots, and retrieve them at playtime.

Video and lighting

Sequence or generate video content in Jitter; use scores to control and automate any external Max-compatible device, such as DMX lighting scenarios or physical actuators.

Constraint programming

Generate data by defining the properties they should match, without writing a single line of code.


Segment and analyze scores in real-time or off-line. Organize your scores in a database, and display it.


Build scores where each note is a complex process in itself; display process information dynamically and render audio or symbolic result properly (both at playtime and off-line).