NotionS of TIME in Antescofo¶
Antescofo claims to be a strongly timed1 computer music programming language, which means that:
time is a first class entity in the language, not a side-effect of the computations performance, making time itself both controllable and explicitly computable;
when a computation occurs is precisely specified and formalized2 guaranteeing behavior predictability, temporal determinism and temporal precision;
the behavior of an Antescofo program is free from underlying hardware timing and nondeterministic scheduling in the operating system.
Several notions of time are at work in Antescofo.
The composer defines potential temporal relationships between musical entities in an augmented score.
These relationships are expressed through the temporal relationships between Antescofo actions and between actions and musical events.
During the performance, the potential temporal relationships specified by the composer become actual relationships through the realization of musical events by the musician and the computation of electronic actions by the computer.
A unique feature of Antescofo is that the composer is able to specify some constraints between the potential and the actual temporal relationships.
Several “layers of time” at work in Antescofo. What depends of the composer/human performer is in blue; what depends of the computer is in gray. Composers can express constraints between the potential timing expressed in the score and the actual timing of the performance. These constraints apply to the actual timing of the electronic actions.
This chapter presents the rich model of time provided by the DSL and the constraints that can be expressed between the potential and the actual timing. The two following pages do not regard specific technical or syntactic aspects of Antescofo, but they do contain essential ideas about the language's use of time:
the manufacturing of time elaborates on the temporal notions that organize the computations of actions;
the fabric of time elaborates on the relationships between the potential timing of musical events expressed in the score, the actual timing of performer's events and the actual timing of the actions during the performance.
ChucK has introduced the term strongly timed to qualify programing languages that handle time explicitly as a first class entity. This is the case in Impromptu, where performative time is also considered in the context of Live Coding, refer to the article Programming with time : cyber-physical programming with Impromptu. The real-time systems community has long advocated for the inclusion of time in the domain of discourse and not to consider it as an optimization problem or as a quality of service problem. See for example Motivating Time as a First Class Entity (1987). The reference Computing Needs Time is a documented presentation of the problematic. ↩