French/français : Bienvenue sur le logiciel de suivi du projet LibraZiK. Après vous être inscrit, vous pouvez commenter les tâches ouvertes, créer de nouvelles tâches, voter pour des tâches, vous inscrire à des tâches pour être tenu au courant des évolutions,… Pensez à être le plus précis possible dans vos messages. D'avantage d'information concernant le logiciel de suivi du projet LibraZiK.
Anglais/english : Welcome to the LibraZiK project tracking software. After registering, you can comment open tasks, create new tasks, vote for tasks, register for tasks to be kept informed of developments,… Remember to be as precise as possible in your messages. More information about the LibraZiK project tracking software. Feel free to write in French or in English.
- Status Closed
- Percent Complete
- Task Type Demande fonctionnalité / Feature request
- Category distribution → nouveau logiciel / new software
-
Assigned To
Olivier Humbert - Operating System
- Severity Low
- Priority Very Low
- Reported Version version 1.3
- Due in Version version 2 20181115
-
Due Date
Undecided
-
Votes
1
- Olivier Humbert (01.06.2016)
- Private
Opened by Olivier Humbert - 02.03.2016
Last edited by Olivier Humbert - 06.09.2018
FS#31 - Hybrid Reverb 2
Voir si ça vaut le coup de l’empaqueter
- marche bien ?
- licence libre ? → oui : la licence mentionné dans les fichiers-source est GPL-2+.
Repoussé à LZK 1.5 .
Voir si on peut encore le compiler/empaqueter (voir les 2 fichiers attachés).
http://www2.ika.rub.de/HybridReverb2/ et http://www2.ika.ruhr-uni-bochum.de/HybridReverb2/
dc09_27_hybridreverb2_2.0_sma... (13.96 MiB)
reprise du code par jpcima :
Après un bon week end de boulot là dessus avec Jean Pierre (jpcima), une version 2.0.2+20180624~git1f8e07a-0librazik1 est empaquetée et est dispo dans testers.
Retours bienvenus avant de la pousser dans users.
À noter qu’au premier lancement, un écran apparaît pour permettre le téléchargement des réponses impulsionnelles que ne sont pas libre (”gratuit pour du non-commercial”), ce qui permet de pouvoir distribuer le logiciel HybridReverb2 en respectant la licence, et en repoussant la responsabilité des licences des IRs sur l’utilisateur. J’ai envoyé un courriel aujourd’hui aux développeurs (du logiciel et des IRs) pour leur demander de passer les IRs sous une licence CC BY SA par exemple, ce qui permettrait une distribution des IRs également et donc, une installation facilitée pour l’utilisateur.
Bons tests !
Nouvelle version 2.0.2+20180624~git3084a2e-0librazik1 dispo dans testers.
Toujours pareil : retours bienvenus !
Note pour moi même pour la page de doc à créer :
Mis dans https://librazik.tuxfamily.org/doc2/logiciels et dans https://librazik.tuxfamily.org/doc2/paquets Page créée : https://librazik.tuxfamily.org/doc2/logiciels/hybridreverb2 (et intégration de l’emplacement des fichiers de préférences-utilisateur)
Lien dans la page linuxmao.org mis : http://linuxmao.org/HybridReverb2#Installation
J’en ai profité pour créer un tag spécifique “réverbération à convolution”, ce qui a permis d’améliorer la page de tag “réverbération” en lui ajoutant une liste des réverbérations à convolution : https://librazik.tuxfamily.org/doc2/tag/reverberation#reverberation_a_convolution
J’ai fini la documentation initiale ( https://librazik.tuxfamily.org/doc2/logiciels/hybridreverb2 ) à partir du site originel, et en y ajoutant quelques infos provenant de http://www.kvraudio.com/developer_challenge_2009.php#dc09_27
Nouvelle version 2.1.0-0librazik1 dispo dans testers.
Nouvelle version 2.1.0+20180627~gita139511-0librazik1 qui apporte la traduction en français de l’interface.
(note pour moi même, les captures d’écran sur la page de documentation sont donc à refaire)
En vue de l’empaquetage des RI en licence Creative Commons, j’ai fait plusieurs modifications dont il faut tenir compte.
Tout d’abord j’ai fait un dépôt où j’ai stocké les IR en format FLAC. Cela économise une grande quantité d’espace (29Mo de données installées).
Elles sont utilisables comme telles car le programme accepte ce format directement.
https://github.com/jpcima/HybridReverb2-impulse-response-database
Il faut éditer le fichier XML afin de substituer à la licence propriétaire une licence CC (à l’intérieur de la balise <notes>).
D’autre part, j’aimerais ajouter une traduction (ex. <notes-fr>) que je permettrai au programme d’afficher lorsque la langue française est sélectionnée.
J’ai ajouté une option à la construction qui permet d’utiliser les RI à partir de usr/share/HybridReverb2 par défaut.
Il faudra ajouter cette option à la construction par CMake: -DHybridReverb2_UseLocalDatabase=ON
Alors, les RI seront automatiquement utilisées sans interaction de l’utilisateur préalable.
Testé dans Ardour et comme application autonome. Aucun souci concernant le son, la gestion des RI, la fabrication de pré-réglage, l’import de RI ‘autre’, l’EQ.
Par contre, dans Ardour, les pré-réglages sélectionnés ne sont pas mémorisés, à chaque ré-ouverture du projet Ardour, HybridReverb charge systématiquement
le même pré-réglages (n°40). J’ai sauvegardé dans Ardour mes prépréglages fait dans HR, mais à la réouverture, il ne se charge pas automatiquement.
Il me faut re-cliquer sur le nom du pré-réglage dans la fenêtre du greffon d’Ardour pour qu’il se charge. Que ce soit ceux fournis par HybridReverb ou ceux
fait par l’utilisateur, même problème, HybridReverb se charge toujours avec le même pré-réglage.
J’ai oublié de mentionner que la version testée dans Ardour est la version lv2.
Je viens de tester le vst dans Reaper, même comportement.
Une permière tentative de test avec Ardour m’a permis de déceler un problème d’édition de liens.
Lorsque la libFLAC était préchargée dans Ardour, cela pouvait produire un conflit avec HybridReverb2 dans lequel JUCE embarque sa propre version statique de la bibliothèque.
Maintenant, je vais tester avec Ardour 5.12. (pour préciser, mon environnement de développement principal n’est pas une LibraZiK)
J’ai su réproduire le bogue et identifier de quoi il s’agit.
Tant que l’IGU du programme n’est pas chargée, le moteur de convolution n’est pas instancié dans le processeur audio.
Alors, les paramètres reçus sont sans effet, et les paramètres émis sont des valeurs par défaut.
Or, Ardour tente de communiquer avec le greffon par paramètres sans instancier l’IGU préalablement, et c’est l’origine du problème.
Il faut réétudier le chargement des préférences, de sorte à ce que ça puisse se faire dès l’instanciation.
Par ailleurs, je dois faire en sorte d’enlever le code d’IGU qui est entremêlé au chargement des préférences. (boîtes de dialogues, notification d’erreur)
Nouvelle version 2.1.0+20180820~gita7d84f9-0librazik1 dispo dans testers.
Les différences sont :
- support du gestionnaire de session NSM
- correction de divers bogues
@Jean-Pierre : y’a t’il quelque chose de spécial à tester ?
Rien de nouveau qui soit véritablement majeur. Lorsque je m’attaquerai au problème des paramètres, ce sera bien de retester de fond en comble à ce moment-là.
Pour l’instant, moi même je teste sur les hôtes légers prioritairement : jalv, carla; beaucoup moins avec les logiciels STAN et encore moins avec les logiciels commerciaux. (mais, j’ai mis Tracktion sur l’ordi hier, on verra ce que ça donne)
A propos de l’empaquetage : je fais remarquer que c’est possible d’embarquer la base de données de RI en Flac (30 Mo).
voir l’option -DHybridReverb2_UseLocalDatabase=ON “Use a preinstalled RIR database in PREFIX/share/HybridReverb2”
Tu veux dire que ça évite d’embarquer la base de donnée compressée de 99,6Mo ? Si oui, c’est intéressant !
Je viens de regarder un peu ça, et si j’ai bien compris, il faut que les RIR en FLAC soient déjà présent sur le système où on compile pour que l’option -DHybridReverb2_UseLocalDatabase=ON soit fonctionnelle.
Si je comprends toujours bien, les RIR en FLAC sont dans un autre de tes dépôts ( https://github.com/jpcima/HybridReverb2-impulse-response-database ).
Pour me simplifier la tâche, te serait-t’il possible d’ajouter ce dépôt ( https://github.com/jpcima/HybridReverb2-impulse-response-database ) en temps que submodule du dépôt https://github.com/jpcima/HybridReverb2/ ? Ainsi avec un “git clone https://github.com/jpcima/HybridReverb2/ –recursive” les RIR en FLAC seraient également téléchargées. En outre, il faudrait probablement modifier le Makefile (ou équivalent) pour que l’utilisation de l’option -DHybridReverb2_UseLocalDatabase=ON cherche la présence des RIR en FLAC à une autre endroit que PREFIX/share/HybridReverb2 durant la construction.
D’ailleurs j’y pense en écrivant, y a t’il vraiment besoin de la présence des RIR en FLAC dans PREFIX/share/HybridReverb2 lors de la construction, ou bien suffit-il de les avoir présentes dans PREFIX/share/HybridReverb2 au moment de l’exécution ? Si c’est uniquement au moment de l’exécution du logiciel, alors je peux me débrouiller facilement pour empaqueter ça correctement pour LibraZiK-2 sans t’embêter à changer des choses.
Plutôt, je peux placer une étiquette de version sur le dépôt, ainsi tu auras une archive récupérable.
Un (nouveau) paquet hybridreverb2-impulse-response-database de version 1.0.0-0librazik1 contenant les réponses impulsionnelles en FLAC est disponibles dans testers.
Je prépare un nouveau paquet hybridreverb2 l’utilisant dans la foulée.
Quand ça passera dans users, mettre un lien dans :
- https://librazik.tuxfamily.org/doc2/paquets - https://librazik.tuxfamily.org/doc2/lexique/r#reponse_impulsionnelle
Paquet hybridreverb2 en version 2.1.0+20180903~gita7d84f9-0librazik1 disponible dans testers.
Celui contient (normalement) les modifications nécessaires pour provoquer l’installation du paquet hybridreverb2-impulse-response-database et utiliser les RI qu’il contient sans que l’utilisateur final n’ait besoin de les installer manuellement.
Retours bienvenus avant de le pousser dans users.
Ceci dit, j’ai oublié un truc avec le paquet hybridreverb2-impulse-response-database qu’il me faut donc refaire.
Nouvelle version 1.0.0-0librazik2 de hybridreverb2-impulse-response-database qui corrige l’oubli.
Tout est bon pour le testage maintenant !
Retours bienvenus avant de le pousser dans users.
À priori, tout fonctionne bien, même si le problème de rappel de pré-réglage n’est toujours pas corrigé (comme dit par jpcima plus haut).
Par contre, à noter que si on l’utilisait dans d’anciens projets Ardour, il faut supprimer l’instance de hybridreverb de la piste (ou du bus)et la remettre.
Sinon, le son ne sort pas du greffon.
Quand tu dis “dans d’anciens projets Ardour”, tu veux dire avec les versions précédentes d’HybridReverb2 provenant de LibraZiK ?
Oui. Je fais un projet Ardour pour chaque greffon/groupe de greffon à tester. Je les garde (généralement) en vue de re-tester les futures versions à venir des greffons,
ce qui m’évite de refaire l’édition MIDI ou l’acquisition Audio.
J’ai donc repris le projet sur le quel j’avais testé la précédente version d’HybridReverb de LibraZiK.
Les pistes ou bus sur lesquels étaient insérées HybridReverb ne sortaient plus de son. J’ai vérifié le routage, essayé de changer de pré-réglages,
refaire mes envois….mais rien ne fonctionner. En supprimant le greffon, puis en le remettant, le son fonctionne.
Si j’ai bien compris, les IRs ne sont plus mêmes (de Wav elles sont passées à FLAC), peut-être est l’explication à cela.
OK, c’est bon à savoir pour les testers, même si ça n’influera pas pour les users puisqu’il n’y a pas encore de paquet dans users.
Ça semblerait logique oui. @Jean-Pierre, tu en dis quoi ?
Il y a un stockage des préférences dans ~/.config/HybridReverb2, et avant le paquet des RI cet endroit contenait aussi les Wav téléchargés.
La seule explication que je verrais à ce phénomène, ce serait que le fichier qui était renseigné dans l’attribut presetFile ait sauté entretemps.
Le fait d’effacer le dossier ~/.config/HybridReverb2 remet toute la configuration à neuf.
Si tu peux reproduire le problème, ce serait bien de poster le contenu des préférences.
Comment reproduire le bogue @jpcima ?
L’ancienne version lzk ne semble plus dans les dépôts (en tout cas Synaptic ne la trouve pas).
Peut être en désinstallant le paquet hybridreverb2-impulse-response-database ?
Alors j’ai désinstallé le paquet hybridreverb2-impulse-response-database qui a entraîné avec lui la désintallation du paquet hybridreverb.
Puis j’ai réinstallé hybridreverb mais paquet cassé car il dépend du paquet hybridreverb2-impulse-response-database qui n’est pas tiré par hybridreverb
(si je comprends bien le tout?!).
Une fois les 2 paquets sélectionnés et installés (j’ai au préalable mis à la corbeille ~/.config/HybridReverb2).
Je lance ensuite hybridreverb (application autonome) et se crée automatiquement un nouveau dossier ~/.config/HybridReverb2.
Je peux comparer les 2 :
Dans mon ancien ~/.config/HybridReverb2 je trouve les IRs en wav, et les fichiers ‘HybridReverb2_presets.xml’, ‘partition_wisdom.xml’ et ‘preferences.xml’.
Dans la nouvelle installation, ~/.config/HybridReverb2 ne contient plus les IRs en wav ni ‘HybridReverb2_presets.xml’.
Les IRs en Flac et le fichier’HybridReverb2_presets.xml’ sont désormais dans /usr/share/HybridReverb2
Chose curieuse les fichiers ‘preferences.xml’ sont identiques alors qu’il me semblait y avoir vu une différence à la ligne <strategy>0</strategy> :
- dans l’ancien, il me semble qu’avant la mise en corbeille il y avait <strategy>1</strategy> mais après l’avoir sorti de la corbeille pour le stocker en lieu sûr
(et avoir lancer entre temps HybridReverb), je ne retrouve plus ce chiffre, le 0 est là comme dans celui de l’installation toute fraîche.
Je n’ai pas l’impression, a priori, que ce problème puisse être en lien avec l’emplacement des RI.
Cela ressemble toujours au même problème principal, étant que tant que l’éditeur graphique n’est pas instancié, le convoluteur ne l’est pas non plus. En conséquence, il n’y a pas de sortie sonore.
Le code original est mal fait sur ce point ; tant que l’hôte ne fait pas pédaler la boucle événementielle de l’IGU du greffon, c’est inutilisable. La solution c’est de détricoter le code pour isoler le calcul de l’IGU, ce qui est vite dit, mais en réalité une tâche bien plus compliquée qu’il n’y paraît.
On peut reproduire ce problème en dehors d’Ardour. Il suffit de lancer soit dans jalv.gtk soit dans jalv, pour se retrouver dans un cas qui fonctionne et l’autre non.
Quant à “strategy”, j’ai fait une changement sur la valeur par défaut de cette option.
strategy=0 : temps réel (optimisation du pire cas)
strategy=1 : rendu en différé (optimisation du cas général)
J’ai refais les captures d’écran pour les avoir en français.
Je le déclare prêt à passer dans users.
Fait : https://librazik.tuxfamily.org/dotclear/blog/?post/Nouveaut%C3%A9s-LibraZiK-pour-la-semaine-35-de-2018 Merci encore aussi pour les retours d’expérience et l’aide Nico. Et merci à Jean Pierre pour le boulot effectué ! Kudos !
Je ferme ici car le boulot initial est fait. On verra la suite dans un autre fil pour l’amélioration de l’intégration du rappel des préréglages :
http://librazik.tuxfamily.org/flyspray/index.php?do=details&task_id=564