Historique: Jack
Aperçu de cette version: 315
Jack (Jack Audio Connection Kit) est un serveur son et framework multimédia optimisé pour le temps-réel et la MAO.
! Page en cours de ré-écriture (pianoliv' - aout 2012)
Site web officiel (pour la version GNU/Linux) : http://jackaudio.org/.
Site web officiel (pour la version MAC OSX) : http://www.jackosx.com/.
Version actuelle : 0.126.0.
Support : ALSA, FFADO.
Développeurs : Paul Davis (aussi développeur d'ardour) 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
Changelog : Voir la section "news" de la page d'accueil du site officiel.
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.
Jack est un serveur son de qualité professionnelle permettant l'interconnexion/mix de sources et destinations Audio, MIDI et leur transport sans latence supplémentaire.
Pour vous donner une idée simplifiée de la chaîne des éléments, 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 des 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.
En bref :
jack permet de connecter n'importe quelle source à n'importe quelle destination arbirairement, comme dans un studio il est possible de connecter un synthé à 3 modules d'effet avant l'enregistreur, tout cela virtuellement et avec les logiciels de votre choix.
Jack-transport
Jack permet également une liaison audio de plusieurs ordinateurs par le réseau.
Jack prend en compte les contraintes temps réel nécessaires à l'enregistrement professionnel :
Jack supporte les systèmes :
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.
Le cas échéant, il conviendra juste d'adapter quelques réglages.
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.).
Vous devinez alors les possibilités offertes, car toutes les applications compatibles peuvent ainsi s'intégrer dans une chaine, ce qui permet de compléter leurs fonctionnalités : un logiciel ne permet pas d'utiliser un effet de réverbération ?
Pas grave !
Branchez un rack d'effets, par exemple jack-rack en amont ou en aval !
Tout ceci explique en grande partie l'approche particulière et modulaire de la MAO sous GNU/Linux, très différente de ce que l'on trouve habituellement sous d'autres systèmes.
> Présentation rapide de la MAO sous linux avec Jack
Alternatives
> Jack2 ou JackDMP, version multi-processeurs écrite en C++
> jackdbus, jack et jack2 version D-Bus
> Tschack, version multi-processeurs expérimentale reprise de jack (écrit en C)
> Tuto : Configuration de Jack, premier lancement
> JACK en lignes de commande
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é
> Les jack-tools : petits outils (2),
> Jack en réseau : Jack-UDP
> Jack en réseau : Net Jack
La plus répandue et utilisée. Elle permet de configurer et lancer jackd et de modifier les connexions audio et MIDI simplement.
Elle est aussi capable d'enregistrer et de restaurer les connexions et est compatible jack-session.
Patchage
Patchage ne permet que de voir et modifier les connexions audio et MIDI à la main, mais de manière beaucoup plus graphique ce qui est souvent d'un grand secours avec des montages compliqués.
Ladish
Ladish (Linux Audio Session Handler) est avant tout un gestionnaire de session, capable d'enregistrer et de restaurer les paramètres des logiciels audio en plus de leur connexions audio et MIDI. Etant basé sur jack te patchage il est un très bon candidat d'interface graphique
Jack permet de transmettre des signaux audio entre différentes applications compatibles, mais également depuis et vers les entrées/sorties d'une interface audio.
Les seules contraintes, outre les performances de votre système, sont le nombre d'entrées et de sorties de chaque élément : vous pouvez envoyer le même signal simultanément vers différentes entrées ou sorties, etc...
Le routage audio se fait à la volée sans avoir à redémarrer la (les) application(s), et en quelques clics avec une interface tierce comme Qjackctl.
Routage MIDI :
De la même manière, jack supporte les signaux MIDI que l'on peut interconnecter à la demande. Cependant un nombre relativement faible de logiciels utilisent cette "implémentation" (> jack-midi) et y préfère le support MIDI d'alsa (Alsa-MIDI).
C'est pourquoi vous trouverez par exemple plusieurs onglets dans la fenêtre de connexion de qjackctl (MIDI pour Jack-MIDI et ALSA pour Alsa-MIDI.
Pour connecter un port MIDI Jack-MIDI à un port Alsa-MIDI il vous faudra utiliser un pont : a2jmidid.
Les shémas suivants donne un aperçu du fonctionnement d'Alsa-MIDI avec Jack :
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
> 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)
> Utilisation de alsa_in et alsa_out
> Jack Tuto Associer deux cartes son : comment associer une carte en capture et l'autre en playback.
> Foire Aux Questions à propos de Jack 1/2 : recherche par comportement,
> FAQ de Jack 2/2 : recherche par message en mode "Jack te parle".
Vous trouverez une liste d'applications compatibles avec Jack à cette adresse : http://jackaudio.org/applications
[+]
autre fil du forum lié, plus ancien
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".
! Page en cours de ré-écriture (pianoliv' - aout 2012)
Informations
Site web officiel (pour la version GNU/Linux) : http://jackaudio.org/.
Site web officiel (pour la version MAC OSX) : http://www.jackosx.com/.
Version actuelle : 0.126.0.
Support : ALSA, FFADO.
Développeurs : Paul Davis (aussi développeur d'ardour) 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
Changelog : Voir la section "news" de la page d'accueil du site officiel.
Présentation
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.
Jack est un serveur son de qualité professionnelle permettant l'interconnexion/mix de sources et destinations Audio, MIDI et leur transport sans latence supplémentaire.
Pour vous donner une idée simplifiée de la chaîne des éléments, 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 des 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.
En bref :
jack permet de connecter n'importe quelle source à n'importe quelle destination arbirairement, comme dans un studio il est possible de connecter un synthé à 3 modules d'effet avant l'enregistreur, tout cela virtuellement et avec les logiciels de votre choix.
Jack-transport
Jack permet également une liaison audio de plusieurs ordinateurs par le réseau.
Jack prend en compte les contraintes temps réel nécessaires à l'enregistrement professionnel :
- 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.
Jack supporte les systèmes :
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.
Le cas échéant, il conviendra juste d'adapter quelques réglages.
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.).
Vous devinez alors les possibilités offertes, car toutes les applications compatibles peuvent ainsi s'intégrer dans une chaine, ce qui permet de compléter leurs fonctionnalités : un logiciel ne permet pas d'utiliser un effet de réverbération ?
Pas grave !
Branchez un rack d'effets, par exemple jack-rack en amont ou en aval !
Tout ceci explique en grande partie l'approche particulière et modulaire de la MAO sous GNU/Linux, très différente de ce que l'on trouve habituellement sous d'autres systèmes.
> Présentation rapide de la MAO sous linux avec Jack
Alternatives
> Jack2 ou JackDMP, version multi-processeurs écrite en C++
> jackdbus, jack et jack2 version D-Bus
> Tschack, version multi-processeurs expérimentale reprise de jack (écrit en C)
Installation et configuration
> Installation et/ou compilation de Jack> Tuto : Configuration de Jack, premier lancement
> JACK en lignes de commande
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é
outils
> Les petits outils d'origine (1),> Les jack-tools : petits outils (2),
réseau
> Jack en réseau> Jack en réseau : Jack-UDP
> Jack en réseau : Net Jack
Les interfaces graphiques
QJackCtlLa plus répandue et utilisée. Elle permet de configurer et lancer jackd et de modifier les connexions audio et MIDI simplement.
Elle est aussi capable d'enregistrer et de restaurer les connexions et est compatible jack-session.
Patchage
Patchage ne permet que de voir et modifier les connexions audio et MIDI à la main, mais de manière beaucoup plus graphique ce qui est souvent d'un grand secours avec des montages compliqués.
Ladish
Ladish (Linux Audio Session Handler) est avant tout un gestionnaire de session, capable d'enregistrer et de restaurer les paramètres des logiciels audio en plus de leur connexions audio et MIDI. Etant basé sur jack te patchage il est un très bon candidat d'interface graphique
Utilisation
Routage et connexions Audio/MIDI
Routage audio :Jack permet de transmettre des signaux audio entre différentes applications compatibles, mais également depuis et vers les entrées/sorties d'une interface audio.
Les seules contraintes, outre les performances de votre système, sont le nombre d'entrées et de sorties de chaque élément : vous pouvez envoyer le même signal simultanément vers différentes entrées ou sorties, etc...
Le routage audio se fait à la volée sans avoir à redémarrer la (les) application(s), et en quelques clics avec une interface tierce comme Qjackctl.
Routage MIDI :
De la même manière, jack supporte les signaux MIDI que l'on peut interconnecter à la demande. Cependant un nombre relativement faible de logiciels utilisent cette "implémentation" (> jack-midi) et y préfère le support MIDI d'alsa (Alsa-MIDI).
C'est pourquoi vous trouverez par exemple plusieurs onglets dans la fenêtre de connexion de qjackctl (MIDI pour Jack-MIDI et ALSA pour Alsa-MIDI.
Pour connecter un port MIDI Jack-MIDI à un port Alsa-MIDI il vous faudra utiliser un pont : a2jmidid.
Les shémas suivants donne un aperçu du fonctionnement d'Alsa-MIDI avec Jack :
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'inter-agir 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
manipulations avançées
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
> Jack Tuto Associer deux cartes son : comment associer une carte en capture et l'autre en playback.
Aide
> log de jack> Foire Aux Questions à propos de Jack 1/2 : recherche par comportement,
> FAQ de Jack 2/2 : recherche par message en mode "Jack te parle".
Liens
Forum dédié : "Les serveurs son : Jack, PulseAudio et autres"Vous trouverez une liste d'applications compatibles avec Jack à cette adresse : http://jackaudio.org/applications
[+]
Notes de travail
fil du forum liéautre fil du forum lié, plus ancien
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".