< Back to IRCAM Forum

making antescofo follow pitch

hello all,

i’m doing my first steps in antescofo. so far, i’ve been able to make it follow some complex scores. my first attempt was making an additive synth to ‘reinforce’ partials from a piano piece. the next step was making the synth to adapt to the pitch of a clarinet. i wanted to do track the fundamental frequency of the notated events continuously, so the add-synth would adapt its frequency to pitch fluctuations of the clarinet. on the maxmsp side i’m using sigmund~, which tracks the fundamental freq continuously, but i get only an initial value in the antescofo side. i know it is an erroneous approach and that i should find a way to tell antescofo to update that variable all the time. should i use a whenever statement? any pointing in the right direction is welcome!
thanks so much in advance for any info,
greets,
marcelo

@petri : Yes! You can use the whenever construction on any internal system variable. Once they get updated, the whenever is waken up and do the actions inside. Inside the action block you can reuse the $Pitch variable to adjust your actions (and do calculations etc.).

More on ‘whenever’ construction: http://support.ircam.fr/docs/Antescofo/manuals/Reference/compound_whenever/
More on internal system variables: http://support.ircam.fr/docs/Antescofo/manuals/Reference/exp_variable/#antescofo-system-variables

Note that the $Pitch variable gives MIDI pitches. So you might want to convert them if necessary using a simple expression.

A note from personal experience: The continuous pitch output from Sigmund~ and the like, might be erroneous from time to time especially in the beginning and the end of an event (depending on instrument). You might want to kind of filter them using the $Pitch variable. You can actually do all this inside Antescofo and whenever by reading the variable from Max! Ask us if you don’t find material on this!

thanks a lot arshia for your comments and advice. i’ll see how to by-pass the sigmund part, and try to find out how to do it inside antescofo directly. yes, any material or tutorial or example is greatly welcome!
btw, slightly off-topic: i tried to find the antescofo courses at ircam in paris, but the formations.ircam.fr site is not working.
thanks again,
marcelo

@petri: One way of filtering Sigmund~ inside Antescofo would be to send Sigmund’s continuous output directly to Antescofo using the External Assignment of an Antescofo variable as described here: http://support.ircam.fr/docs/Antescofo/manuals/Reference/atomic_assignation/#external-assignments

This way, you’d define a variable on this external variable (incoming from Signmund~), and there use the system variable $Pitch to clean it up, and then do whatever you want with it!

This comes more or less to simple scripting once you’re inside your whenever! You can generate synth material and do whatever you want. The power of Antescofo is ofcourse when you’re dealing with time… .

Let us know if things become too complicated! We’re here to help.

PS: the formations website seems to be working here. But they don’t have any Antescofo course offer yet (last one was in May I believe). We’ll notify this group if there is any. Meanwhile, we hope that the new online documentation and examples could get you guys going. If not, use this Forum.