Historique: QJackctl - configuration
Aperçu de cette version: 91
qJackCtl
Forum ddi : "Toutes les autres applications, les mulateurs"
---------
PRSENTATION
Page mre 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 possibilits de rglages de jack avec qjackctl.
Avant de lancer Jack (en appuyant sur le Dmarrer, ou play, de qJackCtl), il est prfrable de vrifier la configuration gnrale : bouton "Rglage..." (ou "setup").
Pour les presss, il existe un tuto facile : Jack, premier lancement.
Pour les moins presss, nous allons dtailler le contenu des 4 onglets ci-dessous.
Table des matières
Onglet Settings
Sans doute le plus important. C'est l que vous rglerez les paramtres pour Jack.Section "Preset Name"
Il vous est possible d'enregistrer plusieurs valeurs de rglage que vous pourrez retrouver rapidement par le menu preset nameLes cas o vous pouvez avoir plusieurs valeurs pr-enregistres 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 systme pour privilgier 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 rglages 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 rgl sur Jackd (les valeurs jackstard et jackrealtime concernaient des patchs ncessaires dans le noyau 2.4, et en principe vous tes en noyau 2.6)
- Driver : Le pilote ALSA qu'il est recommand de slectionner ici. Pour information : sous GNU/Linux, il y a deux drivers audio : ALSA et OSS. Avec le choix d'ALSA, Jack va tester la meilleure rsolution 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 rgler en 16, 32 ou 64 bits).
Colonne de gauche :
- Realtime: activer absolument. Il n'est pas ncessaire d'avoir un noyau 'temps rel" pour cocher cette option. Elle affichera le symbole "RT" sur l'cran de la fentre principale. Pour permettre jack de fonctionner en mode realtime / temps rel consulter la page PAM.
- No Memory lock: A dsactiver pour profiter pleinement des capacits de jack. ( plus d'infos sur le memlock )
- Unlock Memory: activer si vous souhaitez dbloquer l'accs en mmoire des bibliothques 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-rel : rend jack moins enclin dconnecter les ports qui ne rpondent pas au quart de tour.
- Monitor: Crer un port de sortie stro supplmentaire 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 adapte la MAO 😁.
- Verbose messages: activer en cas de problme pour ajouter des dtails au log de la fentre messages.
- MIDI driver: Choix Conseill : none. //si quelqu'un plus d'infos ce sujet...
Colonne du milieu :
- Priority : Utilise lorsque le mode temp-rel est activ, cette option permet de rgler le niveau de priorit de Jack par rapport aux autres applications audio temps-rel.
Elle ne doit pas tre trop leve car certaines applications audio ont besoin d'une priorit suprieure celle de Jack, dont l'utilitaire de surveillance jack_watchdog qui se lance automatiquement avec une priorit suprieure de 10 points.
Typiquement on utilisera une valeur comprise entre 50 et 80, sur une chelle dfinie lors de la configurations du temps-rel pour les applications sur votre systme. - 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 dpendra de votre configuration et en particulier des capacits de votre carte son.
Une frame en anglais est une trame en franais. Une trame audio reprsente 1 chantillon par canal. Par exemple, si l'on traite une trame d'un signal compos de 6 canaux audio, ou un chantillon du mme signal audio sur 6 canaux, jackd aura trait 6 chantillons au total.
Frames/period (ou trame par priode) reprsente 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 trs important c'est ici que vous dterminer la frquence d'chantillonnage. Ce facteur influence galement la latence. L encore, votre matriel dterminera les choix possibles, une frquence plus leve permettant de travailler avec une meilleure qualit sonore. En tous cas c'est ici qu'est fait ce rglage et nullement dans Ardour. Pour en savoir plus propos de la frquence 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 "rglage de la latence" plus bas).
Period/buffer reprsente combien de priodes sont l (dans windows, une priode est appele plus souvent un "buffer" (tampon)). Mais dans un rgime de double tampon typique vous avez par exemple 2 tampons combins dans un seul bloc de mmoire. Et dans ALSA, ce tampon combin est le "buffer" et les blocs individuels de mmoire sont appels periods (priodes). (Cette terminologie est un peu confuse... la page de man de jackd contient aussi des infos l-dessus, mais il faut s'accrocher.)
Ainsi, avec une valeur de period/buffer de deux, une priode est la premire moiti du tampon et l'autre priode est la deuxime 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 rgler 16, 32 ou 64 bits.
- Wait (usec),
- Channel : Pour PortAudio
- Port Maximum : par dfaut 128 cette valeur peut tre porte 256 si vous avez un grand nombre de connexions jack... sans quoi vous aurez la surprise de constater qu'Ardour vous lchera. 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 dfaut. Elle sera augmenter si Jackd exclu des logiciels cbls dans la section "Audio" de la fentre des connexions lorsque ceux-ci sont trop longs rpondre. 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 prsent hw:0 mais il peut tre hw:1 si vous avez deux cartes ou mme hw:0,0 ou hw:0,1 si votre carte dispose par exemple d'entres analogiques et digitales et que les deux assignations se font avec cette convention. Le menu droulant 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 entre de votre interface audio-numrique.
- Output Channels : c'est ici que vous donnez le nombre de voies en sortie de votre interface audio-numrique.
- Input Latency et Output Latency servent juste rajouter une latence supplmentaire interne (pour synchroniser avec un autre dispositif dont on connat la latence propre par exemple).
- Latency : latence calcule en fonction de vos diffrents rglages.
Copy to clipboard
. [periods/buffer]*[frames/periods] Latence = --------------------------------- [sample rate]
La latence est un paramtre important en MAO qui doit tre maintenu un niveau le plus faible possible.
Quelques rappels gnraux:
- 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, rajustez les paramtres pour augmenter un peu la latence. Des bonnes valeurs pour dmarrer 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 rsultant de vos diffrents rglages est indique en bas droite de l'onglet "Settings".
- C'est avec un noyau patch "temps rel" que vous obtiendrez les meilleurs rsultats : d'abord si votre distribution inclut un paquet kernel-rt, sinon voir la page Tuto Compiler un noyau Temps-Rel.
- Pour en savoir plus sur les Xruns, consultez la Foire Aux Questions sur les Xruns.
- Consultez la page ddie Portail Systme pour en savoir plus sur les diffrentes optimisations possibles.
- Jack en lui mme ne rajoute strictement aucune latence au systme. 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 "priode d'interruption" (temps entre deux interrogations - transferts de donnes) d'environ une milliseconde et la plupart de ces cartes l'utilisent pour dterminer la frquence d'chantillonage audio. Dans ce cas, il vaut mieux faire en sorte de rgler la latence de jack sur un multiple entier de cette priode pour une meilleur synchronisation et donc moins de x-runs.
En pratique, je (pianoliv) n'ai pas russi obtenir de rsultats probants avec cette technique, mais voil comment il faudrait donc rgler jack pour des rsultats optimums :
- rglez votre frquence d'chantillonnage audio, par exemple 48 KHz
- rglez le nombre de priodes par tampon sur 2 ou 3 (3 est gnralement conseill mais il faut voir en fonction de ce qui fonctionne le mieux, tester)
- vous voulez maintenant que le tampon (latence affiche par qjackctl) soit un chiffre rond (un multiple de 1 ms), pour cela jouez sur le nombre d'chantillons par priode :
- avec 2 priodes par tampon, multipliez la frquence d'chantillonnage (en Kilo-Hertz) par un nombre entier et utilisez ce rsultat comme nombre d'chantillons par priode
exemples : 48 (48x1), 96 (48x2), 144 (48x3)... - avec 3 priodes par tampon, le calcul est un peu plus difficile, je vous laisse le mditer une minute. chantillons par priode = frquence 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 affiche par qjackctl, si ce n'est pas le cas il y a un problme ! - avec 2 priodes par tampon, multipliez la frquence d'chantillonnage (en Kilo-Hertz) par un nombre entier et utilisez ce rsultat comme nombre d'chantillons par priode
- voil, il n'y a plus qu'a faire les essais habituels (augmentation/rduction 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 thorie.
Liens :
- Les conseils de Dominique sur forums.gentoo.org
- Plus d'explications du mme 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 peroit la latence qu' partir de 20 25 ms. Descendre en de, pour dbuter, n'est donc pas essentiel. Cela pourra devenir plus important par la suite en cas d'utilisation MAO plus pousse.
La latence annonce dans l'onglet "Rglages" de QJackctl est seulement thorique (vous remarquerez d'ailleurs qu'elle ne varie pas si vous "branchez" votre carte son interne ou votre module externe). Pour connatre la latence relle mesure par Jack, rendez-vous dans l'onglet "Statut" de QJackctl au bout de la ligne intitule "Dlai d'ordonnancement maximal". Pour les utilisateurs d'Ardour, elle est aussi indique sur la barre tout en haut du squenceur.
Onglet Options
Cet onglet vous permet en particulier de lancer des commandes supplmentaires, au lancement (ou la fermeture) de jack.- Execute script on startup : Commande qui sera excute juste avant le lancement de Jack. Trs utile pour dsactiver un systme son ( aRts, ESD ). Par exemple : pour stopper aRts.Copy to clipboardartsshell -q terminate
- Execute script after startup : Commande qui sera excute juste aprs le lancement de Jack. Utile pour lancer par exemple le dmon lash.
- Execute script on shutdown : Commande qui sera excute juste avant l'arrt de Jack.
- Execute script after shutdown : Commande qui sera excute juste aprs l'arrt de Jack. Utile pour relancer le systme son de votre environnement graphique ( aRts, ESD ).
Onglet Display
Vous permet de paramtrer l'affichage de Qjackctl (polices, etc.).Onglet Misc
Cet onglet offre divers rglages complmentaires. C'est en particulier ici que vous pourrez activer le lancement automatique de Jack au chargement de Qjackctl.Status et Messages
Connect
Fentre essentielle (voir indispensable) qui vous permettra d'inter-connecter les logiciels compatibles et votre matriel. Cette fentre a trois onglets: AUDIO, MIDI et ALSA :
|
|
|
|
|
|
- Jack Transport : il permet de synchroniser les diffrentes applications compatibles, pour permettre aux boutons lecture, enregistrement, retour au dbut, etc. d'inter-agir de faon simultane d'un logiciel l'autre, mais galement de placer "la tte de lecture" au mme endroit dans tous ces logiciels. Cela permet de piloter un enregistrement depuis n'importe quel programme, et de supprimer les problmes de "calage". Les rglages ncessaires pour activer ce mode sont prciss sur la page Jack-Transport.
Patchbay
|
Cette option vous permet d'enregistrer des configurations. la diffrence de LASH-glashctl ou LADISH, le patchbay ne va pas vous enregistrer les configurations de vos logiciels, ni les dmarrer. Il va seulement se charger de les connecter une ou plusieurs sorties dans jack chaque fois que vous dmarrez une application. Il faut pour ceci ajouter une "socket" (ou douille en franais 😕 ). |
|
|
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 deuxime sound-system) alors que par dfaut, jacklaunch ne se connecte qu'aux lignes 1 et 2. Il faut donc crer un "socket" en cliquant sur "add". |
|
|
Il faut ajouter une "socket" et slectionner les entres souhaites, puis crer une "socket" input concernant la sortie sur la carte son souhaite. Il ne reste plus qu' connecter les deux sockets et activer la configuration en cliquant sur "active" 😉 NB: Dans mon cas, le jacklaunch cre chaque fois un nom d'entre dans diffrent 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, mme si ces dernires portent des noms diffrents. |
|
D'autres informations
Une page de sur le site de Mysth-R expliquant pas mal d'options.Le site d'aide communautaire d'Ubuntu ddie 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 consacres :- page mre de qJackCtl,
- installation de qJackCtl,
- configuration de qJackCtl,
- exemples d'utilisation de qJackCtl.