Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

7 - Développer/traduire/documenter/annoncer une application

Dernier post
Page : 1/3   -   Aller directement à la page : 1  2  3 

MétaSurface64

aletheia utilisateur non connecté France
La metaSurface64 est une surface de contrôle de transformations continues du son en temps réel qui dispose à la fois de son propre générateur de boucles jusqu'à 64 voix et d'un moteur FX multieffets.
Image

Cette surface est dédiée à la recherche et à la création de séquences audios.

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

Il est proposé d'écrire et d'intégrer de nouveaux plug-ins en langage Faust à la surface. Vous pouvez également définir les contrôleurs pour des plug-ins externes incorporés à votre DAW.
Enfin, vous pouvez créer de nouveaux pavages pour votre surface :
Image

Les fichiers audios des pavés peuvent être multicanaux. La sortie de chaque pavé sur Jack se règle indépendamment et peut être mono ou multicanal.

Pour intaller cette application :

git clone https://github.com/dblanchemain/metaSurface

make metaSurface
make install PREFIX=/usr/local


puis pour Linux :

./metaSurface.sh


La documentation est disponible ici :

http://blanchemain.info/Documents/Programmation/index.php?page=metaSurface

Cette version 1.0 a été réalisée et testée sur debian/LibraZik2

minimoineau utilisateur non connecté
Salut aletheia !
Ben dis donc, ça a l'air hyper puissant et complet cet engin! Et soit dit en passant, la documentation est très bien faite et détaillée. Bravo !

Tu n'aurais pas une petite démo à nous faire écouter?

minimoineau utilisateur non connecté
Oups... Je suis en train d'écouter "5mn pour les oubliés d'Hart Island" qui utilise la La metaSurface64.
Très expérimental! L'ambiance sombre est réellement palpable...

aletheia utilisateur non connecté France
Euh! "5Mn pour les oubliés d'Hart Island" n'est pas vraiment une démo de la metaSurface même si je l'utilise.
On peut mieux faire pour une démo.
Je travaille sur une autre création et je vais en profiter pour réaliser quelques démos vidéos, mais pour l'instant je dois rédiger une proposition de contribution pour l'International Faust Conference (IFC-20) sur la recommandation de S.Letz.

minimoineau utilisateur non connecté
OK! On attend la démo avec impatience!
Bon courrage pour le reste! wink

olof utilisateur non connecté
personnellement, je n'arrive pas à l'installer.

au stade
make metaSurface make install PREFIX=/usr/local


j'obtiens ceci :

make: rien à faire pour « metaSurface ».
make: *** Aucune règle pour fabriquer la cible « make ». Arrêt.


des idées sur ce qui ne va pas chez moi ?

aletheia utilisateur non connecté France
Si tu as compilé le programme il faut faire

en root

make install PREFIX=/usr/local


C'est déjà bien d'être arrivé là!!! Ça me rassure.

olof utilisateur non connecté
bon, je suis un peu a la ramasse donc, j'ai betement recopié la méthode donnée sur le github :
Pour intaller cette application :

git clone https://github.com/dblanchemain/metaSurface

make metaSurface make install PREFIX=/usr/local

puis pour Linux :

./metaSurface.sh


et ai tapé en une seule ligne
make metaSurface make install PREFIX=/usr/local


bon, du coup ai tout recommencé en separant make et make install...

donc le git clone pas de souci

à make, j'obtiens
make: « metaSurface » est à jour.


et au make install (en root)
cp metaSurface.sh /usr/local/bin
chmod 755 /usr/local/bin/metaSurface.sh
chmod: impossible d'accéder à '/usr/local/bin/metaSurface.sh': N'est pas un dossier
make: *** [Makefile:18: install] Error 1


et si je tente ensuite le ./metaSurface, j'ai

bash: ./metaSurface.sh: Permission non accordée


aletheia utilisateur non connecté France
Bon, j'ai laissé des erreurs.
Pour tester j'ai compilé et installé metaSurface64 sur une autre machine.

