Chargement...
 
Skip to main content

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


pulseaudio vers jack

bonjour

J'ai par moment des xruns dans jack et parfois sans que rien ne tourne

jack est lancé comme ça :
Copy to clipboard
/usr/bin/jackd -P80 -p128 -m -dalsa -r48000 -p64 -n2 -D -Chw:CODEC -Phw:CODEC,0


je lance ensuite
Copy to clipboard
pactl load-module module-jack-sink pactl load-module module-jack-source


et je vois dans /var/log/messages

Copy to clipboard
Jul 28 18:38:54 debian pulseaudio[1387]: [pulseaudio] module-jack-sink.c: JACK error >Cannot use real-time scheduling (RR/75)(1: Opération non permise)< Jul 28 18:38:54 debian pulseaudio[1387]: [pulseaudio] module-jack-sink.c: JACK error >JackClient::AcquireSelfRealTime error< Jul 28 18:38:54 debian pulseaudio[1387]: [pulseaudio] source.c: Default and alternate sample rates are the same. Jul 28 18:38:54 debian pulseaudio[1387]: [pulseaudio] module-jack-source.c: JACK error >Cannot use real-time scheduling



petites précisions sur ma conf :
Copy to clipboard
uname -a Linux debian 4.9.0-3-rt-amd64 #1 SMP PREEMPT RT Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux


Copy to clipboard
limit -l -r max locked memory (kbytes, -l) unlimited real-time priority (-r) 95



je me demande alors si les xruns peuvent venir de de pulseaudio, d'autant que jack semble boucler par moment et il a du mal à s’arrêter
Ta machine (PREEMPT RT, PAM, ...) semble être plutôt dédiée à la MAO.
Pourquoi alors lances-tu la passerelle pulseaudio/jackd ?
D'ailleurs, apparaît-elle dans l'écran "connexions" de jackd, une fois celui-ci démarré ?
oui la machine c'est pour essayer la MAO.
Je lance la passerelle, car j'aime, parfois je lance un backtracking sur youtube et je joue sur guitarix.
Oui je n'ai pas précisé, mais tout fonctionne. Les connexions sont établies et le son passe bien. Mais au bout d'un moment ça deconne
OK, je m'en doutais un peu, pour pulse !

Jackd :
  • Au moment où les xruns se produisent, ce serait bien de voir ce que dit son log (bouton "messages"),
  • Vérifie quand même que, dans ton écran "connecter", les pulseaudio-xxx apparaissent bien,
  • As-tu fait un essai sur les xruns en montant la latence d'un cran (p à 256) ?
J'ai lancé jack avec une période de 256
J'ai reduis un peu après la latence depuis guitarix et j'ai eu un petit décroché, mais rien de très important.
Voila le log de jack

Copy to clipboard
Creating alsa driver ... hw:CODEC,0|hw:CODEC|256|2|48000|0|0|nomon|swmeter|-|32bit configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods ALSA: final selected sample format for capture: 16bit little-endian ALSA: use 2 periods for capture ALSA: final selected sample format for playback: 16bit little-endian ALSA: use 2 periods for playback 16:01:59.562 Changement des connexions JACK. 16:01:59.562 Configuration du serveur enregistrée dans « /home/david/.jackdrc ». 16:01:59.563 Réinitialisation des statistiques. 16:01:59.569 Client activé. 16:01:59.570 Baie de brassage désactivée. 16:01:59.570 Script post-démarrage... 16:01:59.570 /home/david/scripts/pulse-jack.sh 16:01:59.577 Changement du graphique des connexions JACK. 49 50 16:02:00.039 Script post-démarrage terminé avec succès. 16:02:00.041 Changement des connexions JACK. 16:02:17.846 Changement du graphique des connexions JACK. 16:02:17.889 Changement des connexions JACK. 16:02:17.916 Changement du graphique des connexions JACK. configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods ALSA: final selected sample format for capture: 16bit little-endian ALSA: use 2 periods for capture ALSA: final selected sample format for playback: 16bit little-endian ALSA: use 2 periods for playback 16:29:04.150 Changement de la taille du tampon (128). 16:29:04.171 Récupération désynchronisation (XRUN) (1). 16:29:05.579 Récupération de désynchronisation (XRUN) (49 sauté).


c'est dèjà mieux qu'avant, je vais continuer mes essais.
j'imagine que 128 c'est trop bas pour le serveur, il faut peut être affiner par l'appli cliente
Ouaip !
Bon, en plus, je vois que tu as de la marge puisque ta latence, à p=256, est de 5,3 ms.
Pour jouer de la gratte en live, comme tu le fais, tu pourrais, je pense, pousser jusqu'à 10-15 ms sans gêne audible. P=512, peut-être ?
Après, quelques xruns, s'ils ne produisent pas d'horribles craquements, ce n'est pas forcément gênant...
c'est ce que j'ai lu mais finalement sur ma machine je lance jack avec la période à 256 et guitarix à latence 128, pour avoir quelque chose de propre. Je vais essayer d'autres appli car çà me parait pas très logique
France
Un truc qui m'interroge, la latence dans Guitarix est celle de jack me semble t'il,
si tu les règles différemment, l'une doit prendre le pas sur l'autre.
je pense aussi, je pense que guitarix prend le dessus. Mais c'est une impression (à l'oreil).
j'ai installer rakarrack qui semble marché bien sans y retoucher, car de toute façon je ne sais pas comment faire.
Je viens de faire un test, rapido...
Je lance jackd avec echantillons/période à 128 puis je lance guitarix.
L'onglet "moteur/latence" de ce dernier me donne bien 128, sans que j'aie touché à rien.
J'arrête tout et je mets échantillons/période à 256 dans jackd.
Je lance guitarix, toujours sans toucher à rien, et il me donne "latence" à 256.
Guitarix semble donc s'aligner automatiquement sur la latence de jackd, en effet.
France
Note modération : merci d'utiliser la balise CODE lorsque tu copies/colles du code sur le site. Celles-ci permettent un meilleur affichage.
Lmao Code
Voir également cette page.


(j'ai édité tes messages pour ce coup-ci)

Que donne le retour de la commande
Copy to clipboard
cat /etc/security/limits.d/audio.conf