Skip to main content

Historique: Jack

Aperçu de cette version: 355


JACK (Jack Audio Connection Kit) est un serveur son de qualité professionnelle permettant l'interconnexion/mix de sources et destinations Audio, MIDI et leur transport sans latence.

JACK est considéré comme une interface de programmation ayant plusieurs implémentations.
À l'origine il y avait JACK1, puis certains développeurs ont travaillé sur des versions améliorées avec chacune leur nom de code (par exemple tschack, jackdbus ou jackdmp). Toutes ces nouvelles fonctionnalités font maintenant partie de JACK2.

JACK1 et JACK2 continuent d'être développées en parallèle et sont quasiment interchangeables.
C'est JACK2 qui est installé par défaut sur les distributions Linux (JACK1 restant disponible).

Au final peut importe la version utilisée, par la suite on parlera simplement de JACK.





Informations

Site web officiel (pour la version GNU/Linux) : http://jackaudio.org/.
Site web officiel (pour la version Mac OS X) : http://www.jackosx.com/.
Version actuelle : 0.126.0 du 2022 01 15.
Support : ALSA, FFADO.
Développeurs : Paul Davis (aussi développeur d'Ardour 3) et tellement d'autres.
Liste de développement : http://jackaudio.org/email et http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org pour le lien direct.
Canal IRC : #jack @ irc.freenode.net Image
Changelog : Voir la section "news" de la page d'accueil du site officiel.

Description

JACK est un aspect central de la MAO sous Linux.
Avec lui tout est modulaire et le lien entre les composants audio est assuré par JACK, le serveur son.
Pour plus de détails sur ce point, allez voir la page Débuter - la MAO et Linux.

Le serveur son fait le lien entre les logiciels et le pilote de la carte son. Il sert principalement à mixer les différentes sources audio entre elles.
JACK n'est pas le seul serveur son mais il est optimisé pour la basse latence, la stabilité et la qualité audio. C'est le logiciel de choix dès qu'on s'attaque sérieusement à la MAO sous Linux (et Mac), c'est-à-dire dès qu'on utilise plus d'un logiciel à la fois.

Caractéristiques
Connexions illimitées : JACK permet de connecter n'importe quelle source à n'importe quelle destination, comme dans un studio il est possible de connecter un synthé à 3 modules d'effet avant l'enregistreur.
Temps réel : JACK en lui-même n'apporte aucune latence supplémentaire (voyez la question "Doesn't use JACK add latency" dans la faq du site officiel). De plus, il est capable de tirer bénéfice des possibilités du noyau GNU/Linux pour fonctionner en mode temps-réel, ce qui permet de travailler avec une latence garantie.
Support matériel : JACK supporte les systèmes ALSA, OSS, FFADO, Portaudio et CoreAudio. Toutes les interfaces audio supportées par ces systèmes pourront donc être utilisées directement et de la même façon au niveau utilisateur avec Jack.
★ Jack-transport : synchronisation de la tête de lecture des logiciels (enregistreurs, séquenceurs...) compatibles.
★ Réseau : JACK permet également une liaison audio de plusieurs ordinateurs par le réseau.
★ Support communautaire : Jack est devenu un standard reconnu par un grand nombre de programmes qui dépassent même le champ de la MAO (lecteur multimédia, montage vidéo, etc.).

Utilisation

La fonction première de JACK c'est le routage, c'est-à-dire connecter les entrées et sorties d'applications compatibles pour transmettre des signaux de deux types :
  • audio : transmets tout ce qui est signal sonore
  • MIDI : transmets toutes les informations MIDI, en particulier JACK-MIDI mais aussi ALSA MIDI grâce au pont a2jmidid.
Le tout en quelques clics et sans redémarrer les applications !
Un même signal peut être envoyé simultanément à travers plusieurs entrées ou sorties, avec pour seules contraintes les performances de votre système.


Les interfaces graphiques

Pour lancer et gérer JACK vous passerez forcément par l'une de ces applications : les gestionnaires de connexions Audio et MIDI.

Autres outils

Les jack-tools : petits outils

Jack Transport

Cette fonction intégrée à JACK permet de synchroniser les différentes applications compatibles, pour permettre aux boutons lecture, retour au début, etc... d'interagir de façon simultanée d'un logiciel à l'autre, mais également de placer "la tête de lecture" au même endroit dans tous ces logiciels et de modifier le tempo.
Cela permet par exemple de piloter un enregistrement depuis n'importe quel programme, et de supprimer les problèmes de "calage".
Pour plus d'infos voir la page Jack-Transport.

Réseau

Jack en réseau :

Manipulations avançées

La dénomination "Jack" peut s'appliquer à plusieurs choses :
jackd ("jack daemon") est le serveur son lui-même, c'est le programme qu'il vous faudra lancer avant tout autre application audio
libjack ("jack library") est une bibliothèque de fonctions (de code) que les toutes les applications audio doivent utiliser pour être compatibles avec le serveur son et communiquer entre elles (utile aux développeurs seulement)
qjackctl ("Qt jack control") est un logiciel tierce mais fourni par défaut par la plupart des distributions pour lancer et contrôler jackd graphiquement.

Router d'autres serveurs son

> Rapports difficiles entre Jack et les autres serveurs son ?
> Router le son du navigateur internet vers jack
> Router OSS et ALSA vers Jack
> PulseAudio vers jack
> Alsa vers Jack (version thorgal de mai 2010)

Multiples cartes son

> Jack et plusieurs cartes son : comment utiliser les entrées de plusieurs cartes son pour se faire un gros 4 pistes avec deux 2 pistes par exemple.
> Utilisation de alsa_in et alsa_out
> QJackCtl Associer deux cartes son : comment associer une carte en capture et l'autre en playback.


Le temps-réel

Le watchdog de Jack

Le watchdog de Jack (chien de garde ou garde fou) est un utilitaire lançé automatiquement par Jack lorsqu'on utilise l'option temps réel. Il permet de surveiller le bon déroulement des opérations de Jack et des applications audio et d'arrêter celles-ci en cas de problème, car en mode Temps-réel un logiciel devenu fou peut bloquer complètement une machine.
Le watchdog possède une priorité supérieure de 10 points à la priorité fixée pour Jackd, il vous faudra donc veiller à laisser une marge suffisante entre la priorité maximum et la priorité assignée à jack.
Liens :
  ? Tuto premier lancement de Jack
  ? les options de configuration de Jack
  ? Le temps-réel pour les applications
  ? Voir et modifier les priorités à la main
  ? fil lié

Installation et configuration


Craquements et autres bruits parasites avec Jack


Sur les distributions qui ne sont pas tournées vers la mao il est fort à parier que le noyaux Lowlatency ne soit pas installé ou bien que lors d'une mise à jour de votre distribution le noyaux soit remplacer par un noyaux "Généric" , dans ce cas il faut changer le kernel pour un lowlatency et peux être un :
Copy to clipboard
sudo dpkg-reconfigure -p high jackd


Liens et commentaires

Aide :


[+]

Notes de travail

fil du forum lié
autre fil du forum lié, plus ancien

Cartes son Alsa 5.1 et 4.0 avec Jack (à intégrer dans cette page)

Pour aller beaucoup plus loin
La latence de jack est exacte et non fluctuante, donc on peut la déduire sans soucis. Voici un lien en anglais sur ces questions de latence. C'est un document qui explique comment synchroniser au sample près sous linux : http://cluster.inf-ra.uni-jena.de/~adi/icimt10.pdf. (note : si quelqu'un se fane se document et a envie de faire une page sur LinuxMAO, merci devenir le signaler dans le forum : "Les articles de LinuxMAO".

Historique

Information Version
Sun 27 Aug 2023 08:58 olinuxx + min/MAJ dans le titre de la page 381
Afficher
Sun 27 Aug 2023 08:54 olinuxx + simplification + suppression répétition 380
Afficher
Fri 25 Aug 2023 19:25 jujudusud Virgule, ASIO et CoreAudio, il n'y a pas de page... suppression des redirections. 379
Afficher
Fri 25 Aug 2023 19:06 jujudusud Mise à jour, ajout de windows et ASIO, changement de logiciel en serveur son pour designer JACK, majuscules à JACK... 378
Afficher
Sat 17 Sep 2022 18:45 jujudusud Ajout de pipewire jack et lien pipewire pour son implémentation de JACK. 377
Afficher
Tue 19 Jul 2022 16:34 sub26nico mise à jour lien IRC 376
Afficher
Wed 28 Apr 2021 20:42 jujudusud Mise à jour des liens présents ici. 375
Afficher
Wed 21 Apr 2021 19:50 jujudusud + Alias jack1 et jack2 374
Afficher
Sat 17 Apr 2021 11:47 olinuxx + réajout d'info concernant macOS + drapeau EN + info liste de développement 373
Afficher
Fri 16 Apr 2021 18:52 jujudusud Correction nom de la rubrique FAQ 372
Afficher
Fri 16 Apr 2021 18:48 jujudusud Suppression du site pour MacOSX, suppression list developpement maintenant github 371
Afficher
Fri 16 Apr 2021 18:28 jujudusud ajout notion d'IGU car on peut utiliser jack sans ... 370
Afficher
Fri 22 mai 2020 15:09 olinuxx + ponctuation 369
Afficher
Mon 06 Aug 2018 14:46 olinuxx 368
Afficher
Mon 06 Aug 2018 14:44 olinuxx 367
Afficher
Sat 24 Mar 2018 19:44 olinuxx mise à jour / cohérence 366
Afficher
Sat 24 Mar 2018 19:40 olinuxx 365
Afficher
Sat 24 Mar 2018 19:38 olinuxx mise en page / cohérence wiki + drapeaux EN + §sommaire 364
Afficher
Wed 14 Feb 2018 12:55 olinuxx dossier navigation cohérent 363
Afficher
Wed 20 Sep 2017 05:49 r1 362
Afficher
Mon 18 Sep 2017 14:54 olinuxx redéplacement des infos concernant jack-session (voir forumthread80945 ) 361
Afficher
Fri 15 Sep 2017 12:52 olinuxx + un alias (voir forumthread80945) + meilleurs liens internes + correction code wiki + orthographe 360
Afficher
Fri 15 Sep 2017 12:45 olinuxx ajout des infos provenant de l'ancienne page ((jack-session)) (voir forumthread80945) 359
Afficher
Mon 11 Sep 2017 01:38 olinuxx et 3 de plusse (et un anglicisme et un maj/min au passage) 358
Afficher
Mon 11 Sep 2017 00:54 Maktark correction "ortograf" 357
Afficher
Wed 27 Apr 2016 14:45 olinuxx 356
Afficher
Fri 06 Nov 2015 14:39 olinuxx Recherche et remplacement en masse 355
Afficher
Fri 06 Nov 2015 14:39 olinuxx Recherche et remplacement en masse 354
Afficher
Thu 04 Jun 2015 21:56 malt 353
Afficher
Tue 12 mai 2015 23:21 utilisateur_anonyme2 + 2 alias 352
Afficher
Fri 05 Sep 2014 19:15 olinuxx Recherche et remplacement en masse 351
Afficher
Fri 05 Sep 2014 18:55 olinuxx Recherche et remplacement en masse 350
Afficher
Fri 05 Sep 2014 16:12 olinuxx Recherche et remplacement en masse 349
Afficher
Fri 05 Sep 2014 15:30 olinuxx mise en cohérence des variables : version logiciel + date 348
Afficher
Fri 05 Sep 2014 08:53 olinuxx Recherche et remplacement en masse 347
Afficher
Thu 04 Sep 2014 14:12 olinuxx Recherche et remplacement en masse 346
Afficher
Tue 02 Sep 2014 23:11 olinuxx arrrrrgggghhhh 345
Afficher
Tue 02 Sep 2014 22:03 olinuxx Recherche et remplacement en masse 344
Afficher
Tue 02 Sep 2014 21:56 olinuxx Recherche et remplacement en masse 343
Afficher
Tue 02 Sep 2014 21:36 olinuxx Recherche et remplacement en masse 342
Afficher
Tue 02 Sep 2014 21:36 olinuxx Recherche et remplacement en masse 341
Afficher
Sat 21 Jun 2014 18:49 utilisateur_anonyme2 340
Afficher
Sat 21 Jun 2014 18:48 utilisateur_anonyme2 339
Afficher
Sat 21 Jun 2014 18:46 utilisateur_anonyme2 338
Afficher
Sat 21 Jun 2014 18:45 utilisateur_anonyme2 337
Afficher
Sat 21 Jun 2014 18:40 utilisateur_anonyme2 336
Afficher
Sat 21 Jun 2014 18:39 utilisateur_anonyme2 335
Afficher
Tue 25 Feb 2014 22:32 romain_bar Déplacement de la liste des gestionnaires de connexions vers la page dédiée 334
Afficher
Tue 25 Feb 2014 22:25 romain_bar Déplacement de la liste des gestionnaires de connexions vers la page dédiée 333
Afficher
Tue 25 Feb 2014 22:25 romain_bar Déplacement de la liste des gestionnaires de connexions vers la page dédiée 332
Afficher