Il faudra recharger github :

git clone https://github.com/dblanchemain/metaSurface


Dans le dossier faire :

make metaSurface


Il ne devrait plus y avoir de problème
Il a fallu que je charge main.ccp et l'enregistrer à nouveau pour que cela fonctionne?!!! Problème de time du fichier je suppose.

Si vous avez :

make: « metaSurface » est à jour.


Ce n'est pas bon. Charger le fichier main.ccp et enregistré le à nouveau sans rien modifier, et recommencé.

Ensuite ( en root ) :

make install PREFIX=/usr/local


Il ne devrait pas y avoir de messsages d'erreurs.

dans un terminal en simple utilisateur :

metaSurface.sh


Si l'interface est incomplète, c'est que les chemins des dossiers de configuration ne sont pas bons.

olof utilisateur non connecté
ok, installation reussie, et ai pu le lancer (pour cela ai du rajouter deux librairies non listées : libboost-system et libboost-filesystem.

en 3 secondes, j'ai trouvé mon premier bug, un vrai mulet !
appui sur le bouton droit de la souris plante direct :
the left button was pressed
mouse x: 543
mouse y: 308
 etat : 112   0  0 x : 343 y: 278
 etat : 101   0  0 x : 343 y: 278
LLVM ERROR: out of memory
Aborted


aletheia utilisateur non connecté France
Ok! Je vais ajouter ces 2 librairies dans la liste.
Clic sur une fenêtre vide, sans pavage, => plantage. Bug identifié, corrigé.


Pour le reste?

olof utilisateur non connecté
Je vais tester tout ça.
tu preferes que je mette mes commentaires, decouvertes de bugs et autres ici ou sur le github ?

aletheia utilisateur non connecté France
Ici, c'est très bien.

Je devrai présenter 2 réalisations : Petite cosmogonie Saturnienne et Du Même à L'Autre bientôt.
Elles utilisent toutes les 2 des séquences réalisées avec la metaSurface.

olof utilisateur non connecté
Ok
alors, je tente de suivre les premiers pas du manuel.

à ce stade :
Ouvrez le menu <fichier> -> <Nouvelle surface>

Une fenêtre s'ouvre qui vous permet de choisir une surface prédéfinie.

Une fois la sélection faite appuyez sur Valider

Si vous obtenez bien votre surface, c'est que votre installation de l'application est correcte.


je n'obtiens pas de surface, juste un ecran blanc, quelque soit le modele que je tente de sélectionner.

je continue neanmoins mon exploration jusquà la selection d'un son :

Pour entendre votre sélection vous pouvez cliquer sur le bouton speaker à droite du nom du fichier.


et là le programme plante avec ceci en message console :

/home/olivier/metaSurface/sounds/Audio 1-1.wav canaux : 1 Sample rate = 44100 frames : 316928
��c5V prog : import("/usr/local/share/metaSurface/faust/stdfaust.lib");import("/usr/local/share/metaSurface/faust/soundfiles2.lib");ds=soundfile("[url:{'��c5V'}]",1);vmeter(x)= attach(x, envelop(x) : vbargraph("[2][unit:dB]", -70, +5));envelop = abs : max ~ -(1.0/ma.SR) : max(ba.db2linear(-70)) : ba.linear2db;sample1 = so.sound(ds, 0);gain = vslider("[0]gain",0.1,0,2,0.01) : si.smoo;gate = button("[1]gate");gdec(x) = hgroup("Player",x);tdec(x) = gdec(vgroup("[1]",x));lect(x) = gdec(hgroup("[2]",x));lgain=tdec(gain);lgate=tdec(gate);lmet=lect(par(j,1,hgroup("c%2j",vmeter)));smp1 = display_progress(sample1.play_progress(lgain,lgate)):lmet;process = smp1;
name : Padplayerfilename padPlayer.dsprcfilename /home/olivier/.Padplayer-rc
Libfaust version : 2.15.11 (LLVM 7.0.1)
Cannot create factory : ERROR : unable to open file runtime.lib


il est à noter que j'avais dans une premiere tentative appuyé sur le bouton speaker avant de selectionner le son et à avait aussi planté, mais avec ce message ci :

/ canaux : 0 Sample rate = 0 frames : 0
free(): invalid pointer
Aborted


j'arrete là mon exploration pour le moment, mais je continuerai, car je suis interessé par l'idée d'interfacer metasurface avec Frontières.
je precise cela car j'ai vu dans ton exemple de chargement de fichier son un repertoire .borderlands sur ta machine, et donc, si tu l'utilises, tu seras surement interessé par essayer frontieres sur lequel je travaille, et echanger des tests ... (fin de pause publicité)

aletheia utilisateur non connecté France
Bonjour
L'installation n'est pas correcte.
Copie le dossier surfaceBkg de ton dossier de compile dans metaSurface

Et relance l'application. Ça devrait fonctionner. (je vais corriger cela)

Je ne comprends pas ton : ��c5V

tu devrais avoir : /home/olivier/metaSurface/sounds/Audio 1-1.wav

Avec ��c5V comme nom de fichier, ça ne peut pas fonctionner.

Tu es en UTF8?

En fait, comme la surfaceBkg n'est pas trouvée il doit y avoir un problème, mais c'est étrange. Je n'ai cela sur aucun de mes pc.

Tu n'as pas recompilé Faust? Si c'est la version du dépôt, il doit manquer des éléments indispensables. Faust doit être compilé avec make all ou make dev.
Où est-il installé?
La Factory ne trouve pas les librairies de Faust.

Effectivement, Frontière m'intéresserait!

olof utilisateur non connecté
ce qui apparait dans la console est : [url:{''}], le copier coller a donné ��c5V, aucune idee de pourquoi...

je ne suis pas au fait de l'UFT8, je crois que c'est la langue, et je suis en français sur librazik 3

je n'ai pas recompilé faust, c'est la vzersion de librazik 3 (2.15.11)

j'ai aussi libfaust2 et faust-common d'installés (meme version)

j'ai testé de nouveau avec surfacebkg copié, ok, maintenant j'ai le graphique de la surface, mais le problème est le même a l'ppui sur speaker apres, avec

/home/olivier/metaSurface/sounds/Audio 1-1.wav canaux : 1 Sample rate = 44100 frames : 316928
��m�UU prog : import("/usr/local/share/metaSurface/faust/stdfaust.lib");import("/usr/local/share/metaSurface/faust/soundfiles2.lib");ds=soundfile("[url:{'��m�UU'}]",1);vmeter(x)= attach(x, envelop(x) : vbargraph("[2][unit:dB]", -70, +5));envelop = abs : max ~ -(1.0/ma.SR) : max(ba.db2linear(-70)) : ba.linear2db;sample1 = so.sound(ds, 0);gain = vslider("[0]gain",0.1,0,2,0.01) : si.smoo;gate = button("[1]gate");gdec(x) = hgroup("Player",x);tdec(x) = gdec(vgroup("[1]",x));lect(x) = gdec(hgroup("[2]",x));lgain=tdec(gain);lgate=tdec(gate);lmet=lect(par(j,1,hgroup("c%2j",vmeter)));smp1 = display_progress(sample1.play_progress(lgain,lgate)):lmet;process = smp1;
name : Padplayerfilename padPlayer.dsprcfilename /home/olivier/.Padplayer-rc
Libfaust version : 2.15.11 (LLVM 7.0.1)
Cannot create factory : ERROR : unable to open file runtime.lib


à noter qu'en recommençant exactement la meme manip aussitot, j'obtiens ceci

/home/olivier/metaSurface/sounds/Audio 1-1.wav canaux : 1 Sample rate = 44100 frames : 316928
�h�]U prog : import("/usr/local/share/metaSurface/faust/stdfaust.lib");import("/usr/local/share/metaSurface/faust/soundfiles2.lib");ds=soundfile("[url:{'�h�]U'}]",1);vmeter(x)= attach(x, envelop(x) : vbargraph("[2][unit:dB]", -70, +5));envelop = abs : max ~ -(1.0/ma.SR) : max(ba.db2linear(-70)) : ba.linear2db;sample1 = so.sound(ds, 0);gain = vslider("[0]gain",0.1,0,2,0.01) : si.smoo;gate = button("[1]gate");gdec(x) = hgroup("Player",x);tdec(x) = gdec(vgroup("[1]",x));lect(x) = gdec(hgroup("[2]",x));lgain=tdec(gain);lgate=tdec(gate);lmet=lect(par(j,1,hgroup("c%2j",vmeter)));smp1 = display_progress(sample1.play_progress(lgain,lgate)):lmet;process = smp1;
name : Padplayerfilename padPlayer.dsprcfilename /home/olivier/.Padplayer-rc
Libfaust version : 2.15.11 (LLVM 7.0.1)
Cannot create factory : ERROR : unable to open file runtime.lib


