Publicité

Annonce

Réduire
Aucune annonce.

ReaRack... un synthé modulaire pour Reaper

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • ReaRack... un synthé modulaire pour Reaper

    ReaRack est un peu un ovni en matière de synthèse, puisqu'il s'agit non pas d'un synthétiseur, mais plutôt d'une palette de plugin écrit en scripte Reaper (JSFX) permettant de créer son synthé dans une approche modulaire, et c'est un DAW généraliste qui assure le routage ! C'est évidemment conçu pour Reaper qui gère les scripts JSFX nativement. On pourrait envisager d'utiliser ReaJS (un plugin offert par Cockos pour les autres environnements supportant les plugins VST), mais on a intérêt à pouvoir chainer facilement des modules Effet MIDI VST, ce qui est plus ou moins pratique selon les hôtes. NB: je n'ai pas essayé.

    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 !
    Dernière modification par floyer, 10 mai 2017, 19h59.
    http://www.sinerj.org/~loyer/piano/

    It's never too late to learn to play the piano. (tip of the day)

    Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

  • #2
    Merci Floyer, c'est très intéressant.
    Je vais regarder ça.

    Je n'ai pas de modulaire, et pas envie d'investir. Mais ça donne envie d'y toucher ...


    Envoyé par floyer Voir le message
    Il y manque toutefois un petit script : l'équivalent du CC mixer pour les flux audio. ...... Et avec Reaper, cela devrait prendre près de 5 lignes de codes !
    Allez Floyer, pendant ton café demain matin, tu nous fais ces 5 lignes !!! :brave:nananere

    Lien de téléchargement: http://stash.reaper.fm/v/28403/ReaRack-ModularSynth.zip

    Qui veut un "petit" modulaire pour 100 ko ... (chaque module n'est que quelques lignes de code, comme dirait Floyer ...)
    Dernière modification par Alain44, 10 mai 2017, 13h45.
    Roland RD2000, Nord Piano 2 HP, KORG PA900
    FocusRite Scarlett 6i6, Lucas Nano 300, 2xMonitors CM30,
    MacBookPro + Logic Pro X + divers VSTs (AU), Zoom Q2n, Boss VE-5

    Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

    Commentaire


    • #3
      Salut Floyer,

      Petit pb d'install de Rearack:

      - la doc dit de placer le dossier dans "Reaper>Effects". Sur mon Mac, Je n'ai pas de dossier Effects à ce niveau.
      J'ai seulement un Reaper>Contents>Plugins>FX et un Reaper>Contents>InstallFiles>Effects

      J'ai essayé de mettre de dossier contenant les .jsfx à ces deux endroits.
      Je ne vois pas les Rearack dans Reaper (même après "Scan for new plugins")

      - ils parlent aussi de "ReaPack": je ne trouve pas ce que c'est

      Où faut il mettre les .jsfx ?
      Roland RD2000, Nord Piano 2 HP, KORG PA900
      FocusRite Scarlett 6i6, Lucas Nano 300, 2xMonitors CM30,
      MacBookPro + Logic Pro X + divers VSTs (AU), Zoom Q2n, Boss VE-5

      Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

      Commentaire


      • #4
        Envoyé par Alain44 Voir le message
        Je n'ai pas de modulaire, et pas envie d'investir. Mais ça donne envie d'y toucher ...
        Tu dois être le bon client... Même si cela ne rivalise pas avec des solutions commerciales, cela permet de tester... tout en étant plus pratique de Csound, Pure Data, etc. Et si tu te sens limité, tu peux toujours y ajouter ton propre script en t'inspirant de ce qui existe (il y a de quoi faire!).

        Envoyé par Alain44 Voir le message
        Allez Floyer, pendant ton café demain matin, tu nous fais ces 5 lignes !!! :brave:nananere

        Qui veut un "petit" modulaire pour 100 ko ... (chaque module n'est que quelques lignes de code, comme dirait Floyer ...)
        L'oscillateur fait 400 lignes de codes, mais il y a tout de même 17 paramètres, 4 types d'oscillateurs, 3 types de modulation (+ l'absence de modulation), la coordination intermodules (la réplication des paramètres entre oscillateurs) et 100 lignes rien que pour afficher le dessin de la forme d'onde. Avec tout cela, 400 lignes, c'est assez compact ! D'ailleurs, même si le design graphique est assez spartiate, l'avantage de ReaRack est d'offrir un petit affichage graphique pour pas mal de chose et suivre un peu.

        Pour faire la somme de deux paires de canaux (ReaPack travaille sur des paires de canaux), le script suivant suffit :

        Code:
        // (C) 2017, Frédéric Loyer
        
        // Creative Common, CC-BY-SA
        // channel mixer
        
        desc:FLR mixer2
        //tags: mixer
        //author: Frédéric Loyer
        
        in_pin:left input 1
        in_pin:right input 1
        in_pin:left input 2
        in_pin:right input 2
        out_pin:left output
        out_pin:right output
        
        @sample
        
        spl0 = spl0 + spl2 ;
        spl1 = spl1 + spl3 ;
        Le script est assez basique.

        Le principe est de cliquer sur l'option "2 in / 2 out" pour obtenir quelque chose comme cela :




        Cela permet avec le plus d'ajouter des entrées (c'est limité à 64 !!), et d'indiquer pour chaque plugin sur quelles entrées et sorties il est. Ainsi, chaque oscillateurs génère là ou tu souhaites et est modulé par le canal que tu souhaites. C'est une option de routage originale. L'intérêt est par exemple d'utiliser "3-Band Splitter" pour découper ton signal en 3 bandes de fréquence, placer ensuite des effets sur chaque bande, et rassembler le tout ensuite. (NB: Je viens de redécouvrir que le script "3-Band Joiner" qui fait ce que fait mon script avec 3 fois 2 canaux et un gain paramétrable pour chaque). Certains VSTi multitimbraux (Kontakt, autres) permettent aussi de rediriger chacun des instruments vers des canaux différents, ce qui permet de mettre des effets différents sur chacun par exemple.

        Là mon script prends les 2 paires d'entrées que tu choisis et les mixe là vers le canal que tu veux.

        Il faudra que j'intègre ce script au modulateur, ce qui évitera de multiplier les effets.

        Nota : avec des VSTs traditionnels, tu ne peux pas les superposer avec... les événements MIDI seraient consommés par le premier et inaccessibles au second. Avec ReaRack, c'est différent, puisque chaque plugin régénère les événements MIDI. En effet, si tu fais de la FM, tu vas avoir 2 oscillateurs mini et un générateur d'enveloppe qui vont avoir besoin de lire les mêmes événements.

        Envoyé par Alain44 Voir le message
        - la doc dit de placer le dossier dans "Reaper>Effects". Sur mon Mac, Je n'ai pas de dossier Effects à ce niveau.
        J'ai seulement un Reaper>Contents>Plugins>FX et un Reaper>Contents>InstallFiles>Effects

        J'ai essayé de mettre de dossier contenant les .jsfx à ces deux endroits.
        Je ne vois pas les Rearack dans Reaper (même après "Scan for new plugins")

        - ils parlent aussi de "ReaPack": je ne trouve pas ce que c'est

        Où faut il mettre les .jsfx ?
        Le mieux est d'aller dans le menu Reaper "Options / Show REAPER resources path in explorer/finder...", et là tu devrais avoir le bon répertoire Effects. Ensuite, tu places tes scripts là où tu veux, de préférence dans un sous-dossier pour les isoler du reste. Inutile de rescanner.

        SI vraiment, cela ne marche pas, tu peux ajouter à la liste d'effet d'une piste, un script JS au hasard (FX, Add, et choisi JS, puis un des scripts au hasard). Sur la page de contrôle du script, tu as l'option "Edit..." qui t'affiche le code source (sympa pour voir comment c'est fait), mais en première ligne, sur fond rouge, le chemin d'accès.

        ReaPack est un gestionnaire de package pour Reaper. https://reapack.com/ (NB: je corrige mon post où j'ai utilisé ReaPack au lieu de ReaRack...)


        PS: Mon soucis avec les noms à rallonge n'est pas lié aux noms utilisés dans les scripts, mais un fichier reaper-jsfx.ini qui déclarait des alias... En supprimant les lignes concernant ReaRack, on a un affichage plus propre de la liste des effets, mais cela n'impacte pas les projets enregistrés (comme les démos).


        PS2: Par ailleurs, on n'est pas limité à moduler les paramètres identifiés en CC input. On veut moduler par exemple un paramètre "en dur" sur l'interface (comme le volume : level(dB)), il suffit de faire :

        Param / FX parameter list / Parameter Modulation MIDI link / Level (dB), puis cocher "LINK from FX or FX parameter" et choisir "MIDI / CC29" par exemple. Avec un LFO qui emét sur ce canal, est c'est fait ! Attention, descendre le signal "baseline value en haut de la boîte de dialogue, sinon, le signal plafonne à 127, et cela ne module pas grand chose. Et visuellement, on voit le curseur de l'interface s'activer au rythme du LFO.

        Cela est envisageable avec n'importe quel VST (la fonction première étant de contrôler un VST avec les potentiomètres de son clavier maître) mais ici, cela présente un certain intérêt.

        Dans le même ordre d'idée, Param / FX parameter list / Show in track Control / Level (dB) permet de déporter un contrôle dans sur le panneau de contrôle de la piste. Cela peut être pratique en modulation FM pour rassembler tous les réglages de volume de chaque oscillateur.
        Dernière modification par floyer, 10 mai 2017, 22h39.
        http://www.sinerj.org/~loyer/piano/

        It's never too late to learn to play the piano. (tip of the day)

        Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

        Commentaire


        • #5
          Merci Floyer ça marche.
          (j'ai les Rearack-bidules dans Reaper…)
          J'essaierai demain …

          En fait le chemin sur mon Mac est:
          "Bibliothèque >Application support>Reaper>Effects>
          et on y place le dossier "ReaRack modular Synth"

          Et quand on démarre Reaper ça marche.

          Pourquoi ce n'est pas clairement dit dans la doc ?
          Si on précise où le mettre, que ce soit clair (OSX,Win), ça prend 2 lignes….
          L'évidence d'untel, et peut être une complication pour un autre …

          Je ne pense pas que la structuration des fichiers de Reaper ait évolué grandement en quelques années … L'install est capital pour un novice.

          Mais bon ( j'ai un peu râlé, tant pis !!) c'est résolu.

          Mais sans toi, mon cher Floyer, j'aurais abandonné, ce qui serait très probablement dommage … à voir la suite ….

          Merci à toi,
          Alain
          Roland RD2000, Nord Piano 2 HP, KORG PA900
          FocusRite Scarlett 6i6, Lucas Nano 300, 2xMonitors CM30,
          MacBookPro + Logic Pro X + divers VSTs (AU), Zoom Q2n, Boss VE-5

          Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

          Commentaire


          • #6
            Pour essayer, tu peux commencer par les démos (des fichiers .rpp livrés avec qu'il suffit d'ouvrir).

            NB: Je suis certain que tu n'ais pas de répertoire Bibliothèque... Library semble plus probable quoi qu'en dise le finder. :nananere (Il t'aurais menti?). Il suffit de taper la touche F4 qui affiche les applications disponibles, taper "terminal", valider, exécuter la commande "ls", sans les guillemets, pour obtenir une liste de répertoires dont Library... mais un "ls /" montre que tu as un deuxième Library. Reste à savoir lequel est le bon. Du coup, si tu trouves un répertoire Bibliothèque, il faut dire où... Documenter un programme n'est pas si simple (et encore moins lorsque l'on n'a pas de Mac sous la main). Et puis le coup de l'option "Bibliothèque" qui apparaît lorsque tu choisis l'option "Aller" dans le finder qu'avec la touche option enfoncée, cela aurait pu en dérouter plus d'un... (d'ailleurs, n'ayant pas installé Reaper sur le Mac de ma femme, je ne garantis pas que c'est le bon... une chance sur deux). Je t'avoue que si je publiais un script Reaper (ce que j'ai fait deux posts plus haut), je serais toujours embêté pour en conseiller comment l'installer sur Mac sans risque d'erreur.
            Dernière modification par floyer, 11 mai 2017, 19h36.
            http://www.sinerj.org/~loyer/piano/

            It's never too late to learn to play the piano. (tip of the day)

            Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

            Commentaire


            • #7
              @Floyer,

              Je comprends très bien tes arguments sympathiques:
              - j'ai parlé en tant que pur utilisateur lambda (bien que je puisse parfois aller un peu plus loin…)
              - tu as souligné le point de vue de celui qui fait le logiciel
              - je comprend tout à fait les différences
              - je voulais juste un peu marquer un petit hiatus (du aux développeurs ou au pb des OS …)… qui peut un peu pénaliser des softs très intéressants … ce qui est dommage ...


              Bref,
              j'ai essayé ReaRack (env 1h):
              - c'est très intéressant
              - les exemples laissent imaginer pas mal de possibilités
              - je ne suis pas habitué à ce type de choses
              - je vais lire tranquillement la doc, et essayer des choses ....
              - je vais chercher des exemples de réalisations …

              - mais globalement, ça me plaît.


              Pour les "gratuits" , le rapport qualité/prix est inadapté... il faut plutôt parler en rapport qualité/temps.
              Je pense pense que ce ReaRack est bien placé AMHA.

              Bien à toi,
              Alain
              Dernière modification par Alain44, 12 mai 2017, 22h50.
              Roland RD2000, Nord Piano 2 HP, KORG PA900
              FocusRite Scarlett 6i6, Lucas Nano 300, 2xMonitors CM30,
              MacBookPro + Logic Pro X + divers VSTs (AU), Zoom Q2n, Boss VE-5

              Cheminer ou arriver: quel est mon but ? La musique est un chemin infini...

              Commentaire


              • #8
                Effectivement, il offre pas mal de possibilités. Le principe d'assigner des numéros de CC semblera moins pratique que de tirer un câble d'un module à un autre sur les synthétiseurs modulaires émulés, mais ne présente pas non plus une difficulté. Il vaut mieux connaître les modalités particulières de Reaper si l'on veut dépasser les capacités de modulation intrinsèque des modules (paramètres non associés explicitement à un CC). Du coup, la réelle difficulté me semble être intrinsèque à la synthèse modulaire.

                En potentiel, je ne sais pas, il me semble que les synthétiseurs modulaires se caractérisent beaucoup par leurs filtres. Avec le principe d'une synthèse soustractive, ils jouent un rôle majeur. Si je regarde un Studio Electronics Modstar Sensei Modular Synth (pas donné tout de même), je constate qu'il y a tout de même 4 filtres de conception différente ! En synthèse FM, il y a le problème du feedback. Sur Reaper, on ne peut pas envoyer la sortie d'une piste sur elle même (les concepteurs de Reaper n'ont pas jugé cela utile), et envoyer le signal sur une autre piste pour le retourner vers la première ne semble pas marcher non plus. On pourrait facilement coder le feedback sur un oscillateur, mais des algorithmes FM plus complexes définissent un feedback portant sur plusieurs opérateurs. (2 algorithmes sur 32 avec un DX7).
                Dernière modification par floyer, 13 mai 2017, 08h03.
                http://www.sinerj.org/~loyer/piano/

                It's never too late to learn to play the piano. (tip of the day)

                Côté piano : Yamaha N1X, pianos VSL Syncron et Vienna Imperial, Garritan CFX, Bechstein Digital Grand, Ivory, Galaxy et beaucoup d’autres pianos virtuels - Côté synthé : Roland A-500 Pro, Native-Instruments Komplete 13, Arturia V Collection 9, Korg Collection 3, Air Music Technology plugins, OP-X Pro II, dexed (émulateur DX7 libre), Yamaha S-YXG50 - DAW : Reaper 6, Cubase Artist 9 - Interface audio : Steinberg UR22 - Casque : AKG K-702

                Commentaire


                • #9
                  Merci beaucoup floyer pour cette information qui est des plus intéressantes, ça à l'air d'être un outil puissant et des plus agréables à utiliser. Il y a de quoi bien s'amuser et expérimenter. Merci pour ce partage

                  Commentaire

                  Chargement...
                  X