Du coup, cela se présente comme cela :
On a sur la partie gauche la chaîne des effets, et sur la partie droite l'effet sélectionné. On note que le plugin proposé, ici un générateur d'enveloppe peut être contrôlé par plusieurs CC (Control Change), mais aucun n'est utilisé dans cet exemple. Le plugin produit en sortie une enveloppe sous forme de CC20.
Dans l'exemple, le deuxième effet est un générateur qui produit du bruit blanc, le troisième prend le bruit blanc, et en fait un signal périodique à la fréquence de la dernière note reçue, la dernière étape est un filtre passe-pas résonnant dont la fréquence de coupure est réglée sur le CC20, donc la sortie de l'enveloppe.
Et le résultat donne
http://www.sinerj.org/~loyer/ReaRack/PluckedStringModelling.mp3
Je suis assez bluffé par le résultat obtenu par un principe aussi simple !!!
Ah ! Certains ont peut-être entendu de la polyphonie dans cet exemple... ET oui, en fait, la chaîne d'effet a été dupliquée en autant de voix que nécessaire (sur des pistes différentes), et un effet dédié aiguille chaque note vers un canal différent, ce qui permet au routage de Reaper de les renvoyer vers les bonnes pistes. (Il est pratique ici de pouvoir router les flux MIDI entre piste). Pour faciliter les choses, les instances d'un même module module se parlent, ce qui fait qu'un jouant sur un paramètre d'une des voix, cela peut être répercuté sur les autres voix.
Dans le package ReaRack, on trouve les briques de base :
- l'oscillateur (sinus/triangle/carré/bruit blanc) avec modulation de forme, d'amplitude, de fréquence, ou en anneau,
- un LFO,
- un générateur d'enveloppe
- un filtre résonnant,
- un ampli (qui permet d'amplifier un signal audio d'après un CC qui provient d'un LFO ou d'un générateur d'enveloppe par exemple),
- un CC mixer pour combiner des CC entre eux (multiplication/addition/overlay),
- un trigger pour générer des notes sur un évenement. cela permet de faire un séquenceur du pauvre : on prend une rampe générée par le LFO, et le trigger lance une note lorsqu'un seuil est atteint. En mettant plusieurs triggers, on obtient une séquence,
- un key follower, si l'on veut générer des CC en fonction des notes jouées,
- le poly splitter qui permet la polyphonie,
- un sample and hold : le principe est de bloquer un flux de CC, et émettre le dernier bloqué sur un événement (note),
- Karplus-Strong Delay... le fameux module qui boucle un échantillon d'après une période de temps
Je trouve le concept assez original, même s'il ne remplace pas une vrai suite modulaire. Il y manque toutefois un petit script : l'équivalent du CC mixer pour les flux audio. En effet, Reaper permet d'avoir plusieurs flux audio sur une même piste, et on pourrait coder des algorithmes FM complexes facilement si l'on avait un petit mixer (comme le CC mixer, mais en plus simple) qui merge des flux au sein d'une même piste. Et avec Reaper, cela devrait prendre près de 5 lignes de codes ! Sans cela, on peut toujours créer plusieurs pistes pour générer des signaux séparément et les recombiner ensuite. Une autre approche serait un fonctionnement type "Sidechain" de l'oscillateur : une entrée est juste additionnée, et l'autre module la fréquence. (Cela permettrait de composer n'importe quel algorithme sur une piste). L'autre amélioration simple et bienvenue serait de renommer les plugins : les préfixes trop long font que l'on ne sait pas qui est quoi dans la chaîne à cause de la taille de la fenêtre !
Et puis je suis bluffé par le rendu de l'émulateur de corde pincée compte tenue de la simplicité de sa réalisation !
Commentaire