et une 3e fois, c'est ��yi�U que j'obtiens ...

aletheia utilisateur non connecté France
J'ai modifié metaSurface.cpp sur github. (à recompiler donc)
Normalement, tu devrais pouvoir entendre du son en cliquant sur le speaker de la fenêtre principale, pas les autres. Cela permettrait de tester des choses.

voici le code pour le speaker de la fenêtre "Pavé" :

bool metaSurface::testFileDSP(string st1){
  SF_INFO sfinfo;
  string sFileName=tabPave[selectPad-1].getPath()+"/"+tabPave[selectPad-1].getFile();
  const char *path=sFileName.c_str();
  cout <<sFileName <<endl;
  SNDFILE* sndfile=sf_open(path, SFM_READ, &sfinfo) ;
  sf_close(sndfile) ;
  cout <<path <<" canaux : " << sfinfo.channels<<" Sample rate = "<< sfinfo.samplerate<<" frames : "<<sfinfo.frames<< endl;
  string nameFile="simplePlayer.dsp";
  if(sfinfo.channels>1){
  string prog;
  prog=prog+"import(\"stdfaust.lib\");";
  prog=prog+"import(\"soundfiles.lib\");";
  prog=prog+"ds=soundfile(\"[url:{\'"+sFileName+"\'}]\","+to_string(sfinfo.channels)+");";
  prog=prog+"vmeter(x)= attach(x, envelop(x) : vbargraph(\"[2][unit:dB]\", -70, +5));";
  prog=prog+"envelop = abs : max ~ -(1.0/ma.SR) : max(ba.db2linear(-70)) : ba.linear2db;";
  prog=prog+"sample1 = so.sound(ds, 0);";
  prog=prog+"gain = vslider(\"[0]gain\",0.1,0,2,0.01) : si.smoo;";
  prog=prog+"gate = button(\"[1]gate\");";
  prog=prog+"gdec(x) = hgroup(\"Player\",x);";
  prog=prog+"tdec(x) = gdec(vgroup(\"[1]\",x));";
  prog=prog+"lect(x) = gdec(hgroup(\"[2]\",x));";
  prog=prog+"lgain=tdec(gain);";
  prog=prog+"lgate=tdec(gate);";
  prog=prog+"lmet=lect(par(j,"+to_string(sfinfo.channels)+",hgroup(\"c%2j\",vmeter)));";
  prog=prog+"smp1 = display_progress(sample1.play_progress(lgain,lgate)):lmet;";
  prog=prog+"process = smp1;";
  cout <<sFileName <<" prog : " << prog<< endl;
  createDSP(prog, st1);
  }
}


