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

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

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

MultiSpace3D

aletheia utilisateur non connecté France
Le MultiSpace3D est un logiciel de spatialisation du son dans un environnement multicanal développé sous Linux, mais qui peut être compilé pour Windows avec Msys2.
Image
Il n’y a pas de limites au nombre de canaux ni au nombre d’éléments audios.

Il permet le placement d’objets audios d’un séquenceur (Ardour ou Reaper) dans l’espace 3D d’un studio, d’une salle de concert ou de tout autre dispositif haut parlant en utilisant de simples coordonnées cartésiennes (x,y,z). Ces coordonnées peuvent être enregistrées dans les séquenceurs par automation.
Il ne s’agit pas de concurrencer des logiciels comme le Spaces3D du GRM ou le Spat Révolution de l’Ircam, mais de fournir un outil simple et efficace pour la spatialisation du son sous Linux.
Il dispose nativement de 15 greffons qui permettent de spatialiser le son pour des espaces de projections classiques : Auro5.1, Auro7.1, Auro9.1, Auro11.1, Auro13.1, mais aussi pour des structures plus complexes comme le studio 115 de Radio France, le studio 4 de l’Ircam ou le Klangdom de la NHK.
Ces greffons reposent sur le langage Faust du Grame, et l’interface communique avec les greffons avec le protocole OSC( Open Sound Control).

Par ailleurs, il dispose d’un utilitaire pour créer de nouveaux espaces afin d’en étendre les possibilités.
Image
Il est possible de générer des fichiers DSP compilables dans l’application en ligne du Grame, FaustIDE, ou avec les scripts du langage Faust, pour générer des greffons LV2 ou VST .

Ce logiciel est sous licence GPL v3.
Cette version  a été réalisée et testée sur Debian/LibraZik 2.
La documentation est disponible ici .

jujudusud utilisateur non connecté France
Salut,

Si je trouve un peu de temps, je vais essayer d'explorer ton logiciel. :-)

sri_raoul utilisateur non connecté
Bonjour,
Je viens d'essayer de l'installer sur Librazik 3 en suivant les instructions suivantes:
Citation :
Installation du programme

Vous pouvez charger les sources et l'exécutable ici :


git clone https://github.com/dblanchemain/space3D
<br />cd space3D
<br />make install


(sans les bien évidemment...)

Voici le résultat de l'étape sudo make install:

cyril@Cyril:~/space3D$ sudo make install
[sudo] Mot de passe de cyril : 
cp multiSpace3D.bin /usr/local/bin/
cp multiSpace3D.sh /usr/local/bin/
chmod 755 /usr/local/bin/multiSpace3D.bin
chmod 755 /usr/local/bin/multiSpace3D.sh
if [ -d "/usr/local/share/multiSpace3D" ]; \
    	mkdir /usr/local/share/multiSpace3D;\
fi
/bin/sh: 3: Syntax error: "fi" unexpected (expecting "then")
make: *** [Makefile:24: install] Error 2


Si quelqu'un sait comment résoudre ça...merci d'avance alors!

aletheia utilisateur non connecté France
Désolé; dans le makefile, il faut modifier la ligne ainsi :

if [ -d "/usr/local/share/multiSpace3D" ]; then \
    	mkdir /usr/local/share/multiSpace3D;\
fi


J'ai apporté des modifications à l'appli, ce matin ( gestion basique de fichiers)

aletheia utilisateur non connecté France
Sous LibraZiK3 vous allez certainement devoir recompiler :

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

par sécurité, car j'ai apporté des modifications ce matin.

make clean
make all
sudo make install

olinuxx utilisateur non connecté France
Bonjour aletheia.

J'ai jeté un œil au dépôt et je vois qu'il y a plusieurs fichiers binaires dedans (des .bin, des .so notamment). Que sont-ils ? C'est plutôt inhabituel pour des logiciels libres et à sources ouvertes où on évite les binaires au maximum.

