• Aucun résultat trouvé

FeedItBack et Iviv / Santiago Quintáns

7.2 FeedItBack : notes de programmation

7.2.2 La souplesse mnésique du numérique

Les trois paramètres principaux de la pédale d’origine s’appellent donc « Delay Time »,

« Feedback Amount » et « Output Volume », auxquels j’ai ajouté « DryWet Level » pour

doser le mixage entre la source et son traitement (cf. figure7.3 page suivante). Les bornes de la plupart des paramètres peuvent être fixées a priori :

– pour Feedback Amount, la quantité de réinjection est un facteur nul au minimum et égal à un au maximum (sous peine de rapidement faire exploser le système) ; – pour DryWet Level plusieurs solutions étaient possibles, mais j’ai gardé le même

in-tervalle [0.; 1.]4qui correspond au dosage du son traité, le son de la source parcourant simultanément l’intervalle inverse [1.; 0.] (0.5 correspond à un mixage à égalité) ; – pour Output Volume, le principe d’un coefficient multiplicateur identique s’applique,

aménagé d’une part avec une échelle apparente exprimée selon l’habitude Midi. Quant au paramètre Delay Time, si la pédale d’origine subissait des bornes fixes de 0,5 s à 2 s, soit un écho de 120 à 30 battements par minute, un logiciel peut facilement ne pas se limiter à ces bornes. En effet, la fenêtre storagewindow reproduite sur la figure 7.4 4. Les nombres décimaux, normalement écrits avec une virgule en typographie française, peuvent être notés ici avec un point pour rester cohérent avec la notation de Max/M sp, par ailleurs comme dans la plupart des langages de programmation.

Chapitre 7. FeedItBack et Iviv / Santiago Quintáns

Fig. 7.3 – Capture de l’interface visuelle de FeedItBack

