Skip to main content

5 - Les serveurs son : JACK, PipeWire, PulseAudio et autres...


Xruns Jack

Bonjour, je suis passé récemment sous Ubuntu Studio et donc suis en train d'apprendre à me servir des logiciels inhérents à cet os. Je me suis déjà inscrit sur Ubuntu.fr et c'est d'ailleurs là qu'on m'a conseillé de venir vers vous pour toutes questions sur la MAO.
Je reprend donc ici une question non encore résolu posée là bas 😊 https://forum.ubuntu-fr.org/viewtopic.php?id=2006412

''Ayant un PC tout nouveau (i5-7500 CPU @ 3.40GHz ; 16Go de ram) je ne comprend pas pourquoi tout ces Xruns apparaissent. Incompréhension d'autant plus grande, qu'avant de passer sur cette version Ubuntu Studio 16.04.2, je n'avais pas ceux-ci sur la version 16.10 Yakkety Yak qui fonctionnait très bien, que je n'ai utilisé que quelques jours avant de passer sur la version actuelle pour des raisons de suivi jusqu'en 2019.

J'ai déjà fait pas mal d'essais de réglage de Jack en suivant ce fil ; mais rien n'y fait, les Xruns continues d’apparaître.
Alors j'ai lu d'autres fils qui proposent de toucher à des réglages extérieurs à Jack, mais je sais par expérience qu'il vaut mieux 'bidouiller' le moins possible sur un PC quand on n'y connait pas grand chose, et d'éviter de cumuler les problèmes. ''

- Carte son : cakewalk UA 25 EX. (J'ai fait une tentative en 48hz comme vous pouvez le voir sur le lien Ubuntu.fr ci dessus, Jack n'affiche même pas cette mesure...)
- Noyau : 4.8.0-42-lowlatency


Cordialement
Bonjour,
Voici la commande :

Copy to clipboard
woodnote@woodnote-System-Product-Name:~$ cat /etc/pulse/client.conf # This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, see <http://www.gnu.org/licenses/>. ## Configuration file for PulseAudio clients. See pulse-client.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. ; default-sink = ; default-source = ; default-server = ; default-dbus-server = ; autospawn = no ; daemon-binary = /usr/bin/pulseaudio ; extra-arguments = --log-target=syslog ; cookie-file = ; enable-shm = yes ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB ; auto-connect-localhost = no ; auto-connect-display = no woodnote@woodnote-System-Product-Name:~$