À l'origine j'avais la variable path dans :

ds=soundfile(\"[url:{\'"+path+"\'}]\","+to_string(sfinfo.channels)+");";


que j'ai remplacé par sFileName.
Je crois que la variable path en question crée un problème pour la création de l'url, chez toi. Je ne sais pas pourquoi.

J'utilise une version modifiée de stdfaut.lib et de soundfiles.lib pour les 2 autres speakers, et cela crée un problème de lien avec les librairies de Faust. La version modifiée de soundfiles.lib permet de disposer d'une barre de progression pendant la lecture du fichier.

Par ailleurs, comme tu utilises un Faust non compilé, je ne garantis rien, car je ne sais pas s'il dispose de toutes les libs pour le dev, indispensable ici pour la libFaust embarquée.
Le Grame a modifié les dépendances des libs :-(github faust)

Citation :
runtime.lib file removed and code moved to interpolators.lib


Ceci n'est disponible que dans les dernières versions.
Personnellement j'utilise libfaust version : 2.21.4 compilé par mes soins dans /usr/local avec make all
la dernière version est la master-dev 2.27
https://github.com/grame-cncm/faust

make all
make install
tout sera installé dans /usr/local/
Je n'ai jamais rencontré de problème sous Debian/Linux

olinuxx utilisateur non connecté France
@olof : si tu veux faire un essai avec la 2.27, passe me voir sur IRC.

olof utilisateur non connecté
ok olinuxx, je vais faire ça.

aletheia utilisateur non connecté France
Je suis sous LibraZiK2
J'ai supprimé la metaSurface de mon pc portable.

git clone https://github.com/dblanchemain/metaSurface


J'ai encore été obligé de rechargé le main.cpp et de le sauvegarder sans changement?
Est-ce que quelqu'un pourrait me dire comment éviter ce problème?

make metaSurface


sudo make install PREFIX=/usr/local


dans un autre terminal :

metaSurface.sh


Tout fonctionne a priori. Le dossier surfacesBkg est bien copié à la bonne place.
Les liens avec les librairies de Faust fonctionnent.

Sur mon portable : Faust a été compilé également.

Dans la version 2.15, je ne trouve pas les libs interpolators.lib et runtime.lib. C'est certainement la raison pour laquelle cela ne fonctionne pas.

olof utilisateur non connecté
ai reussi à compiler faust 2.27.2
mais à la recompile de metaSurface j'ai ça apres :
/usr/bin/ld : ne peut trouver -lfaust
collect2: error: ld returned 1 exit status
make: *** [Makefile:11: metaSurface] Error 1


Page : 1/3  [Suivant]
1  2  3 
Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

calixtus06, 14:33, jeu. 28 mars 2024: Bonjour et bienvenue à b.vl :-)
calixtus06, 09:30, mer. 27 mars 2024: Bonjour et bienvenue à Noar :-)
olinuxx, 18:50, lun. 25 mars 2024: Bonjour et bienvenue à Ted Demore cool
olinuxx, 17:52, dim. 24 mars 2024: Bonjour et bienvenue à Noitavon cool
calixtus06, 11:07, jeu. 21 mars 2024: Bonjour et bienvenue à obds, ceric :-)
obds, 16:12, mar. 19 mars 2024: Cet édito est juste parfait. Trop beau !
olinuxx, 11:48, ven. 15 mars 2024: Bonjour et bienvenue à Jerry cool
calixtus06, 18:03, mer. 13 mars 2024: Bonjour et bienvenue à tanguero :-)
olinuxx, 11:01, dim. 10 mars 2024: Bonjour et bienvenue à lolo cool
bda, 16:59, sam. 09 mars 2024: Chapeau pour l'édito. Vous êtes au top les gars :-)
allany, 07:20, jeu. 07 mars 2024: Ça ne fait jamais de mal, c'est l'éditorial ! [Lien]
olinuxx, 19:52, mer. 06 mars 2024: Bonjour et bienvenue à TrkNrk cool