Jamulus est un client/serveur permettant une connexion via internet pour faire des "répètes" en ligne par l’intermédiaire du serveur
JACK ...
attention
Cette page est rédigée par un nouvel utilisateur linux et peut comporter des erreur merci de votre indulgence et d'y remédier (en particulier les problèmes de dépendances sur packages à installer et le dossier de compilation/installation)
Site web officiel :
http://llcon.sourceforge.net/index.html
Version actuelle :
No value assigned
Licence :
GNU GPL v3
Plateforme :
GNU Linux, Windows, MAC
Support :
Alsa,
Jack
Développeur(s) : Volker Fischer
Description
Jamulus est un logiciel destiné à se retrouver entre musiciens à distance via l'Internet, pour le bœuf ou la répétition.
Il peut être lancé en mode client/serveur ou serveur central.
Le serveur Jamulus s'intègre au système Linux via le serveur de son Jack.
Le client/serveur (plus loin appelé simplement
client(s)) se connecte à un serveur central. Le serveur central jamulus.dyndns.org présente au clients d'autres serveurs publics, mais on peut aussi avoir un serveur central privé non publié.
Il semble pertinent pour l'optimisation d'avoir ce serveur sur une machine différente du client...
Utilisation
Le serveur central lancé sans l'option -n (donc avec son GUI):
Le client:
Installation
[+]
Prérequis
Pour le serveur:
- Processeur 1,5GHz - 1 Go de RAM
- 1Mb/s de débit Internet montant et descendant.
- Un ping très bas (le développeur considère à titre personnel que 40ms est son maximum).
- Pour un serveur privé seulement (non publié sur jamulus.dyndns.org) et qui se trouve derrière un NAT (style box FAI), ouvrir une plage/redirection de ports UDP vers l'ip privée du serveur au port 22124, en fait un port par instance de serveur que vous prévoyez de lancer. Les clients se connecteront alors à ip/nom_public:port_udp_public.
- Pour Linux, le logiciel est distribué sous forme de source à compiler:
Un des membres du groupe devra faire tourner le serveur sur lequel les membres se connecteront, ou alors tous les membres se connecteront à un serveur public publié sur le serveur jamulus.dyndns.org. Dans le premier cas (serveur chez un membre), pour le confort de connexion des copains, il lui faudra soit une adresse ip statique, soit enregistrer le serveur dans un compte dyndns ou similiaire, ou encore publier le serveur sur le serveur jamulus.dyndns.org (mais là, avec une ip dynamique, il peut y avoir des moments où le serveur ne sera pas joignable quelques temps après le changement d'ip).
Pour le client:
- Une carte son haut de gamme full duplex, mais bridée au taux d’échantillonnage de 48000Hz soit via Jack (ou son interface de contrôle QjackCtl) si ça marche, soit directement au niveau du driver... si ça marche.
Sinon:
Télécharger (ouvrir) le source à partir du lien donné en bas de page et l'extraire sur le Bureau.
Dans un terminal (gardez-le ouvert jusqu'à la fin):
Copy to clipboard
cd ~/Bureau/Jamulus3.3.3 # ou le numéro de version téléchargé
1) Il faut avoir build-essential et un QT minimal pour une installation en pur serveur sans le client:
Copy to clipboard
sudo apt-get install build-essential libqt4-dev
ensuite on compile:
Copy to clipboard
qmake "CONFIG+=nosound" Jamulus.pro
Là vous aurez une erreur non bloquante concernant QT-Widget car le developpeur utilise QT5.
2) puis
Copy to clipboard
make clean
pour nettoyer le dossier source des fichiers inutiles à la version Linux.
3) puis la compilation proprement dite:
4) et pour finir, l'"installation", si on peut donner ce nom ronflant à cette manip qui consiste à déplacer le binaire exécutable généré par la compilation vers un dossier qui est déjà dans le path du système, puis à supprimer tout le bourrier qui n'est plus nécessaire:
Copy to clipboard
sudo mv Jamulus /bin/
cd ..
rm -rf Jamulus3.3.3 # ou le numéro de version téléchargé
Pour info, les préférences sont conservées dans ~/.config/Jamulus/Jamulusserver.ini quand on quitte le serveur.
Pour lancer le serveur je me suis créé un script "jam" dans /bin (* voir note en section Liens pour les codes pays)
Copy to clipboard
!/bin/bash
# chrt 99 ionice -c1 nice -n -20 Jamulus -s -n -g -l /var/log/llconserver1 -e "localhost" -o "jamulus.dyndns.org;Aachen;82" &
#
# chrt 99: run a new process with the given real-time scheduling properties
# ionice -c1: sets the io scheduling class to 1 for real time
# nice -n -20: run with modified scheduling priority -20 (highest priority)
# -s: Jamulus server mode
# -n: the server shall be run in deamon mode and no GUI is started
# -g: send ping messages to the servers in the server list to keep NAT ports open
# -l /var/log/llconserver1: store the server statistic in the file llconserver1
# -e: central server address (since this is a central server, set to "localhost")
# -o: set the name, city and country information
# chrt 99 ionice -c1 nice -n -20 /bin/Jamulus -s -g -l /var/log/jamulus1 -e "localhost" -o "Af's Jamulus Server;MonBled;74"
# chrt 99 ionice -c1 nice -n -20 /bin/Jamulus -s -n -e "localhost" -o "Af's Jamulus Server;MonBled;74" &
sudo chrt 99 ionice -c1 nice -n -20 /bin/Jamulus -s -n -l /var/log/jamulus1 -e "localhost" -o "Af's Jamulus Server;MonBled;74" &
que je peux lancer en terminal.
Copy to clipboard
sudo chmod +x /bin/jam
à lancer ainsi:
Ou un lanceur (gnome-shell) type Application, commande gksu jam
Pour le client:
La procédure est la même, sauf qu'en remplaçant les commandes 1) du chapitre "Pour le serveur" par
Copy to clipboard
sudo apt-get install build-essential libqt4-dev libjack-dev
qmake Jamulus.pro
la compilation (make clean puis make) génère à la fois le client et le serveur.
Pour info, les préférences sont conservées dans ~/.config/Jamulus/Jamulus.ini quand on quitte le client.
- Alias de cette page :
llcon (ancien nom du logiciel)