aletheia utilisateur non connecté France
Bonjour
Je vais faire un zip pour une installation des binaires ( pour multiSpace.bin qui est l'appli à proprement parlé lancée avec multiSpace3d.sh et spaceCreate qui est le configurateur de nouveaux espaces de projection).
L'installation avec
sudo make install

Permets une installation directe des binaires pour LibraZiK2.
Maintenant je suppose qu'il faut recompiler pour LibraZiK3.
make clean
make all
sudo make install


Cependant, le dossier Plugins comporte les 15 vst et lv2 pour Linux. Il faudrait tous les compiler avec faust. Je préfère les fournir.
Ils ont été compilés avec le faustIDE du Grame.
Je fournis tous les DSP pour ceux qui veulent les modifier et/ou les recompiler.
Je dois aussi compiler les plugins pour windows.

olinuxx utilisateur non connecté France
Citation :
Cependant, le dossier Plugins comporte les 15 vst et lv2 pour Linux. Il faudrait tous les compiler avec faust. Je préfère les fournir.

Pourquoi préférer les fournir en binaires ?
Ça freine une adoption potentielle par les distributions d'avoir les sources pleines de binaires.

aletheia utilisateur non connecté France
Je vais faire un paquet zip pour les binaires qui sera téléchargeable à partir de mon site.

Pour ce qui est des plugins, ils sont proposés en binaire et sous la forme de fichier DSP (dans le dossier DSP) qui doivent être compilé avec Faust ou avec le faustIDE du Grame. Pour Windows, cela ne peut être fait qu'avec le faustIDE. C'est un exercice de patience.

Le programme n'a pas de sens sans ces Plugins.

Rien n’oblige les distributions d'intégrer ces binaires si cela les dérange. Mais pour un utilisateur lambda, ça peut tout de même faciliter la vie.
S'ils ne sont pas proposés compilés, il faudra prévoir une installation complète de Faust et proposer un script pour automatiser leur compilation dans le dossier Plugins.

Je comprends bien la démarche, mais mon intention était de simplement faciliter les choses lors d'une installation rapide.

Après, chacun fait comme il veut.

aletheia utilisateur non connecté France
les Binaires complets pour LibraZiK2 sont maintenant disponibles sous la forme d'une archive à cette adresse :http://blanchemain.info/Documents/Programmation/Programmes/multiSpace3D.tar.gz

Le dossier github ne comporte plus de binaires.

Les greffons sont disponibles précompilés pour LibraZiK2 ici :http://blanchemain.info/Documents/Programmation/Programmes/linuxPlugins.tar.gz

La documentation a été adaptée.

La version Windows/Msys2 sera bientôt disponible.

olinuxx utilisateur non connecté France
Merci pour ça @aletheia.

J'ai refait une construction de .deb pour LibraZiK-3, et c'est plus propre comme cela.
Question : comment compiles-tu les greffons LV2, uniquement avec un "faust2lv2 greffon.dsp" ?

olof utilisateur non connecté
j'ai quelques interrogations sur ce que fait ce logiciel :
- s'agit il d'un système de psycho-accoustique qui permet de donner la sensation de placement en 3D du son pour quelqu'un qui écoute un son stéréo ?
- je peux la trouver ou la construction .deb pour librazik 3 ?

aletheia utilisateur non connecté France
Pour @olinux :

Parfait pour le deb. Bonne nouvelle.
Pour les greffons, dans la documentation :

faust2lv2 -qt4 (ou -qt5) (nom du plugin).dsp

Même chose pour les vst

faust2faustvst -qt4 (ou -qt5) (nom du plugin).dsp


Qt est important. Dans l'avenir, l'ouverture de l'interface du greffon devrait également ouvrit un spaceMeter adapté et j'aurai besoin de Qt.
Je vais réserver les vst pour Reaper car je dois apporter une modification aux DSP pour celui-ci.

Pour @Olof :

J'ai un studio 18 canaux comme décrits sur mes pages : http://blanchemain.info/Documents/Musique/index.php et j'utilise le greffon Dominium qui correspond à mes besoins. Ceci me permet de placer en statique ou en dynamique les objets dans l'espace 3D.

Je peux également enregistrer les paramètres de position par automation pour chacun d'entre eux. Cela n'a rien à voir avec le vbap d'Ardour et il faut absolument le court-circuité sur toutes les pistes et bus pour que cela fonctionne correctement. Le problème ne se pose pas pour Reaper.

Dans Ardour il faut utiliser des pistes monos et placer sur chaque piste le greffon qui convient et router ces pistes vers un bus dont le nombre de sorties correspond au greffon utilisé. Le processus a très bien fonctionné pour moi pour Du Même à l'Autre et la Cosmogonie Saturnienne avec un bus 18 canaux qui correspond au Dominium. J'enregistre ensuite les sorties du bus dans un fichier .wav 18 canaux.

Les déplacements sont enregistrés comme automation. Attention cependant, la coordonnée y qui correspond à la hauteur dans l'espace est inversée, c'est-à-dire que visuellement dans Ardour pour l'automation, un déplacement vers le bas fait monter l'objet et réciproquement dans l'espace 3D. Je n'ai pas de solution pour inverser cela pour l'instant même si cela peut paraître a priori trivial.

Je propose plusieurs studios de référence comme le studio 115 de radio France ou le studio 4 de l'IRCAM, mais aussi un dôme comme le Micadôme de Nice. La description de ces espaces est donnée dans la doc.

Par ailleurs, cette application permet de modifier tous les espaces proposés pour les adapter à des besoins particuliers et surtout, il est possible de créer de nouveaux greffons.

aletheia utilisateur non connecté France
Pour obtenir une version "stéréoisée" il est possible d'utiliser l'IEM suite.

Je ne suis pas parvenu à faire fonctionner la suite Sparta sous LibraZiK2.

Le principe est de placer sur le bus (n canaux) le MultiEncoder IEM en définissant la répartition des enceintes, puis de placer, à la suite, le BinauralDecoder (IEM). En envoyant sur la sortie casque les deux premiers canaux du bus on obtient une version binaurale.

Ceci peut permettre de réaliser une maquette pour un dispositif différent de celui dont on dispose, à charge de l'adapter un fois sur place.

Attention cependant, contrairement au multiSpace3D, le fait de passer par un étage ambisonique modifie l'audio.

C'est ce que je fais pour proposer des versions binaurales de mes pièces.
J'ai utilisé cette répartition pour le Dominium dans le MultiEncoder:
Image

Je fais un remix pour les 5.1 en utilisant le multiSpace3D.

olinuxx utilisateur non connecté France
Merci pour le pointeur @aletheia.

Pour l'instant, je parviens à construire les greffons en LV2, mais ni avec qt4 ni avec qt5.
Pour cela, j'utilise :
faust2lv2 Auro11.dsp

Note qu'il m'a fallu ajouter "-DGLM_ENABLE_EXPERIMENTAL" dans le Makefile pour la construction de spaceCreate et de multiSpace3D.bin . Sans cela, la construction plantait avec :
In file included from multiSpace3D.cpp:20:
/usr/include/glm/gtx/transform.hpp:23:3: error: #error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
 # error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
   ^~~~~
make[2]: *** [Makefile:15: multiSpace3D] Error 1


Si je tente :
faust2lv2 -qt5 Auro11.dsp

la compilation échoue avec :
/usr/bin/faust2lv2: line 196: qmake-qt5: command not found


Si je tente :
faust2lv2 -qt4 Auro11.dsp

la compilation échoue avec :
lv2ui.cpp:1950:1: error: invalid conversion from 'void* (*)(const _LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)' {aka 'void* (*)(const _LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)'} to 'void* (*)(const LV2UI_Descriptor*, const char*, const char*, LV2UI_Write_Function, LV2UI_Controller, void**, const LV2_Feature* const*)' {aka 'void* (*)(const LV2UI_Descriptor*, const char*, const char*, void (*)(void*, unsigned int, unsigned int, unsigned int, const void*), void*, void**, const LV2_Feature* const*)'} [-fpermissive]
make[2]: *** [Makefile:228: Auro11ui.o] Error 1


Quelle est la version de Faust que tu utilises ?

@olof : le paquet .deb est uniquement construit en local pour le moment, il y a plusieurs soucis à corriger avant que ça ne puisse être redistribué.

aletheia utilisateur non connecté France
Bonjour

Pour le make, je n'ai pas besoin de "-DGLM_ENABLE_EXPERIMENTAL". Là, je ne sais pas. Ça compile bien, sans alertes particulières.
Je regarderai si j'ai vraiment besoin de GLM: GLM_GTX_transform.

Pour QT, je ne comprends pas non plus, car je ne fais qu'appliquer les recommandations de Faust2LV2 .

QT5 est manifestement pas correctement installé :"qmake-qt5: command not found".
J'ai la même erreur chez moi avec QT5 sous LibraZik2.
Cela fonctionne avec QT4.

Ça ne serait pas un problème d'installation de QT pour le développement?
Les messages d'erreurs correspondent assez bien.

Essai avec simplement :

faust2lv2 -gui Auro11.dsp


Personnellement j'utilise la version 2.21.4
Embedded backends:
DSP to C
DSP to C++
DSP to FIR
DSP to Interpreter
DSP to Java
DSP to LLVM IR
DSP to old C++
DSP to Rust
DSP to SOUL
DSP to WebAssembly (wast/wasm)
Build with LLVM version 6.0.0

Compiler par mes soins avec

make all


Le All est très important pour moi.

@Olof n'a pas pu compiler la metaSurface64 avec la version 2.15 de LibrZiK3. Il a dû utiliser la version 2.20.2, disponible ici , compiler par lui-même avec le même make all.
On ne peut pas compiler Faust avec la version 2.27 en raison d'une incompatibilité de version de LLVM avec LibraZiK3.

À ce sujet, la metaSurface64 a été présentée à l'IFC2020 International Faust Conference .

aletheia utilisateur non connecté France
Dans les fichiers multiSpace3D.cpp et spaceCreate.cpp, j'ai supprimer la ligne

#include <glm/gtx/transform.hpp>


et cela compile et fonctionne correctement. Je mets à jour le github.

olinuxx utilisateur non connecté France
aletheia écrit :
QT5 est manifestement pas correctement installé :"qmake-qt5: command not found".
J'ai la même erreur chez moi avec QT5 sous LibraZik2.


Cette commande "qmake-qt5" n'existe pas dans Debian.
Bref, ce n'est pas grave pour l'instant, concentrons-nous sur un soucis à la fois.

Concernant le soucis "-DGLM_ENABLE_EXPERIMENTAL", il existe toujours :
In file included from multiSpace3D.h:11,
                 from multiSpace3D.cpp:22:
/usr/include/glm/gtx/transform.hpp:23:3: error: #error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
 # error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
   ^~~~~
make[2]: *** [Makefile:15: multiSpace3D] Error 1


Ce qui semble provenir des fichiers multiSpace3D.h Image et spaceCreate3D.h Image .

aletheia utilisateur non connecté France
J'ai corrigé sur github.

olinuxx utilisateur non connecté France
Très bien, je confirme que ça fonctionne à présent.

Passons à un autre soucis plutôt embêtant. Le fichier de police d'écriture gui/Arial.ttf n'est pas libre car son EULA ne permet pas les modifications, la rétro-ingénierie,... Tu peux lire https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=298545#29 Image à ce propos.

Là où c'est vraiment très embêtant, c'est que tu ne peux pas redistribuer space3d sous licence GPL3 s'il embarque cette police d'écriture. Je suppose qu'il faut alors remplacer cette police d'écriture par une autre qui soit libre.

aletheia utilisateur non connecté France
Pour QT :

le script faust2lv2 donne ceci :

# Default qmake setup (for GUI compilation). This requires Qt4 or Qt5 (Qt5 is
# preferred). We try to locate the qmake executable in some common locations
# here. If this doesn't work out then you can also set the QMAKE environment
# variable explicitly, or use one of the -qt4 and -qt5 options below.
[ -z "$QMAKE" ] && QMAKE=$(which qmake-qt5 || which /opt/local/libexec/qt5/bin/qmake || which qmake-qt4 || which /opt/local/libexec/qt4/bin/qmake || echo qmake)


Chez moi, LibraZiK2, j'ai :

qmake -query

QT_SYSROOT:
QT_INSTALL_PREFIX:/usr
QT_INSTALL_ARCHDATA:/usr/lib/x86_64-linux-gnu/qt5
QT_INSTALL_DATA:/usr/share/qt5
QT_INSTALL_DOCS:/usr/share/qt5/doc
QT_INSTALL_HEADERS:/usr/include/x86_64-linux-gnu/qt5
QT_INSTALL_LIBS:/usr/lib/x86_64-linux-gnu
QT_INSTALL_LIBEXECS:/usr/lib/x86_64-linux-gnu/qt5/libexec
QT_INSTALL_BINS:/usr/lib/x86_64-linux-gnu/qt5/bin
QT_INSTALL_TESTS:/usr/tests
QT_INSTALL_PLUGINS:/usr/lib/x86_64-linux-gnu/qt5/plugins
QT_INSTALL_IMPORTS:/usr/lib/x86_64-linux-gnu/qt5/imports
QT_INSTALL_QML:/usr/lib/x86_64-linux-gnu/qt5/qml
QT_INSTALL_TRANSLATIONS:/usr/share/qt5/translations
QT_INSTALL_CONFIGURATION:/etc/xdg
QT_INSTALL_EXAMPLES:/usr/lib/x86_64-linux-gnu/qt5/examples
QT_INSTALL_DEMOS:/usr/lib/x86_64-linux-gnu/qt5/examples
QT_HOST_PREFIX:/usr
QT_HOST_DATA:/usr/lib/x86_64-linux-gnu/qt5
QT_HOST_BINS:/usr/lib/x86_64-linux-gnu/qt5/bin
QT_HOST_LIBS:/usr/lib/x86_64-linux-gnu
QMAKE_SPEC:linux-g++-64
QMAKE_XSPEC:linux-g++-64
QMAKE_VERSION:3.0
QT_VERSION:5.7.1


qmake-qt4 existe bien chez-moi. Donc, l'option -gui compile en fait avec QT4 chez moi. C'est étrange, mais c'est ainsi.

QMAKE pointe vers qtchooser.

Dans le manifest.ttl Auro11 j'ai ceci :

<https://faustlv2.bitbucket.io/Auro11ui>
    a ui:Qt4UI ;
    ui:binary <Auro11ui.so> .


# Determine the Qt version so that we can edit the manifests accordingly.
QTVERSION=$($QMAKE -v 2>/dev/null | tail -1 | sed 's/.*Qt version \([0-9]\).*/\1/')


En résumé,il utilise qmake pour définir la version, donc si cela fonctionne avec

faust2lv2 -gui Auro11.dsp


Pas de soucis.

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

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]


