Loading AI tools
service logiciel de son professionnel temps réel De Wikipédia, l'encyclopédie libre
JACK, acronyme récursif de JACK Audio Connection Kit, est un logiciel d'interconnexion d'applications audio pour système Unix tel que GNU/Linux et macOS et aussi pour Windows. Il a été conçu pour obtenir des connexions temps réel à faibles latences et une exécution synchrone de ses clients audio et MIDI. En dehors du fait d'être multi-plateformes, il est l'un des deux principaux serveurs audio sous Linux, avec PulseAudio qui est plus orienté bureautique et jeu. PipeWire, s'inspirant de Gstreamer à pour but d'unifier ces deux serveurs de son ainsi que les flux vidéo.
Développé par | Paul Davis |
---|---|
Dernière version | 1.9.22 ()[1] |
Dépôt | github.com/jackaudio/jack2 |
Écrit en | C++ et C |
Système d'exploitation | Type Unix, macOS et Microsoft Windows |
Environnement | POSIX |
Type | Serveur de sons |
Licence | GNU GPL |
Site web | jackaudio.org |
Il est développé par une communauté de développeurs open source conduite par Paul Davis (qui a gagné un Award Open Source en 2004 pour son travail[2]) et il a été une pièce maîtresse de l'infrastructure et un standard de-facto pour les logiciels audio professionnel sous Linux depuis son inclusion en 2002.
Le serveur est FLOSS, sous licence GNU GPL, tandis que la bibliothèque est sous licence plus permissive GNU LGPL.
Le serveur de son est exécuté comme démon à l'aide du programme jackd. Il peut être contrôlé grâce à différentes interfaces graphiques dont la plus connue est qjackctl.
JACK permet d'interconnecter les entrées et les sorties de tous ses clients très simplement : la souris est utilisée pour faire les connexions de la même manière qu'on utiliserait des câbles sur une scène ou dans un studio d'enregistrement. Cela permet de réaliser tout montage que l'utilisateur jugerait utile.
JACK peut utiliser les drivers matériels ALSA, PortAudio, CoreAudio, FreeBoB, FFADO et OSS. De plus, sont inclus un driver factice (utile si aucune sortie son n'est désirée, par exemple pour un rendu offline) et un driver Audio-sur-UDP (utile pour le fonctionnement du serveur sur un réseau, lequel doit être de préférence dédié). Il tourne sur Linux, macOS, Solaris, Windows, FreeBSD, OpenBSD et NetBSD. L'API de JACK est standardisé par consensus et il en existe deux implémentations compatibles : jack1, qui est implémenté en C, et jack2 (à l'origine jackdmp), a été implémenté en C++ sous la direction de Stéphane Letz. Cette dernière implémentation est en développement rapide, elle a introduit la gestion multi-processeurs et le support pour d'autres systèmes d'exploitation que Linux[3].
Contrairement aux autres serveurs son où ce sont les applications qui envoient leurs données au serveur, JACK utilise un modèle où le serveur impose quand, et dans quel ordre, les applications doivent lui envoyer les données audio ou MIDI[4].
Les besoins d'ordonnancement à faible latence de JACK ont été une des forces conductrices derrière l'effort d'optimisation temps réel de la série 2.6 actuelle du kernel Linux[5],[6], alors que les performances initiales de latence avaient été décevantes en comparaison avec l'ancienne série 2.4[7]. Le travail d'introduction du temps réel dans le kernel Linux est en cours. De nombreuses améliorations de l'ordonnancement ont déjà été réalisées et la branche -rt a été créée pour des optimisations plus intrusives avec la version 2.6.24, et plus tard du correctif CONFIG_PREEMPT_RT[8]. À cette date, une des fonctions principales du correctif -rt (le force threaded irq handlers) est en cours d'incorporation dans le kernel Linux[9].
Il existe trois principaux gestionnaire de sessions JACK, que l'on retrouve sous les différentes distributions Linux ayant un support audio avancé[10] :
Une grande quantité d'applications sont compatibles avec JACK et leur liste s'allonge avec le temps. Ce nombre élevé d'applications et la possibilité de les interconnecter librement font que les seules limites pratiques d'un système informatique audio qui utilise ce serveur son sont la puissance de la machine et l'imagination de l'utilisateur. Les versions récentes de JACK permettent également de distribuer les calculs audio sur plusieurs machines, via le réseau.
Des distributions Linux comme Kxstudio, LibraZiK, Ubuntu Studio, Demudi, le groupe de paquets pro-audio d'Arch Linux en ont fait leur serveur son par défaut.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.