Cette transformation est programmée de la manière suivante.
GROUP evt6
{
0.5s
2smer ambitus 59 , ambitus 10 (19000 + @rand(2000))
2smer base-pitch 112 , base-pitch 108 (19000 + @rand(2000))
2sy3f maxFreq 5 , maxFreq 7 (19000 + @rand(2000))
2sy3f attack 5 , attack 2 (15000 + @rand(2000))
2sy3f ampJitter 50 , ampJitter 1 (15000 + @rand(2000))
2sy3f Outgain -8 , Outgain -2 (19000 + @rand(2000))
}
Dans Antescofo, une GROUP permet d’abriter une série d’opérations qui sont arrêtées lorsqu’on « tuera » le GROUP. C’est une fonction très pratique lorsqu’on veut passer très rapidement sur plusieurs événements. Si l’on créé un GROUP foo, lors de l’opération « abort foo » on tue non seulement le processus foo avant la fin de son déroulement, mais aussi tout les enfants qu’il abrite (Antescofo est impitoyable…). Ainsi il n’est pas besoin d’attendre que tous les processus se soient entièrement déroulés pour passer à l’événement suivant. Il faut en revanche veiller à ce que chacun des paramètres soit accordé avec sa valeur finale. Lors de la phase de composition, et aussi pendant les périodes de répétitions, de tels court-circuits sont très bienvenus. Dans cet exemple, le GROUP evt6 commencera son action après un délai de 0,5 sec.
Les variables comportant la signalétique « smer » concernent le contrôle des processus markoviens, celles qui comportent « sys3f » sont dédiées aux paramètres de la synthèse 3F.
2smer ambitus 59 , ambitus 10 (19000 + @rand(2000)) provoque un rétrécissement de l’ambitus dans lequel navigue le mouvement markovien. Lorsqu’il est à 100, nous sommes dans un espace chromatique, lorsqu’il est à 0, il se concentre sur une seule hauteur qui est fixée par la variable base_pitch. Ici l’ambitus part de 59 (environ la moitié de l’ambitus chromatique, donc avec des intervalles légèrement plus grands qu’un 1/4 de ton) pour arriver à 10, donc avec des intervalles de 1/10 de ton. La durée de ce processus est de 19 secondes auxquelles s’ajoutent un nombre aléatoire compris entre 0 et 2 secondes.
2smer base-pitch 112 , base-pitch 108 (19000 + @rand(2000)) : c’est ici la valeur centrale de l’ambitus qui baisse de 112 à 108 (ce qui correspond à la note la plus aiguë du piano). La valeur de temps est toujours de 19 sec + (valeur aléatoire entre 0 et 2 sec) donc différente de celle du processus précédent concernant les ambitus. Toutes les valeurs des processus de transformation de ces différents paramètres auront donc des durées légèrement différentes car chacune des valeurs aléatoire sera bien sûr différente des autres.
2sy3f maxFreq 5 , maxFreq 7 (19000 + @rand(2000)) : le nombre de partiels de chacun des sons passe lentement de 5 à 7 , toujours pendant cette valeur de temps.
2sy3f attack 5 , attack 2 (15000 + @rand(2000)) : le temps d’attaque de chaque son diminue progressivement de 5 ms à 2 ms.
2sy3f ampJitter 50 , ampJitter 1 (15000 + @rand(2000)) : la variable « ampJitter » permet de contrôler la répartition des amplitudes sur chacun des spectres. Lorsqu’elle est égale à 50, comme ici au début, les valeurs respectives des amplitudes seront affectées aléatoirement et donneront des pics très différenciés d’un partiel à l’autre. Lorsqu’elle est égale à 1, comme ici à la fin de cette transition, toutes les amplitudes seront égales et nous aurons des spectres très proches les uns des autres au niveau de leurs densités d’énergie réparties du grave à l’aigu.
2sy3f Outgain -8 , Outgain -2 (19000 + @rand(2000)) : il s’agit tout simplement d’un decrescendo sur la sortie de ce module.