# 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.

With `macros` you can greatly simplify your score to focus on the musical questions instead of the technical realization.

## Hierarchical scores

With the system of `GROUP`, you can write a hierarchical score where the different voices are denoted by different groups. You can also create `tracks` (see `@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 `process` and `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 `NOTES`, `CHORD`... It means that you can program a reactive environment that “hears” sensors, audio descriptors...

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 by the `@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” score.

## 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 `whenever` and `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., `map` and `tab`).

### 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 `antescofo~`.

The spatialization is controled by Antescofo too with many `curves` and `process` that generate complex trajectory.

### OSC

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:

http://forumnet.ircam.fr/discussion-group/antescofo/?lang=en

#### Search

From here you can search these documents. Enter your search terms below.