Computer-aided composition in Max

bach with Antescofo

Jonathan Bell uses bach.score as a tool for representing a melody which the computer tracks or follows, as well as for storing and displaying the actions to be made when a certain event is detected, in connection with Antescofo.

Antescofo (Anticipatory Score Follower) proposes a user interface made of a piano roll, called Ascograph, which does this same thing: it represents graphically the score to be detected, the current position in the score (in bars and beats), and the actions to be sent (e.g. to Max) corresponding to that particular position (and/or speed/tempo).

bach.score contains most of the necessary features required in order to behave like the Ascograph, but in a symbolic environment (a score, with staves and clefs) instead of more common DAW-like types of representations: the piano roll (or MIDI representation) of the Ascograph was therefore replaced in this project by the musical staves of bach.score, which Antescofo can follow: the score follower sends to bach the current position detected, and bach can thus fire the actions corresponding to that event.

In the following example, a live performer sings what is written on the upper “target” stave (input/score-follower). When a specific note is detected in the target voice, it triggers in real-time the harmonisation by virtual choir (the four last staves, controlling Psychoirtrist~).

Antescofo has the role of an accompanist, it follows the speed of the performer on each different take; but it also has the role of a “bach.score pilot” here: each time Antescofo detects a new event, or a new position in the score, it sends it to bach.score, which highlights the corresponding bar and beat number, and fires the corresponding actions.

The combination of bach.score representation with Antescofo has a great potential for writing and representing real-time transformation following the live performer very tightly; this type of representation also allows a better visualisation and understanding of what has or hasn’t been detected by the machine.

Archives

Categories

Meta

Feedback

For any issue that may be of public interest, our forum is the most appropriate context, since all users can benefit from everyone's experiences. Still, if you want to contact us privately, you can do it at feedback@bachproject.net. Please follow these rules to report bugs requests.
If you want to submit feature requests, please support us on Patreon.

Support us on Patreon

bach is free, but developing and maintaining it takes a lot of time and effort. If you find bach useful, please consider supporting us on Patreon.
In addition to helping us keeping bach free and up to date, you'll also get access to prereleases, exclusive video tutorials, and much more.
If you are already a patron, then we cannot thank you enough: it is thanks to people like you that bach can remain free for everybody.