Encore une fois ça ne presse pas.
(De mon côté je vais aujourd'hui donner priorité au répertoire que j'ai à bosser ❗

Bonne journée.
France
@Woodnote et allany: en tout cas, on ne pourra pas dire ici que vous n'etes pas persévérants 😉 !
Suisse
En aucun cas.
Exemple : fast Ultra 8R gère 8 entrées/sorties à 48 kHz.
Ce sont les DAC du périphérique son qui gère cela. l'USB ne gère que les entrées/sorties des données.
France
allany écrit:
@olinuxx : j'ai enfin ma réponse à la question sur le snd-usb-audio. La rédaction que j'en avais faite est donc toujours bien la bonne aussi linuxmao n'est pas en faute. J'y avais écrit :
"Dans le cas d'un matériel "class-compliant", les pilotes alsa sauront traiter 2 entrées, 2 sorties et un échantillonnage de 16 bits en 44100 hertz".
Il faut comprendre que le "class compliant" est la base du snd-usb-audio.


Oui, le snd-usb-audio est la mise en oeuvre de la norme "class compliant" audio USB 1.x .

Pour en revenir au sujet, j'ai l'impression que si Woodnote n'entend pas le son sur sa carte UA 25 EX, c'est parce qu'elle ne semble pas sélectionnée dans qjackctl si j'en crois ses captures d'écran.
Moi, j'en suis resté là :
A
J'espère que ça n'a pas bougé entre-temps... 😎
J'ai dit nulle part que je n'entendais pas de son sur ma carte. Ca tourne plutôt bien depuis ce matin mais j'y reviens ci-plus bas après avoir posté cette capture prise il y a quelques secondes :


JackAJour


J'ai remonté un peu la latence ce matin avant de commencer à bosser mon répertoire à un Echantillons/ période de 256 ; Périodes/ Tampons sur 2 (Comme on peut le voir sur la capture ci dessus), ce qui me donne une latence de 11.6ms. Et bien avec Jackd démarré, mes audios à bosser tournant sur Vlc , puis Guitarix allumé pour avoir un bon petit son clair avec ma pelle ; résultat : Je n'ai eu aucun xrun de toute la matinée.
France
woodnote écrit:
J'ai dit nulle part que je n'entendais pas de son sur ma carte.


C'est exact. Je me suis fourvoyé en regardant la capture d'écran dl6356?display (page 4, message de Woodnote le mer. 05 Apr 2017 18:23)
Pour le cat du fichier client.conf, après vérif', tout est OK.
Je ne comprends toujours pas pourquoi pulseaudio reste actif mais... 😕

Perso, je trouve que 11,6 ms, c'est plutôt bien. Plutôt normal.
Après, au tout début du fil, tu ne voulais pas excéder 10 ms.
Perçois-tu une gêne au monitoring lorsque tu joues en playback sur VLC ?
Toujours en 44100 avec advanced à OFF ?

A+
Bonjour,
Oui, si je ne m'en suis pas plaint c'est que à 11.6ms la latence reste imperceptible (à ce niveau de latence, j'ai quand même la sensation d'un léger retard après attaque des cordes ; ailleurs je parlais d'une sensation d' aspiration en fait, certainement du à un manque de réaction : je perçois un différentiel entre le mouvement (l'attaque de mes cordes), et ce que j'en entend (le son) ; finalement c'est bien ça la définition de la latence 😊 ). Quand je pourrai, je referai tout de même un test en passant l' Echantillon/ période à 128 et en augmentant Périodes/ Tampon à 3 (sauf contre indication de votre part ?), ce qui me permettra de tomber la latence aux environs des 8ms.

Par contre, peux tu reformuler ta question ?

allany écrit:
Perçois-tu une gêne au monitoring lorsque tu joues en playback sur VLC ?

Je ne comprend pas ce que tu veux dire par "gêne au monitoring" ; tu veux dire quand je joue en sortie de ma carte son (sans Guitarix ou autre soft) tout en passant un fichier audio dans vlc ?

Toujours en 44100 Advanced OFF

A +
Non, non. Je parlais de ce que tu viens précisément d'expliquer (...léger retard à l'attaque...).

Du coup, je ne sais pas trop où tu en es par rapport à ta question initiale, celle de ton titre. Tu viens, en effet, d'expérimenter la méthode pour "décaper" tes xruns.

Je pense qu'avec ces quelques manip's, on a aussi démontré plusieurs choses :
  • il est possible, avec ta config', d'obtenir une latence confortable, sans aucun xrun, à (no)advance/16b/44,1khz.
  • chaque incrémentation des valeurs d'échantillonnage (48khz, 96 khz) dégradera mathématiquement cette latence.
  • tu peux, en effet, tâtonner avec quelques paramètres de jackd pour affiner ces réglages.
  • la position advanced/96khz sait fonctionner uniquement en entrée ou uniquement en sortie.
  • cette recherche de performances demande (nous a demandé) énormément de ressources, du maniement d'un éditeur à la compréhension et à la maîtrise des commandes.
Tout ceci donnant une idée assez précise des limites de cette configuration homme/machine, fort honorables par ailleurs.

Donc soit tu bosses avec ce premier réglage (qualité "CD" standard) soit (on en revient à mes suggestions du tout début) tu essaies une autre distribution MAO, soit enfin tu installes un noyau realtime, fourni par ta distribution actuelle. Si tu veux aller plus loin, bien sûr.

A+
Ok
De ma recherche initiale au souhait de ne plus être gêné d'xrun, nous avons bien avancé comme ton "bilan" le résume. Je voudrais attendre de réaliser les derniers tests pour épinglé le post en ""Résolu'' si ceux ci sont convaincants.

Si je décidais d'essayer une nouvelle distrib ou d'installer un noyau, j'ouvrirai une nouvelle discussion comme vous me l'avez conseillé plus tôt dans ce fil.

Bonne journée et à bientôt.
pour palier aux problemes de latence avec guitarix, moi je passe par une table de mixage qui envoit le son dans la carte son, mais aussi en direct, en pas tres fort, de cette façon j'ai le son clair nature qui declenche un poil avant, et disparait aussitot derriere le son traité. ça me donne vraiment une meilleure sensation de jeu, que ce soit en travail de repertoire ou en enregistrement.
Merci Olof pour le partage de ton expérience. J'avais aussi pensé à un multi-effets guitare fixe pour choper des bon gros sons de satus pour guitare lead, que je ne trouve pas sur Guitarix. Le truc, c'est que mon coin travail c'est mon bureau, je peux pas trop m'étaler non plus 😊
J'ai un préampli à lampe avec simulation de HP's en vente dans "la brocante", qui offre une sortie pour se connecter à l'entrée line d'une carte-son... 😎

Woodnote écrit:
Je voudrais attendre de réaliser les derniers tests pour épinglé le post en ""Résolu'' si ceux ci sont convaincants.
allany écrit:
chaque incrémentation des valeurs d'échantillonnage (48khz, 96 khz) dégradera mathématiquement cette latence.
mais on peut tenter quand même 48000, si tu le souhaites.

Donc, sur la carte : advance ON et 48khz et, dans jackd, freq. à 48000, duplex, 2 entrées, 2 sorties et tu pars d'éch./période à 1024 puis tu essaie 512 puis 256, etc..., jusqu'aux premiers xruns. Tu observes quelle latence te calcule jackd pour la valeur précédente, la dernière sans xruns, qui sera ta limite.

Pour 96khz, ce sera différent. On verra après le présent test.
Pour les tests dont je parle dans la citation que tu as reprise de moi, c'est de ceux (ou celui plutôt) mentionné plus haut encore :
Quand je pourrai, je referai tout de même un test en passant l' Echantillon/ période à 128 et en augmentant Périodes/ Tampon à 3 (sauf contre indication de votre part ?), ce qui me permettra de tomber la latence aux environs des 8ms.


Je pense qu'on est près du but, je vais pas compliquer les choses plus qu'elles ne le sont 😊

Merci de ta proposition, mais niveau matos, je vais m'arrêter là ; au pire je brancherais ma tête Marshall JVM210H dont les saturations sont très bonnes pour ce cadre là. Enfin faudra que je vous demande comment bien réaliser le câblage en partant de la sortie Xlr prévue pour ça sur la tête d'ampli vers l' input (mais lequel, couplet au Hi-z (?) ) de ma carte son. Mais pour ça il faut que j'ouvre un autre fil de discussion 😉

A +
Tu restes donc en 16 bits/44,1 khz ?
Si c'est bien le cas, les 2 seuls paramètres pouvant agir sur la latence sont, en effet, éch./periode et tampons.

Je viens de faire un essai sur un i3/8Go, debian lowlatency avec une FastTrack C400 en USB (plutôt moins bien que l'UX25, je pense) et, avec 44,1, 128 et 2, j'obtiens 5,8 ms sans xruns au lancement d'ardour+guitarix, par exemple.

Sinon, plusieurs de mes questions restent sans réponses qui auraient pu aider à comprendre mieux le "tuning" de ta config'.
Le aplay -l, le souci avec pulseaudio, les périphériques d'E/S que te propose jackd... et le volet jackd => softs que je prévoyais de traiter après alsa/jackd.
Mais je comprends très bien que le temps ne soit élastique pour personne et que la priorité soit d'être au plus près de la pratique musicale plutôt que du paramétrage de linux... 😎
Ceci faisait d'ailleurs partie de mon petit bilan :
"cette recherche de performances demande (nous a demandé) énormément de ressources, du maniement d'un éditeur à la compréhension et à la maîtrise des commandes."
et de ma conclusion :
"Tout ceci donnant une idée assez précise des limites de cette configuration homme/machine, fort honorables par ailleurs."

A+
allany écrit:
Tu restes donc en 16 bits/44,1 khz ?


Ben, n'est-ce pas suffisant ?

Sinon, j'ai moi même laissé tourner ce matin Jacd, Vlc et Guitarix en bossant mon répertoire sur les mêmes valeurs que celles de ton test ; pareil de mon côté, aucun Xrun à déplorer.

allany écrit:
Sinon, plusieurs de mes questions restent sans réponses qui auraient pu aider à comprendre mieux le "tuning" de ta config'.


Si je peux aider un peu, y'a pas de souci Allany, dis moi ce que tu veux que je fasse et je le ferai. Simplement, et comme on se l'est déjà dit, faisons ça tranquillement, sans se presser.

Bonne journée.
Page: 6/6
1  2  3  4  5  6