Jam sur internet en temps réel ?


|Jam sur internet|


Lien à la Une : Real Book Rock
Lien à la Une : Real Book Blues




Lien à la Une : Real Book Rock
Lien à la Une : Real Book Blues


INTRODUCTION / VOCABULAIRE


|Aller à la table des matières|

Le nerf de la guerre lorsque l’on parle d’échange temps réels est la latence. La latence est le temps nécessaire pour acheminer le son. Il est admis qu’un temps de latence au delà de 20ms complique les performances lorsque des musiciens font des jams.

Il y a plusieurs circuits d’acheminement du son :

  • le circuit local : c’est à dire le temps de conversion analogique/numérique (depuis l’instrument), du traitement applicatif et de conversion numérique/analogique (vers le casque ou les haut-parleurs).

  • le circuit internet (traitement applicatif): c’est à dire le temps d’encodage du son, d’aller-retour vers le serveur, décodage du son.

Comme vous pouvez le deviner la latence dépend de plusieurs facteurs:

  • La puissance de calcul : plus le processeur est puissant mieux c’est. Il faudra raisonnablement un processeur 64 bits (le standard aujourd’hui pour les PCs et les MACs).

  • La rapidité du réseau (faible latence et haut débit) : pour la latence réseau, on parle de ping. Un ping indique le temps de parcours des données d’un point A du réseau vers un point B.

  • La rapidité de la carte son : pour la rapidité de la carte audio ASIO, on parle de buffers/samples. Sachez que vous obtiendrez de meilleures performances avec une carte son PCI mais une carte son USB est plus pratique à installer.



LES PRÉ-REQUIS


|Aller à la table des matières|

Jouer en temps réel est donc possible mais sous certaines conditions:

  • avoir une bonne connexion réseau (avec la fibre optique par exemple). Disposer d’une carte réseau à 1Gb/s sur l’ordinateur se connectant au service de musique temps réel. Cet ordinateur doit être connecté à la box par un câble ethernet.

  • avoir une bonne carte son (ASIO) et un ordinateur suffisamment puissant pour faire descendre le buffer audio à 128 samples voir moins. Tout ordinateur de bureau moderne devrait pouvoir vous donner satisfaction en ce qui concerne la puissance de calcul pour une utilisation basique. Vous devrez investir dans une carte son ASIO gérant le 48Khz. Plus l’échantillonnage est élevée, plus la latence est faible. Cependant, Jamulus ne gère que le 48Khz. Ce taux d’échantillonnage est géré par la plupart des cartes son USB moderne) qui peuvent se trouver d’occasion pour un prix modéré.

  • être à une distance “raisonnable” du serveur. À l’échelle d’une ville ou d’une région, ça devrait être dans les cordes de l’internet. La distance (le ping) entre chaque musicien et le serveur ne doit pas exceder quelques millisecondes selon votre tolérance car le son fait un aller-retour entre le client et le serveur donc la distance est doublée.



JAMULUS


|Aller à la table des matières|

En ce qui concerne les solutions logiciels, il en existe plusieurs mais je ne présenterai ici que la solution open source compatible Windows / Mac / Linux : Jamulus Ce logiciel ajoute une latence importante en comparaison des facteurs énumérés ci-dessus car le logiciel encode (compresse) le son. Vous pouvez d’ailleurs gérer dans les settings (paramètres) la qualité audio de votre connexion ainsi que le nombre de canaux (mono : 1 canal / stéréo : 2 canaux). Plus la qualité audio est bonne et le nombre de canaux important, plus la puissance de calcul doit être importante côté client et serveur pour obtenir une latence courte.

Vous pouvez utiliser Jamulus avec l’un des serveurs publique disponibles. À vous de voir, si cela vous convient (en terme de latence et d’audience : Les jams sur ces serveurs ne sont pas privés). Vous pouvez également créer votre propre serveur. Si vous avez une IP Fixe (comme avec la freebox), il vous faudra utiliser la technique du port forwardings. C’est à dire, que vous ouvrirez un port réseau sur votre box et toutes les connexions sur ce port seront redirigées vers le même port réseau sur la machine hébergeant le serveur Jamulus se trouvant sur votre réseau local/domestique. (N’oubliez pas que cette machine doit être connecté en ethernet sur votre box.). Il est conseillé de faire tourner le client et le serveur Jamulus sur des ordinateurs différents.

Grâce à l’utilisation de Jack (Jack Audio Connection Kit) et de Carla (Audio Plugins Host), vous pourrez appliquer des effets (AmpliTube, Helix Native, EZDrummer …) sur votre instrument avant de l’envoyer vers Jamulus. Tout dépendra de la puissance de calcul de votre machine hébergeant votre client Jamulus.

La meilleure latence possible avec la configuration Freebox / Fibre optique / câble ethernet (sur une boucle locale) est de 15-20ms. Cela veut dire qu’avec des musiciens distants, on peut ajouter 5-10ms. Ce qui porte la latence vers 30/40ms.

Certains diraient que 40 ms de latence n’est pas pratiquable pour une jam en temps réels. La réalité décrite par les utilisateurs de Jamulus est que c’est une question de pratique.

Voilà, ci-dessous des liens utiles:

  1. White paper on Jamulus : [PDF] Performing band rehearsal on the internet with Jamulus

  2. Youtube vidéo on Jack 64 bits and Carla : JACKROUTER setup guide for windows 64bit

  3. Jamulus site officiel : Jamulus Home page



CONCLUSION


|Aller à la table des matières|

Les jams en temps réel sur internet sont possibles mais ne sont pas démocratisés à cause de toutes les conditions qu’ils faut réunir ainsi que de leur complexité à mettre e oeuvre. Avec l’arrivée de la 5G en 2020 en France : un réseau mobile faible latence / haut débit, les choses vont changer et on va voir ce genre d’application se développer beaucoup plus rapidement et facilement.

Wait and see …



ARTICLES CONNEXES


|Aller à la table des matières|




UN COMMENTAIRE ? (Exprimez-vous !)

|Aller en haut de la page|





WebmasterPlan du site
Hébergement du site chez OVH