MétaSurface64 v1.0

Posté par  . Édité par Davy Defaud, Xavier Claude, palm123, ZeroHeure et ted. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
30
8
août
2020
Son

La MétaSurface64 est un logiciel audio pour GNU/Linux. Elle reprend le concept de Metasurface d’AudioMulch et des pads matériels (comme le Novation Lauchpad ou le Presonus ATOM) qui permettent de contrôler des instruments externes ou des séquenceurs par des messages MIDI.

La metaSurface, quant à elle, propose une fenêtre dans laquelle il est possible de choisir un pavage. Chaque pavé (polygone) dispose de ses propres paramètres (fichier audio entre autres) et il est possible d’associer une chaîne d’effets via des greffons contrôlés par OSC. Cette surface de contrôle de transformations continues du son en temps réel dispose à la fois de son propre générateur de boucles jusqu’à 64 voies et d’un moteur FX multi‑effets. Elle est destinée à la recherche et à la création d’objets audio pour la composition électroacoustique ou acousmatique.
Ce logiciel est sous licence GPL v3. La dernière version pour GNU/Linux (et Windows) vient de sortir.

MetaSurface64

Chaque pavé de cette surface peut permettre de contrôler directement le gain et les greffons attachés. Il est possible également de contrôler les pistes et les greffons d’un séquenceur externe (Ardour ou Reaper). Pour ce faire, l’application utilise des modules contrôlables par OSC qui proviennent de la bibliothèque du langage FAUST qui est embarqué dans l’application. Il est également possible de disposer d’une entrée externe pour un pavé.

DSP
Il est proposé d’écrire et d’intégrer de nouveaux greffons en langage FAUST à la surface. Ce langage est intégré à la metaSurface via libfaust qui permet de disposer de toutes les fonctionnalités de ce langage. Vous pouvez également définir les contrôleurs pour des greffons externes incorporés à votre station audionumérique (DAW).

Enfin, vous pouvez créer de nouveaux pavages pour votre surface. Les fichiers audio des pavés peuvent être multicanaux. La sortie de chaque pavé sur JACK se règle indépendamment et peut être monophonique ou multicanal.

Pour installer cette application :

git clone https://github.com/dblanchemain/metaSurface
make metaSurface
make install PREFIX=/usr/local

Puis, pour GNU/Linux :

./metaSurface.sh

La documentation est disponible sur blanchemain.info.

Cette version 1.0 a été réalisée et testée sur Debian/LibraZik 2.

Pour ce qui me concerne, je suis compositeur de musique électroacoustique et créateur de logiciels audio pour GNU/Linux, dont mcMidiPlayer, qui est un lecteur MIDI de fichiers audio multicanaux, et space3D64, qui permet la spatialisation 3D sur 64 canaux ; tout ceci est présenté sur cette page.

Aller plus loin

  • # J'aurais bien voulu l'essayer...

    Posté par  . Évalué à 3.

    Mais j'ai cette erreur au lancement :
    /usr/local/bin/metaSurface.bin: error while loading shared libraries: libboost_system.so.1.62.0: cannot open shared object file: No such file or directory.
    Dans testing, la version de libboost est 1.71.0-6+b2.
    Par ailleurs, le make a semblé inutile :
    $ make metaSurface -j6
    make: « metaSurface » est à jour.
    Et quand j'essaye la commande suggérée, j'ai une erreur :
    $ ./metaSurface.sh
    bash: ./metaSurface.sh: Permission non accordée.
    C'est là que je l'ai lancé avec :
    $ /usr/local/bin/metaSurface.sh
    et que j'obtiens l'erreur sur libboost.

    Des solutions ? J'ai hâte de pouvoir l'essayer !
    cordialement,

    • [^] # Re: J'aurais bien voulu l'essayer...

      Posté par  . Évalué à 3.

      Je pense que le problème vient de la présence d'un fichier metaSurface.bin dans le repo git, qui est lié aux bibliothèques en question, et qui n'est pas recompilé par le Makefile:

      ldd metaSurface.bin | grep -i 'not found'
      ldd: attention : vous n'avez pas la permission d'exécution pour `./metaSurface.bin'
              libboost_system.so.1.62.0 => not found
              libboost_filesystem.so.1.62.0 => not found
              libfaust.so.2 => not found
              libsfml-graphics.so.2.4 => not found
              libsfml-window.so.2.4 => not found
              libsfml-system.so.2.4 => not found
              libOSCFaust.so.1 => not found

      Il faut donc recompiler ce binaire:

      # dans le répertoire source
      $ rm metaSurface.bin
      $ touch main.cpp # pour contourner le message make: « metaSurface » est à jour.
      $ make metaSurface.bin

      Et ensuite suivre les instructions de la dépêche. Je n'ai pas toutes les bibliothèques nécessaires (faust…), je ne peux donc pas aller jusqu'au bout de la compilation, et peut-être que tu rencontreras d'autres problèmes ensuite. ;)

      • [^] # Re: J'aurais bien voulu l'essayer...

        Posté par  . Évalué à 1.

        Je me réponds à moi-même: c'est make metaSurface, et pas make metaSurface.bin.

        Après avoir installé faust depuis le code source (en n'oubliant pas de compiler le backend sous forme de bibliothèque dynamique), et ajouté /usr/local/lib dans /etc/ld.so.conf.d/local.conf (suivi de sudo ldconfig), j'ai pu exécuter /usr/local/bin/metaSurface.sh.

        Pour compiler Faust:

        git clone https://github.com/grame-cncm/faust.git
        cd faust
        make all -j12 # pour s'assurer d'avoir la bibliothèque dynamique
        sudo make install

        Il faut là aussi installer des dépendances qui dépendront de ton système (j'ai dû installer llvm-devel sur Fedora 32, par exemple).

      • [^] # Re: J'aurais bien voulu l'essayer...

        Posté par  . Évalué à 2.

        La libboost est plutôt galère sur ce point. Sous ArchLinux (distribution du type rolling release), à chaque mise à jour de libboost, il faut une mise à jour de tous les paquets en dépendant, et recompiler tous les paquets AUR. Impossible d'utiliser un binaire vieux de 2 mois ou 2 mois plus récent.

        Je ne sais pas si c'est une mauvaise indication dans la documentation, qui force au numéro de version près, des changements, continuels dans l'API/ABI ou bien un problème dans les références fournies au lieur (linker)…

        • [^] # Re: J'aurais bien voulu l'essayer...

          Posté par  . Évalué à 1.

          Bonjour
          Désolé, je n'avais pas vu vos déboires.
          Il faut effectivement recompiler, c'est plus sûr.
          Par ailleurs, dans la doc je donne les dépendances de certaines libs. Sous Debian libboost s'installe très bien.
          Il est souhaitable de recompiler faust en utilisant le dépot github master-dev afin d'avoir les dernières updates en particulier pour GTKUI.
          git https://github.com/grame-cncm/faust
          cd
          make all
          sudo make install

          Il est possible que vous soyez obligé de recompiler Liblo. La procédure est également assez simple.

          Utiliser bien le Prefix=/usr/local
          pour l'install, sinon le script de lancement ne fonctionnera pas et devra être modifié.
          Pour le reste :
          http://blanchemain.info/Documents/Programmation/index.php?page=metaSurface

        • [^] # Re: J'aurais bien voulu l'essayer...

          Posté par  . Évalué à 1. Dernière modification le 09/08/20 à 19:47.

          Les numéros de version des lib sur la documentation en ligne sont indicatifs et minimaux.

          C'est bien PREFIX=/usr/local

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.