Structure of an Antescofo Score¶
An Antescofo score is a text file that is used for real-time score following (detecting the position and tempo of live musicians in a given score) and triggering electronics as written by the artists.
Antescofo is thus used for computer arts involving live interaction and synchronisation between human and computerised actions.
An Antescofo score can be edited by any text editor. The users can find many syntax highlights on our Antescofo ForumUser. The package for the Sublime editor is particularly usefull, as coherence is preserved in real-time between the score loaded in Max and the score edited by Sublime.
There is also a dedicated GUI, AscoGraph, that can be used to edit an Antescofo score and to interact with a running Antescofo program. In this video, for example, we can see Antescofo playing with a musician and controlling both the electronic elements and the spatialization. The musician's score (in a piano roll) and the electronic actions are both visible in the AscoGraph window.
An interweaving of musical events and electronic actions¶
An Antescofo score describes both the human actions to be recognized and the machine's reactions to environmental input. A score thus has two main elements:
-
EVENTS are elements to be recognized by the score follower or machine listener, describing the dynamics of the outside environment. They consist of
NOTE
,CHORD
,TRILL
and other elements discussed in details in section Event. -
ACTIONS are elements to be undertaken once corresponding event(s) or conditions have been recognized. Actions in Antescofo extend the good-old qlist object elements in MAX and PD with additional features which will be described in this document.
The figure below shows a simple example from the Composer Tutorial on Pierre Boulez’ “Anthèmes 2” (1997) for violin and live electronics as seen in Ascograph (open the picture in a new tab for a larger view).
The left window shows a visual representation of Events and Actions,
whereas the right segment shows the raw text score. Events in the score
describe expected notes, trills and grace notes from the solo Violin,
and Actions specify messages to be sent upon recognition of each
event. In this example, we showcase actions for four real-time pitch
shifter (or harmoniser), whose general volume is controlled by the
hr-out-db parameter
, and each shifter parameter separately controlled
by hr1-p
to hr4-p
. The values for pitch shifters are in pitch-scale
factor. Their corresponding musical value is described in the text score
as comments (any text following a semi-colon ‘;’ is ignored in the
score).
This score shows basic use of actions and events. Red text in the text-editor correspond to reserved keyword for Events. For details regarding available events and their corresponding syntax, see section Event. In this example, actions are basic message-passing to receivers in Max or Pd environments but with OSC, Antescofo can interact with many other softwares like CSound, Supercollider... Since they are isolated and discrete actions, we refer to them as Atomic Actions. As will be shown later, actions in Antescofo can use delays expressed in various time formats, and further include dynamic (i.e. real-time evaluated) expressions, data-structures and more. Details on action structures are discussed in section Actions.
The next figure shows a slightly more complex score corresponding to the beginning of “Tesla ou l'effet d'étrangeté” (2014) by composer Sasha Blondeau for viola and live electronics as seen in Ascograph. The graphical representation on the left is a visual interpretation of the text score on the right. For easier viewing, messages are represented here by white circles (AscoGraph option).
In the previous screenshot, the score for human musician contains many types of events (not all visible in text) with a mixture of discrete and continuous compound actions as written by the composer. At the moment you have to know that in Antescofo it exists 5 kinds of events :
NOTE
: in red in the piano rollCHORD
: in green in the piano rollTRILL
for classical trill or tremolo : in blue in the piano rollMULTI
for glissandi (with one or more notes) : in yellow in the piano rollEVENT
for symbolic events
Tesla makes use of Compound Actions which consist of parallel
groupings of Atomic Actions, as well as continuous actions
introduced by keyword Curve
. These elements correspond to different
electronic actions. We can therefore compose the electronic part in
parallel with the instrument part, together in an "augmented
score". Effects, synthesis, spatialization and others can be controlled
by Antescofo. Functions, Processes, Actors (objects) and Macros can be
used to abstract and reuse these controls.
We will see that with Antescofo, we can compose with many differents
kind of time. Sequential time for the atomic actions, continuous time
for curves
, cyclic time for loop
or "composed time" with processus
that will see in due course.
The file structure of an Antescofo augmented score¶
A textual score, or program, is written in a single file and loaded from
there. The file itself can optionally include pointers to other score
files, using the @insert
feature:
@insert macro.asco.txt
@insert "file name with white space must be quoted"
The keyword can be capitalized: @INSERT
as any other predefined
@
-identifier (i.e., identifiers that start with a @
character). An
included file may includes other files. The @insert
command is often used to store definitions and initialisation of the
main Antescofo score. It will automatically create additional tabs in
Ascograph text editor.
The @insert_once
command is similar to @insert
except that the file is included only once in the current
score, when the directive is encountered the first time. The behavior
makes possible to include a library of primitives in a set of files
without the burden of taking care of their dependencies.
For the rest of this chapter, we will briefly introduce main elements in the language. Details will be left for dedicated chapters in the reference manual.