Beyond score following...¶
Most people think Antescofo is exclusively used for mixed music and score following. That's partly true, but since the language exists and has been developed, Antescofo is also a great tool for electronic music.
Antescofo as a sequencer¶
Speaking about time is very easy in Antescofo. AscoGraph and an
Antescofo score can be seen like a sequencer, where all the actions
are organised in time (if you click on the
Play button, Antescofo
becomes a sequencer) that you specify in the score.
You can write an electronic score with the beat notation and decide
after to change the tempo. In this case you don't have to rewrite all
the durations. Antescofo does the translation. This allows you to
change the tempo (with
BPM) in any place in your score.
As we have shown before, you can also work with different times in a
same moment with the
@tempo attribute and write complex polyrythms.
macros you can greatly simplify your score to focus on the
musical questions instead of the technical realization.
With the system of
GROUP, you can write a hierarchical
score where the different voices are denoted by different groups. You
can also create
@track_def) to filter any
kind of musical object or focus on a particular voice.
With the action view of AscoGraph you can easily see how the different voices of an electronic polyphony interact with each other.
Open scores and installations¶
If you see the
whenever constructions, you will see that
these features can be easily used for installations or for open
scores. You can use Antescofo without a “classical score”, without
CHORD... It means that you can
program a reactive environment that “hears” sensors, audio
If you compose open scores, you can take a look to the
@jump keyword that is followed by a comma separated list of simple
identifiers referring to the label of an event in the score. This
attribute specifies that this event can be followed by several
continuations: the next event in the score, as well as the events listed
@jump. So you can compose a non-linear score with
choice points leaved to the performer. You evn can modify during the
execution the list of allowed jumps, achieving a kind of “multi-graph”
Beyond Max and Pure Data...¶
We have shown many uses of Antescofo in Max. However, with OSC, you can use Antescofo as controller of any kind of software that supports OSC. For example, SuperCollider and CSound are great Antescofo fellow players ! In the two next examples, Max is a kind of "pipe" between Antescofo, CSound or SuperCollider, IRCAM's Spat and audio descriptors. But Antescofo sends also many messages via OSC without Max.
A SuperCollider example¶
The figure below shows an environment created by José-Miguel Fernandez
for his pieces where you can see 3 different softwares. In the
background you can see the AscoGraph interface. At the left front you
can see Max using Antescofo and descriptors (who are sended to
process). At the right you can see a SuperCollider
interface where processes are generated “on the fly” and displayed on
the screen. In this example, Antescofo manages all the control parts and
sends the parameters needed for synthesis and effects to
SuperCollider. Fernandez uses many chaotic funcions included in
Antescofo and several of its data structures (e.g.,
A CSound example¶
In the next example, Antescofo is used to send a score to CSound and to generate table for CSound. Here, Antescofo can replace the ".sco" file for CSound or the "score part" of the ".csd" in CSound. All the CSound synthesis is generated in real time and controled by the object
The spatialization is controled by Antescofo too with many
process that generate complex trajectory.
Many people have been using Antescofo message passing strategies as defined above to interact with processes living outside MAX/PD (such as CSound, SuperCollider, etc.). To make their life easier, Antescofo comes with a built-in OSC host. The OSC protocol3 can be used to interact with external processes using the UDP protocol. It can also be used to make two Antescofo objects interact within the same patch. Unlike MAX or PD messages, OSC messages can be sent and received at the level of the Antescofo program. The embedding of OSC in Antescofo is done through 4 primitives.
oscsend name host : port msg_prefix oscrecv name port msg_prefix $v1 . . . $vn
see the OSC message chapter for more details.
Be adventurous !¶
"De toute manière, le compositeur, lors de ses voyages d’exploration, se voit à la fois comme Christophe Colomb et Don Quichotte – il débarque sur une terre inconnue et/ou tombe de cheval et atterrit de manière peu glorieuse, et à chaque fois en tout cas là où il ne pensait pas aboutir ; c’est ainsi seulement qu’il fait l’expérience de lui-même, qu’il se transforme, qu’il vient à lui-même."
LACHENMANN, Ecrits et entretiens.
"In any case, the composer, during his exploratory journeys, is seen as both Columbus and Don Quixote - he lands in an unknown territory and/or falls from his horse and lands ungloriously, and each time in any case there where he did not think to reach; only in this way he does experience himself, turn, comes to himself. "
LACHENMANN, Writings and interviews.
We have provided a brief overview of Antescofo, but a WORLD remains to be discovered... and experimented with! In the Reference Manual, you can more precisely research the previously addressed issues. You can decide to only take the examples given at the end of this documentation (snippets, How-to...) and copy them in your own score... or you can decide to roll up your sleeves and understand all the intricacies and secrets of Antescofo language to try to be an “aware Antescofo electronic composer!” ;-)
If you continue the adventure, you will see how to create a complex process or how to create a reactive environment where Antescofo can hear many things and react as you had composed! You will see how to manipulate time in Antescofo and how to synchronize your machine with a musician in real, musical way!
So... Try and fail, retry and be victorious, and don't forget that your feedback is important to us. Please, send your comments, questions, bug reports, use cases, hints, tips & wishes using the IRCAM Forum discussion group at: