URL: https://linuxfr.org/users/thecross/journaux/jouer-avec-son-groupe-a-distance Title: Jouer avec son groupe à distance Authors: Thecross Date: 2021年03月24日T23:12:54+01:00 License: CC By-SA Tags: jack, audio, mao et musique Score: 45 Un certain nombre de groupes de musique ont probablement du mal à répéter en ce moment à cause des confinements successifs. Ce journal vous présente quelques applications libres conçues pour réunir les membres d'un groupe dans une salle de répète virtuelle. Faute de musicien geek dans mon groupe, je n'en ai testé aucune. Ce journal sera donc théorique. # [SonoBus](https://sonobus.net/) J'ai découvert cette application en parcourant le forum d'[Ardour](https://discourse.ardour.org/t/recording-remotely-via-network/105541), où on apprend que le développeur de SonoBus était aussi un développeur d'Ardour. ![Interface de Sonobus](https://sonobus.net/assets/images/sonobus_screenshot.png) ## Principe SonoBus est une application qui permet à chaque membre du groupe de se partager ses flux audio en temps réel. L'interface se présente comme une table de mixage, donc chaque membre peut faire sa balance et ajouter ses effets (égaliseur paramétrique, gate, compresseur). ## Fonctionnalités Les fonctionnalités sont : - Nombre de participants : pas de limite mais conseillé de ne pas dépasser 12 - Type de groupe : privé (avec ou sans mot de passe) ou public - Flux audio : PCM ou Opus - Enregistrement solo, master ou multipiste - Métronome partageable - Lecteur audio interne, pour mettre une musique en fond - Réglages par tranche : niveau, pan, égaliseur paramétrique, compresseur et gate - OS supportés : Windows, MacOS, Linux, iOS et Android ## Architecture SonoBus fonctionne en pair-à-pair. Un serveur hébergé par l'équipe de développement met en relation les clients. Les membres peuvent choisir de rendre leur session privée ou public, afin que d'autres musiciens se joignent. Les flux ne sont pas chiffrés (comme dans toutes les applications présentées ici). SonoBus peut aussi se connecter en direct à une autre instance présente sur le réseau local. ## Vidéo SonoBus existe aussi sous la forme d'un plug-in, qui lui permet de s'intégrer aux logiciels existants voire même d’apparaître comme une source sonore pour faire un stream vidéo sur OBS. ## Avant de jouer La synchronisation entre tous les clients est un point clé pour pouvoir jouer de manière confortable. Le problème est que toutes les lignes ADSL/Fibre n'ont pas la même latence ni la même gigue, ce qui peut entraîner des contretemps gênants. SonoBus règle automatiquement le tampon réseau de chaque utilisateur, et un réglage manuel est possible si ce mode ne présente pas de résultats satisfaisants. ![Réglage du buffer](https://i.imgur.com/hkwMsgE.png) ## Liens [Sonobus](https://sonobus.net/index.html) [Code source client](https://github.com/sonosaurus/sonobus) [Code source serveur](https://github.com/essej/aoo) # [Jacktrip](https://www.jacktrip.org/index.html) Jacktrip est une organisation à but non lucratif qui propose deux applications : - [JackTrip](https://github.com/jacktrip/jacktrip), une application libre qui s'interface avec [Jack](https://jackaudio.org/) pour échanger de l'audio à distance. Cette application peut démarrer en tant que client ou serveur. - [Virtual Studio](https://www.jacktrip.org/studio.html), un service clé en main composé d'une image pour Rasberry pi et d'une appli web propriétaire. ## Principe Pour utiliser JackTrip, il faut être [méthodique](https://www.haven2.com/index.php/archives/configuring-starting-and-running-a-multi-client-jacktrip-server). Voici un exemple de configuration en client-serveur : 1. Chaque utilisateur installe JackTrip et Jack sur son ordinateur. 1. Tous les participants se mettent d'accord sur le format audio (non compressé) à utiliser, et configurent Jack en conséquence. 1. L'administrateur lance autant d'instances du serveur qu'il n'y a de clients, sur son PC. 1. L'administrateur démarre un logiciel de mixage audio (comme Ardour). 1. Les clients se connectent au serveur via une ligne de commande. 1. L'administrateur connecte les clients au mixeur. Voici l'écran du serveur, avec les différentes instances et le mixeur. Ici, l'utilisateur a un mixeur hardware piloté par interface web. ![JackTrip serveur](https://www.haven2.com/wp-content/uploads/2020/06/Main-screen-layout-all-connected-1024x576.jpg) Et voici le routage associé sur QjackCtl. Heureusement, JackTrip dispose d'une fonction pour se souvenir du routage entre deux utilisations. ![JackTrip Qjackctl](https://www.haven2.com/wp-content/uploads/2020/06/Qjackctl-routing-correct-connections.jpg) ## Fonctionnalités Il n'y a pas de fonctionnalité à proprement parler dans JackTrip : l'application s'occupe de router des flux audio bruts sur le réseau au travers de Jack, ce qui la rend flexible. Les fonctionnalités sont portées par les logiciels utilisés autour de Jack (Audacity, Ardour...). ## Architecture Etant donné que les flux échangés sont de l'audio brut interfacés avec Jack, JackTrip peut être utilisé en mode client-serveur aussi bien qu'en mode pair-à-pair, si on imagine que chaque joueur lance son propre serveur et sa propre interface de mixage. La fondation indique les [avantages et inconvénients](https://www.jacktrip.org/technology.html) de chaque architecture. ## Quelques mots sur Virtual Studio JackTrip est puissant mais n'est pas abordable pour le commun des mortels. La fondation a donc développé le service [Virtual Studio](https://www.jacktrip.org/studio.html). ![Virtual Studio](https://help.jacktrip.org/hc/article_attachments/360101452494/6.PNG) VirtualStudio repose sur: - Un Raspberry Pi faisant tourner [Raspbian modifié](https://help.jacktrip.org/hc/en-us/articles/360055205313-Virtual-Studio-Image-for-Raspberry-Pi) avec jackd, jacktrip et Jamulus (voir plus bas). Il est possible d'acheter un Raspberry Pi prééquipé avec une interface audio HiFiBerry et l'OS pour 150$. - Un [service en ligne](https://app.jacktrip.org/) qui met en relation les Raspberry Pi des différents membres et les configure. Ce service est [payant](https://www.jacktrip.org/pricing.html) VirtualStudio accepte deux protocoles d'échange audio : JackTrip et Jamulus. JackTrip transmet un flux audio non compressé, à l'inverse de Jamulus. Le choix se fait à la création de la salle de musique virtuelle (serveur). ![Création du serveur](https://help.jacktrip.org/hc/article_attachments/360101452514/8.png) ## Liens [JackTrip](https://www.jacktrip.org/) [Documentation](https://help.jacktrip.org/hc/en-us) [Vieille documentation](https://ccrma.stanford.edu/groups/soundwire/software/jacktrip/index.html) [Autre documentation](https://docs.google.com/document/d/18pbu2xQRv521NKvHuYHjIVXRcLFqcDsqYnfKixyuyGg/edit#heading=h.wvhv3oi4ttrl) [Virtual Studio](https://app.jacktrip.org/) [Code source](https://github.com/jacktrip/jacktrip) # [Jamulus](https://jamulus.io/fr/) Jamulus est une application sous licence GPL développée par Volker Fischer. ![Interface Jamulus](https://user-images.githubusercontent.com/8705846/106172879-97cfd900-6193-11eb-976f-18f1a5cff304.png) ## Principe Comme son nom l'indique, Jamulus est orienté "jam" : tout est fait pour qu'un musicien puisse se joindre à une session existante et rencontrer d'autres musiciens. Après avoir installé le client sur son ordinateur, le musicien s'attribue un pseudo, un lieu, un instrument et un niveau. Il ouvre ensuite une fenêtre de connexion qui liste tous les serveurs publics disponibles et la place restante. ![jamulus server](https://user-images.githubusercontent.com/8705846/106173654-76bbb800-6194-11eb-9c53-933b1ac92007.png) ## Fonctionnalités - Messagerie instantanée - Nombre de participants : ne semble pas avoir de limite - Type de groupe : dépend du serveur (privé/public) - Encodage audio : Opus (3 niveaux de qualité) - Mode "groupe" pour régler les niveaux de plusieurs tranches en même temps - Réglages par tranche : pan et niveau - Réglages sur sa tranche : pan, niveau et reverb - OS supportés : Windows, MacOS, Linux ## Architecture Jamulus fonctionne sur une architecture client/serveur. Chaque client envoie son flux audio au serveur qui les synchronise, les traite et les renvoie aux clients. Comme pour Sonobus, le flux entrant passe dans un "tampon de gigue" qui attend un certain nombre de trames avant d'envoyer le flux audio vers la carte son. Les données audio sont encodées avec le codec basse latence Opus. Il est possible d'installer [son propre serveur](https://jamulus.io/fr/wiki/Running-a-Server), qui peut être public ou privé. ![Archi Jamulus](https://user-images.githubusercontent.com/9108457/99901946-9200d780-2cba-11eb-8167-e20ae2621102.png) Le développeur insiste sur le fait que chaque utilisateur doit écouter son instrument via le mix envoyé par le serveur (la ["règle n°1"](https://jamulus.io/fr/wiki/Getting-Started#vous-avez-des-probl%C3%A8mes--vous-narrivez-pas-%C3%A0-%C3%AAtre-en-rythme-)) et non pas le son qui en sort directement, ce qui peut être assez déroutant. En effet et en toute logique, seul le mix provenant du serveur est synchronisé. ## Liens [Jamulus](https://jamulus.io/fr/) [Téléchargements](https://jamulus.io/fr/wiki/Getting-Started#vous-avez-des-probl%C3%A8mes--vous-narrivez-pas-%C3%A0-%C3%AAtre-en-rythme-) [Manuel](https://jamulus.io/fr/wiki/Software-Manual) [Whitepaper](https://jamulus.io/PerformingBandRehearsalsontheInternetWithJamulus.pdf) [Code source client/serveur](https://github.com/jamulussoftware/jamulus) # Pour résumer Ces applications prises au hasard ont pour finalité commune de jouer de la musique en étant à plusieurs dizaines de kilomètre chacun, mais ont des approches différentes : - Jamulus pour les musiciens qui veulent jammer - Virtual Studio pour les musiciens cherchant une solution clé en main - JackTrip, pour les musiciens qui recherchent la simplicité du point de vue applicative (plutôt que la simplicité d'utilisation) - Sonobus pour les musiciens qui souhaitent répéter avec leur propre groupe Si vous restez sur votre faim, Wikipédia recense [une dizaine d'autres applications](https://en.wikipedia.org/wiki/Comparison_of_Remote_Music_Performance_Software) dédiées à cet usage.

AltStyle によって変換されたページ (->オリジナル) /