< Back to IRCAM Forum

Adjustable delay times

I’m using the UBC Toolbox Delay Unit in a patch for Double Bass and Antescofo.

I want the delay unit to play some individual notes (that are also pitch shifted) in between double bass pizz notes. The delay time should be adjusted according the performance tempo. As far as I know, the UBC Toolbox Delay Unit expects a specific “delayTime”, not in values associated with performance tempo. Is there a way to have the analyzed tempo adjust the delay time for UBC Toolbox delay units?

Tempo is notated as BPM 96.

Screen-Shot-2013-04-24-at-12.24.08-PM.png

This means that you have an effect or process that by default accepts absolute-time values. But you want to express those time-values in relative inside the content of their message/action.

You have two options:

(1) Use Antescofo functions

Declare a function that converts Beats to Milli-seconds in your score and use that inside a message. For example, assuming that your patch receive is DelayTime that accepts a float in milli-seconds, you have something like this in your Antescofo score:

1.0 DelayTime @beat2ms(2.0)

where beat2ms is defined in the beginning of your score as follows:

@FUN_DEF beat2ms(X) {

1000X60.0/RT_TEMPO

}

What it does: The value @beat2ms(2.0) is left unevaluted until real-time performance and in the very last possible instance. And at that time, Antescofo uses the lastly recognized tempo (RT_TEMPO) to convert 2.0 to Milli-seconds following the defined Formula in the above definition.

Advantage: You don’t change your patch but you get to use relative values!

Disadvantage: Once the value is sent to the receive, it can not be changed! For example, if it’s the time for a line and during the ramp the tempo changes, it won’t adapt!

(2) Use Max Transport

Alternatively, and ONLY if the object in question allows, you can use Max’s Transport system (new since Max5). Refer to Max Tutorial on this and also check the PDF file in the distribution folder of Antescofo: Antescofo_HelpFiles/Docs/MaxAntescofo_DurationTable.pdf

Advantage: If patched correctly, you can send Antescofo real-time tempo outlet to Transport and enjoy reactivity event on Line~ and similar

Disadvantage: Very few objects in Max use the Transport System. And the timing expressivity is highly limited!

Larry / Arshia:

The UBCToolbox delay unit can receive messages to change the delayTime either with the message delayTime timeInMS or delayTimeL timeInMS rampTimeInMS.

So, the message delayTime 500 will immediately switch to a delayTime of 500 and the message delayTimeL 500 1000 will reach a delay time of 500 ms in 1000 ms. Be aware though that changing the delay time quickly with sound coming in will cause frequency distortions (which you may or may not like).

If you want to put these messages into an antescofo score as Group (GFWD) messages, you can convert the internal tempo into ms. In some of my old antescofo files I had functions to convert the internal RT_TEMPO variable from beats to millisecs, but I think the internal architecture has changed recently so Arshia will have to give you the details on how you make the conversion in the new version of antescofo.

  • Keith