< Back to IRCAM Forum

Conducting Antescofo

Hi!

I’m currently researching techniques for live electronics that could be used to follow the gestures of a conductor. I have currently developed techniques in Max to recognize beats and follow beat patterns in a relative efficient and reliable way.

I’d like to use Antescofo as the cue system that follows the conductor but I’m having trouble finding the correct event type to write the score.

My first attempt was using Events and in every beat I’d send a “nextevent” message. It works but any mistake in the conducting or in the beat-recognition is pretty disastrous, since it can only be corrected manually or if you change the conducting (which is terrible for the musicians, of course).

Since I can tell beats apart, I tried to write a score with notes associated with every beat (e.g. beat 1 is always 61, beat 2 is always 62…) and the score follows the time measures directly. This would make antescofo able to “catch up” when there’s a mistake. The notes would be triggered by MIDI notes, using @inlets MIDI on the antescofo object. I don’t really understand why but after a “start” message antesocofo just waits for the first event and then goes on by itself. I can play the notes slowly, fast or not play them at all, the score plays as if it received a “play” message.

Does anyone knows why the MIDI option is not working? Could anyone suggest other options of writing a score to conduct antescofo?

Thank you very much!!

Hi there!

Perhaps @giavitto or @arshiacont could clarify the behaviour of Antescofo, but to my understanding there are perhaps 2 issues that you might need to consider.

  1. The use of HMM/semi-HMM chain - if what you are doing is like this:
    NOTE 61 1 measure1
    NOTE 62 1
    NOTE 63 1
    NOTE 64 1
    NOTE 61 1 measure2
    NOTE 62 1
    NOTE 63 1
    NOTE 64 1

And then you keep repeating this chain for say 100 measures, there aren’t any “distinct” features telling Antescofo which bar you are on. So what ends up happening (in my understanding) is that the listening machine becomes too “smart” and sometimes either lingers on bar 1 or teleports to bar 3.

  1. MIDI handling in Antescofo >0.92 - The listening machine gives consideration to neighbouring notes and harmonics of the note (e.g. with a given C4, C5 can be considered as C4, since if you are using a microphone, sometimes it picks up C5 stronger than C4 on an instrument).

What you might consider is creating a setvar that triggers nextevents. Mr. Giavitto kindly provided an algorithmic follower example here - MIDI handling in v1.0-410 - #3 by cow. It works really well - though I sometimes have issues when I exit the midi_follower function (it gets stuck in limbo as it is listening for the setvar when I am back to HMM following).

Other strategies include this tabla following: Tabla and input representation
This example is pretty much what you are looking for, except that it only does nextevent messages and if you accidentally skip beat 2 (or Antescofo doesn’t recognize this), then you will need to quickly do beat 2 and 3 in quick succession.
And a really interesting example by José Miguel Fernandez: https://www.youtube.com/watch?v=I2VmJonTbKM

If anyone on this forum knows how he did this I would love to know more!