page suivante montre cette variété possible pour le logiciel, à partir des cinq préréglages que j’ai établis grâce au système pattr intégré à Max5. Les deux bornes du délai, nommées ici Delay-time_max et Delay-time_min, reprennent les valeurs de la pédale d’origine pour les deux premiers préréglages, soit respectivement 2000 et 500 (en millisecondes), puis des valeurs tout à fait différentes pour les trois autres préréglages, allant jusqu’à 10 000 ms pour le maximum (#4) et jusqu’à 1 ms pour le minimum (#5).

En deçà d’une milliseconde, on trouve avec les nombres entiers un délai nécessairement nul, ce qui ne présente pas d’intérêt. En revanche, la borne supérieure n’admet pas de limite théorique, et le jeu musical avec des délais longs (i. e. bien au-delà des 2 secondes proposées au départ) fait parfois émerger des trésors de dialogue avec la réminiscence ainsi « matérialisée ». La limite technique de cette borne supérieure ne dépend ici que de la quantité de mémoire vive disponible, une fois qu’on a pris soin d’ajuster la taille des lignes à retard (avec l’objet numberbox tout en haut à gauche de la figure 7.3, initialisé par défaut à 10 000 ms).

Au total, chaque préréglage mémorise ici la valeur de huit paramètres différents, qui sont rappelés dans l’ordre où ils sont affichés dans les fenêtres storagewindow ou

client-window, de haut en bas6 :

5. Pour les (patcher attributes), cf. section6.2.3page126.

7.2. FeedItBack : notes de programmation

Fig. 7.4 – Fenêtre des préréglages de FeedItBack

1. Delay-time_max : valeur maximum du délai variable, en millisecondes ; 2. Delay-time_min : valeur minimum du délai variable, en millisecondes ; 3. Delay-time_init : valeur d’initialisation7 du délai variable, en millisecondes ; 4. DryWet_init : valeur d’initialisation du rapport de mixage entre la source et le

traitement, entre 0. et 1. (correspond en fait au coefficient ctraitmt de mixage du traitement, sachant que csource = 1 − ctraitmt) ;

5. Feedback_init : valeur d’initialisation du taux de réinjection du signal retardé, entre 0. et 1. ;

6. Input_selection : sélection de l’entrée parmi les trois possibilités Ch. 1+1, Ch. 2+2, et Ch. 1+2 pour mettre en correspondance la première, la deuxième, ou bien les deux voies d’entrées avec les deux voies internes du traitement ;

7. Pedal_selection : sélection de la connexion entre les données Midi de type Control Change no27, qui correspondent à la pédale A du pédalier, et l’un des trois para-mètres assignables parmi DelayTime, Feedback, et DryWet ;

8. Comment : commentaire textuel (facultatif).

7.2.3 Une pédale « détriplée »

Comme la pédale d’origine, la pédale B reste dédiée au volume général de sortie (Ouput Volume), cependant, contrairement à la pédale d’origine, le logiciel FeedItBack permet de contrôler au pied trois paramètres supplémentaires à partir de la pédale A :

– la durée du délai (DelayTime), – le taux de réinjection (Feedback), – et le mixage (DryWet).

Ainsi, ces trois paramètres qui devaient être ajustés à la main avec les potentiomètres rotatifs de la RV-3, inaccessibles lorsque l’on joue déjà d’un instrument avec les mains, de-viennent directement accessibles aux pieds dans notre dispositif, par une A-permutation8

sur trois paramètres.

6. Le message priority envoyé à l’objet pattrstorage permet de modifier de cet ordre, calqué par défaut sur l’ordre alphabétique, en associant un nombre entier au nom du paramètre (les valeurs négatives sont autorisées).

7. L’initialisation a lieu lors de chaque rappel de préréglage. 8. Cf. section6.2.2page123.

Chapitre 7. FeedItBack et Iviv / Santiago Quintáns

En outre, dans la fenêtre principale du logiciel (figure 7.3 page 152), la petite zone carrée nommée « Remote Control » permet à la fois de visualiser et de simuler le pédalier : – les deux petits curseurs jaune et bleu (objets slider) représentent respectivement les pédales d’expression A et B, c’est-à-dire les données Control Change no27et no7; – et les trois boutons numérotés 1, 2 et 3 (objets message), capables de prendre individuellement la couleur jaune lorsqu’ils sont activés, représentent les pédales 1, 2, et 3 (données Program Change) qui permettent de sélectionner le paramètre qui sera effectivement contrôlé à distance par la pédale A, « détriplée » par le logiciel.

7.2.4 Lignes à retard avec réinjection

Le sous-patch [fib-DelayEngine], reproduit sur la figure7.5 page 156, montre à lui seul l’essentiel de la chaîne de traitement audionumérique, largement inspirée du tutoriel MSP « 28. Delay line feedback ». Néanmoins, j’ai modifié ce tutoriel une première fois pour le connecter aux variables du reste du logiciel, mais surtout je l’ai augmenté de mécanismes anti-clic.

Le choix du couple d’objets tapin˜ et tapout˜ plutôt que de l’objet delay˜ repose sur l’impossibilité de la réinjection chez ce dernier, comme le précise le manuel de référence [Zicarelli et al., 2006a, p. 114] :

The differences between delay˜ and tapin˜/tapout˜ are as follows : First, delay times with delay˜ are specified in terms of samples rather than milliseconds, so they will change duration if the sampling rate changes. Second, the delay˜ object can reliably delay a signal a number of samples that is less than a vector size. Finally, unlike tapin˜ and tapout˜, you cannot feed the output of delay˜ back to its input. If you wish to use feedback with short delays, consider using the comb˜ object.

Ainsi, deux circuits audio stéréo principaux traversent la fenêtre de haut en bas : la source directe, à gauche de la fenêtre, et le signal retardé, passant par les objets tapin˜ et tapout˜, au milieu de la fenêtre. Dans ce dernier circuit, le branchement cybernétique typique de la réinjection se reconnaît avec les deux boucles formées par les connexions audio jaunes autour des objets tapin˜ et tapout˜.