Historique: QJackctl - configuration
Aperçu de cette version: 86
qJackCtl
Forum dédié : "Toutes les autres applications, les émulateurs"
---------
PRÉSENTATION
• Page mère de qJackCtl
• Installation de qJackCtl
• Configuration de qJackCtl
---------
LES TUTOS
• Connecter des applications entre elles
• Renommer les ports
Avant-propos : cette page vise à documenter les possibilités de réglages de jack avec qjackctl.
Avant de lancer Jack (en appuyant sur le Démarrer, ou play, de qJackCtl), il est préférable de vérifier la configuration générale : bouton "Réglage..." (ou "setup").
Pour les pressés, il existe un tuto facile : Jack, premier lancement.
Pour les moins pressés, nous allons détailler le contenu des 4 onglets ci-dessous.
Table des matières
Onglet Settings
Sans doute le plus important. C'est là que vous règlerez les paramètres pour Jack.Section "Preset Name"
Il vous est possible d'enregistrer plusieurs valeurs de réglage que vous pourrez retrouver rapidement par le menu preset nameLes cas où vous pouvez avoir plusieurs valeurs pré-enregistrées sont plus nombreux qu'il n'y parait :
- ceux où vous utilisez Jack pour écouter de la musique en travaillant avec votre traitement de texte, dans ce cas vous n'aurez pas besoin par exemple d'immobiliser toutes les ressources de votre système pour privilégier la faible latence de votre noyau
- ceux où vous souhaitez travailler en 44100 Hz et ceux où vous souhaitez travailler en 96000 Hz chacune de ces configurations pouvant amener des réglages particuliers.
- ceux où vous souhaitez travailler avec une carte son et ceux où vous souhaitez travailler avec l'autre.
Section "Server"
- Server Path : Doit être réglé sur Jackd (les valeurs jackstard et jackrealtime concernaient des patchs nécessaires dans le noyau 2.4, et en principe vous êtes en noyau 2.6)
- Driver : Le pilote ALSA qu'il est recommandé de sélectionner ici. Pour information : sous GNU/Le système GNU Linux, il y a deux drivers audio : ALSA et OSS. Avec le choix d'ALSA, Jack va tester la meilleure résolution possible et travailler avec (sauf si on active le forcage 16 bits dans la colonne de gauche)). Si on, choisi OSS, Jack ne fait pas de test et c'est la qu'intervient le 16 bits de la colonne du milieu (pour régler en 16, 32 ou 64 bits).
Section "Paramètres"
Colonne de gauche :- Realtime: À activer absolument. Il n'est pas nécessaire d'avoir un noyau 'temps réel" pour cocher cette option. Elle affichera le symbole "RT" sur l'écran de la fenêtre principale. Pour permettre à jack de fonctionner en mode realtime / temps réel consulter la page applis RT.
- No Memory lock: A désactiver pour profiter pleinement des capacités de jack. ( plus d'infos sur le memlock )
- Unlock Memory: À activer si vous souhaitez débloquer l'accès en mémoire des bibliothèques de fonctions de GTK+, QT, FLTK (fonctions graphiques) et Wine. ( plus d'infos sur le memlock )
- Softmode : À activer lors d'une utilisation non Realtime/temps-réel : rend jack moins enclin à déconnecter les ports qui ne répondent pas au quart de tour.
- Monitor: Créer un port de sortie stéréo supplémentaire pour le Monitoring.
- Force 16bits: À activer si votre carte n'est pas capable de fonctionner avec une valeur plus importante, pour éviter que jack teste à chaque fois les modes 32 et 24 bits ... et peut-être envisager l'achat d'une carte plus adaptée à la MAO 😁.
- Verbose messages: À activer en cas de problème pour ajouter des détails au log de la fenêtre messages.
- MIDI driver: Choix Conseillé : none. //si quelqu'un à plus d'infos à ce sujet...
Colonne du milieu :
- Priority : permet de régler le niveau de priorité de Jack par rapport aux autres applications audio temps-réel. Elle doit être au minimum inférieure de 10 point par rapport à la valeur maximale fixée par rtprio lors de la configuration de PAM. Une Priority de 70 convient bien pour rtprio=90 ( plus d'infos... )
- Frames/Period : ce facteur influence directement la latence (c'est d'ailleurs un des facteurs essentiels). La valeur permettant d'obtenir la latence la plus basse possible sans Xruns dépendra de votre configuration et en particulier des capacités de votre carte son.
frames/period (ou trame par période) représente les trames audio par cycle de traitement. Par exemple, si vous avez 64 frames/period, la taille du buffer (tampon) par canal est de 64 échantillons.
- Sample Rate : est un champ très important c'est ici que vous déterminer la fréquence d'échantillonnage. Ce facteur influence également la latence. Là encore, votre matériel déterminera les choix possibles, une fréquence plus élevée permettant de travailler avec une meilleure qualité sonore. En tous cas c'est ici qu'est fait ce réglage et nullement dans Ardour. Pour en savoir plus à propos de la fréquence d'échantillonnage, consulter aussi cette page.
- Period/Buffer : Ce facteur influence également la latence. La valeur de "2" est habituelle (pour les interfaces USB, voir aussi le paragraphe "réglage de la latence" plus bas).
Ainsi, avec une valeur de period/buffer de deux, une période est la première moitié du tampon et l'autre période est la deuxième moitié du tampon.
- Word Length, Si vous utiliser le pilote OSS, Jack ne fera pas le test de meilleure performance qu'il sait faire avec ALSA et vous pourrez y régler 16, 32 ou 64 bits.
- Wait (usec),
- Channel : Pour PortAudio
- Port Maximum : par défaut à 128 cette valeur peut être portée à 256 si vous avez un grand nombre de connexions jack... sans quoi vous aurez la surprise de constater qu'Ardour vous lâchera. Un grand nombre de connexions Jack ne veut pas dire un grand nombre de pistes mais bien de raccordements dans Jack.
- Timeout (msec) : cette valeur est de 500 par défaut. Elle sera à augmenter si Jackd exclu des logiciels câblés dans la section "Audio" de la fenêtre des connexions lorsque ceux-ci sont trop longs à répondre. Ça peut être le cas par exemple lors de l'utilisation de vst gourmands via VstHost sur un pc peu performant.
Colonne de droite :
- Interface est dans le cas présent à hw:0 mais il peut être à hw:1 si vous avez deux cartes ou même hw:0,0 ou hw:0,1 si votre carte dispose par exemple d'entrées analogiques et digitales et que les deux assignations se font avec cette convention. Le menu déroulant ne propose que trois choix possibles (default, hw:0 et hw:1), mais vous pouvez parfaitement entrer autre chose à la main (utile si vous avez plus de 2 cartes son).
- Audio : permet de choisir entre les modes "Capture Only" (enregistrement uniquement), "Playback Only" (lecture uniquement) et "Duplex" (lecture + enregistrement).
- Input Channels : c'est ici que vous donnez le nombre de voies en entrée de votre interface audio-numérique.
- Output Channels : c'est ici que vous donnez le nombre de voies en sortie de votre interface audio-numérique.
- Latency : latence calculée en fonction de vos différents réglages.
Copy to clipboard
. [periods/buffer]*[frames/periods] Latence = --------------------------------- [sample rate]
Réglage de la latence
La latence est un paramètre important en MAO qui doit être maintenu à un niveau le plus faible possible.Quelques rappels généraux:
- Lancez Jack en mode "Real-time" et avec une forte priorité (voir paragraphe plus haut).
- Jouez sur les valeurs de "Frames/Period", "Sample Rate" et "Periods/Buffer" pour ajuster une latence la plus basse possible. Si des craquements ou des Xruns trop nombreux apparaissent, réajustez les paramètres pour augmenter un peu la latence. Des bonnes valeurs pour démarrer sont:
Copy to clipboard
Frames/Period 256 Sample Rate selon votre carte audio 44100 ou 48000 Hz Periods/Buffer 2 ou 3
- Notez que la latence résultant de vos différents réglages est indiquée en bas à droite de l'onglet "Settings".
- C'est avec un noyau patché "temps réel" que vous obtiendrez les meilleurs résultats : d'abord si votre distribution inclut un paquet kernel-rt, sinon voir la page Compiler un noyau 2.6RT.
- Pour en savoir plus sur les Xruns, consultez la Foire Aux Questions sur les Xruns.
- Consultez la page dédiée Portail Système pour en savoir plus sur les différentes optimisations possibles.
- Jack en lui même ne rajoute strictement aucune latence au système. Les sceptiques consulteront la page http://jackaudio.org/faq.
- Il existe une latence propre au hardware. Jack peut en tenir compte, voir Test de latence avec JACK
Les Cartes son des membres USB (1 et 2) ont une "période d'interruption" (temps entre deux interrogations - transferts de données) d'environ une milliseconde et la plupart de ces cartes l'utilisent pour déterminer la fréquence d'échantillonage audio. Dans ce cas, il vaut mieux faire en sorte de régler la latence de jack sur un multiple entier de cette période pour une meilleur synchronisation et donc moins de x-runs.
En pratique, je (pianoliv) n'ai pas réussi à obtenir de résultats probants avec cette technique, mais voilà comment il faudrait donc régler jack pour des résultats optimums :
- réglez votre fréquence d'échantillonnage audio, par exemple 48 KHz
- réglez le nombre de périodes par tampon sur 2 ou 3 (3 est généralement conseillé mais il faut voir en fonction de ce qui fonctionne le mieux, à tester)
- vous voulez maintenant que le tampon (latence affichée par qjackctl) soit un chiffre rond (un multiple de 1 ms), pour cela jouez sur le nombre d'échantillons par période :
- avec 2 périodes par tampon, multipliez la fréquence d'échantillonnage (en Kilo-Hertz) par un nombre entier et utilisez ce résultat comme nombre d'échantillons par période
exemples : 48 (48x1), 96 (48x2), 144 (48x3)... - avec 3 périodes par tampon, le calcul est un peu plus difficile, je vous laisse le méditer une minute. Échantillons par période = fréquence d'échantillonnage (en KHz) x ( un nombre entier / 3 )
exemples : 48 (48x1), 64 (48x1.3), 80 (48x1.6)...
vous devriez maintenant voir un nombre entier apparaitre dans la latence affichée par qjackctl, si ce n'est pas le cas il y a un problème ! - avec 2 périodes par tampon, multipliez la fréquence d'échantillonnage (en Kilo-Hertz) par un nombre entier et utilisez ce résultat comme nombre d'échantillons par période
- voilà, il n'y a plus qu'a faire les essais habituels (augmentation/réduction de la latence pour une utilisation confortable en fonction du contexte). Si ce paragraphe vous a aidé, merci de le faire savoir, car pour moi, ca reste encore de la théorie.
Liens :
- Les conseils de Dominique sur forums.gentoo.org
- Plus d'explications du même Dominique sur notre forum
- Discussion sur le sujet sur la liste de diffusion LAU
Perception de la latence :
Il faut savoir que l'oreille humaine ne perçoit la latence qu'à partir de 20 à 25 ms. Descendre en deçà, pour débuter, n'est donc pas essentiel. Cela pourra devenir plus important par la suite en cas d'utilisation MAO plus poussée.
La latence annoncée dans l'onglet "Réglages" de QJackctl est seulement théorique (vous remarquerez d'ailleurs qu'elle ne varie pas si vous "branchez" votre carte son interne ou votre module externe). Pour connaître la latence réelle mesurée par Jack, rendez-vous dans l'onglet "Statut" de QJackctl au bout de la ligne intitulée "Délai d'ordonnancement maximal". Pour les utilisateurs d'Ardour, elle est aussi indiquée sur la barre tout en haut du séquenceur.
Onglet Options
Cet onglet vous permet en particulier de lancer des commandes supplémentaires, au lancement (ou à la fermeture) de jack.- Execute script on startup : Commande qui sera exécutée juste avant le lancement de Jack. Très utile pour désactiver un système son ( aRts, ESD ). Par exemple : pour stopper aRts.Copy to clipboardartsshell -q terminate
- Execute script after startup : Commande qui sera exécutée juste après le lancement de Jack. Utile pour lancer par exemple le démon lash.
- Execute script on shutdown : Commande qui sera exécutée juste avant l'arrêt de Jack.
- Execute script after shutdown : Commande qui sera exécutée juste après l'arrêt de Jack. Utile pour relancer le système son de votre environnement graphique ( aRts, ESD ).
Onglet Display
Vous permet de paramétrer l'affichage de Qjackctl (polices, etc.).Onglet Misc
Cet onglet offre divers réglages complémentaires. C'est en particulier ici que vous pourrez activer le lancement automatique de Jack au chargement de Qjackctl.Autres fenêtres disponibles
Status et Messages
Connect
Fenêtre essentielle (voir indispensable) qui vous permettra d'inter-connecter les logiciels compatibles et votre matériel. Cette fenêtre a trois onglets: AUDIO, MIDI et ALSA :
|
|
|
|
|
|
- Jack Transport : il permet de synchroniser les différentes applications compatibles, pour permettre aux boutons lecture, enregistrement, 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. Cela permet de piloter un enregistrement depuis n'importe quel programme, et de supprimer les problèmes de "calage". Les réglages nécessaires pour activer ce mode sont précisés sur la page Jack-Transport.
Patchbay
|
Cette option vous permet d'enregistrer des configurations. À la différence de LASH-glashctl ou LADISH, le patchbay ne va pas vous enregistrer les configurations de vos logiciels, ni les démarrer. Il va seulement se charger de les connecter à une ou plusieurs sorties dans jack chaque fois que vous démarrez une application. Il faut pour ceci ajouter une "socket" (ou douille en français 😕 ). |
|
|
Par exemple, j'utilise Rhythmbox via jacklaunch et je souhaite que le son de sortie de Rhythmbox sorte sur la carte son sur les lignes 3 et 4 (c'est-à-dire mon deuxième sound-system) alors que par défaut, jacklaunch ne se connecte qu'aux lignes 1 et 2. Il faut donc créer un "socket" en cliquant sur "add". |
|
|
Il faut ajouter une "socket" et sélectionner les entrées souhaitées, puis créer une "socket" input concernant la sortie sur la carte son souhaitée. Il ne reste plus qu'à connecter les deux sockets et à activer la configuration en cliquant sur "active" 😉 NB: Dans mon cas, le jacklaunch crée chaque fois un nom d'entrée dans différent JACK. Qu'à cela ne tienne, il suffit de bidouiller un peu le "client" dans le "socket" relatif à Rhythmbox dans cet exemple comme ci-dessous. Il est donc possible d'automatiser des connections, même si ces dernières portent des noms différents. |
|
D'autres informations
Une page de sur le site de Mysth-R expliquant pas mal d'options.Le site d'aide communautaire d'Ubuntu dédie une page à la configuration de qJackCtl.
Si vous avez besoin de triturer le fichier de configuration de qJackCtl, sachez qu'il se trouve ici :
/home/mon_utilisateur/.config/rncbc.org/.Pour continuer
Maintenant que QJackCtl est correctement configuré, vous pouvez aller voir les autres pages qui lui sont consacrées :- page mère de qJackCtl,
- installation de qJackCtl,
- configuration de qJackCtl,
- exemples d'utilisation de qJackCtl.