piratebab

Mégaphone [Afficher / Cacher]

allany, 18:33, jeu. 05 Sep 2024: Semi-automnal, cet éditorial ! [Lien]
olinuxx, 22:00, dim. 01 Sep 2024: Bonjour et bienvenue à bo cool
olinuxx, 16:22, sam. 31 Aug 2024: Bonjour et bienvenue à kicknride cool
calixtus06, 20:50, jeu. 29 Aug 2024: Bonjour et vienvenue à Nano2259 et vfs750 :-)
calixtus06, 11:34, ven. 23 Aug 2024: Bonjour et bienvenue à Clark2024,Chancellor2024, William74, fafa15, Arsene :-)
calixtus06, 10:23, mer. 14 Aug 2024: Bonjour et bienvenue à Dimercia, gaelle, paguy74 et humpf :-)
calixtus06, 14:59, dim. 11 Aug 2024: Bonjour et bienvenue à nkbl :-)
calixtus06, 11:33, ven. 09 Aug 2024: Bonjour et bienvenue à Natha :-)
bluedid29, 22:56, jeu. 08 Aug 2024: Merci pour l'édito et bonnes vacances :-)
allany, 10:42, mar. 06 Aug 2024: Roulement de tambour, claquement de cymbale : c'est l'éditorial ! [Lien]
olinuxx, 15:31, mer. 31 Jul 2024: Bonjour et bienvenue à Clotaire, poch, tempo789, CanardSynth, et BuffetFroid cool
calixtus06, 05:04, dim. 21 Jul 2024: Bonjour et bienvenue à moricod :-)