Chargement...
 
Skip to main content

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


[RESOLU]Probable mauvais paramétrage de jack

Bonsoir à tous, 😊
J'essaie de faire fonctionner jack, pure data et ardour ensemble. Mais, pour le moment, ce n'est pas avec bonheur. Je m'explique.
Je lance jack avec qjackctl et je le démarre avec les paramètres que je lui ai donnés. Jusque là, tout va bien.
Je lance Puredata par la commande "pdextended -rt" dans une console. Là, il y a des fois où tout va bien mais il y aussi des fois où je commence à voir des xruns.
Quand je lance ardour, c'est une catastrophe. Les xruns pullulent.

Principalement, mais pas uniquement, je vois dans la fenêtre de messages de pure data, la chose suivante:
"error: JACK error: JackActivationCount: :Signal value = 0 ref = 3"

Comme je ne trouve pas ce que cela veut dire, je ne suis pas plus avancé. 😢
Voyez-vous une explication?

Merci, par avance pour votre aide. 😉

J'allais oublier de préciser que la carte-son est une Edirol UA25, le processeur un core i7 920, ubuntu 11.04 et 6Go de mémoire.
Ne pas tenir compte de cette réponse qui est due à une erreur de manip
Salut !

Ca aiderait d'avoir aussi le log de Jack...
Bouton "messages".

A+
Bonsoir😊

Voici un petit bout de code qui montre des "no callback" dans jack:

**********************************************
Jack: JackExternalClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: fPollTable i = 2 fd = 10
Jack: fPollTable i = 3 fd = 14
Jack: JackClient::kXRunCallback
Jack: JackAlsaDriver::Read warning nframes = 256
Jack: fPollTable i = 1 fd = 9
Jack: JackRequest::Notification
Jack: Process: graph not finished!
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: Process: waiting to switch delta = 3035
JackEngine::XRun: client = pure_data_0 was not run: state = 1
JackAudioDriver::ProcessGraphAsync: Process error
Jack: JackEngine::NotifyClient: no callback for event = 3
JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: fPollTable i = 2 fd = 10
Jack: fPollTable i = 3 fd = 14
Jack: JackClient::kXRunCallback
Jack: fPollTable i = 1 fd = 9
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
JackPosixMutex::Unlock res = 1
Jack: Process: graph not finished!
Jack: Process: waiting to switch delta = 2998
JackEngine::XRun: client = pure_data_0 was not run: state = 1
JackAudioDriver::ProcessGraphAsync: Process error
Jack: JackExternalClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: fPollTable i = 2 fd = 10
Jack: fPollTable i = 3 fd = 14
Jack: JackClient::kXRunCallback
18:05:10.865 Récupération de désynchronisation (XRUN) (3 sauté).
Jack: fPollTable i = 1 fd = 9
Jack: fPollTable i = 2 fd = 10
Jack: fPollTable i = 3 fd = 14
***********************************************

J'ai progressé depuis. Je me suis apperçu que j'avais un /etc/security/limits.conf et un /etc/security/limits.d/audio.conf.
J'ai supprimé le /etc/security/limits.d/audio.conf et maintenant, je n'ai pratiquement plus de coupure audio avec ces cliquetis caractéristiques. Mais j'ai encore beaucoup de xruns (environ 250 au bout d'1/2 heure).
Je me suis pourtant servi des pages qui parlent ici de la config de jack et de PAM.
Je vous remercie d'avoir bien voulu prendre au moins la peine de me lire.
A+ 😊
France
@allany : faut vraiment que tu lises ceci 😉
tu vois, les liens comme log de jack sont vraiment vachement facile à faire, et cette page contient tout ce qu'il faut pour éviter des post comme celui du dessus.

@AraKsas, commence par là : tuto jack premier lancement, puis envoi ton log de jack 😉

oliv'
Salut !

Je pense que c'est, dans les dernières versions d'Ubuntu, le /etc/security/limits.d/audio.conf qui fait foi.

J'ai vu avec alsa-base.conf, qui fonctionne maintenant sous le même principe, que ce sont les .conf qui ont le dernier mot dans /etc/modprobe.d (ex: blacklist.conf, oss-compat.conf, etc...).

Le fait de l'avoir supprimé redonne, sans doute, la main à limits.conf, pour rtprio, memlock, etc..., mais j'espère que tu n'auras pas d'effets secondaires désagréables...

Si c'était le cas, le recréer avec les trois lignes (dont une commentée) "@audio..." devrait suffire.

A+
Bonsoir à tous,
Pour le log, j'ai bien lu.Mais je vais relire encore. 😉

Pour ce qui est du "/etc/security/limits.d/audio.conf" en fait, je l'ai simplement renommé en ajoutant".old" pour au cas où. J'essaierai de faire de nouveaux essais. Mais si j'ai choisi de le "supprimer" c'est parce que lorsque je supprimais l'autre, je ne pouvais pas redémarrer la machine. Ubuntu se lançait bien, mais une fois arrivé à la demande du mot de passe, je pouvais le taper autant de fois que je le voulais et le démarrage n'allait pas plus loin.

Pour le tuto "premier lancement de jack", c'est avec lui et ses liens que j'ai configuré Jack et Pam, au départ. Donc, sauf erreur de ma part.... 😉

Je reviendrai mettre le "log" de jack dans une meilleure forme de présentation. 😂
Merci pour votre aide. A+😀
Bonsoir à tous, 😊

Voici donc le log de jack


[+]
Pour le moment, j'en suis à me demander s'il ne faut que j'installe un noyau rt.J'ai essayé de modifier les réglages dans qjackctl, mais dès que j'augmente la latence, je diminue bien le nombre de xruns mais ce n'est pas jouable. J'entends le son avec un décalage trop important par rapport au moment où je le joue sur ma basse.

A+😊
Hello !

Je vois que tu as une carte en USB.
Par contre, tu lances Jack avec le(s) périphérique(s) en hw:0.
Est-ce à dire que tu as désactivé, dans ton BIOS, la carte son intégrée ?
Si non, envoie-nous le résultat de :
aplay -l

Pour info : les .conf sont là comme fichiers complémentaires. Le fichier primaire ne doit surtout pas être effacé

A+;
Bonsoir à tous, 😊

Pour tout dire j'avais une 0404 et la UA25. Mais je n'ai pas désactivé la carte intégrée ou alors, je ne m'en souviens pas. La 0404 m'ayant laché entre temps, je viens de la retirer de l'UC.

Pour le résultat de la commande, voici le résultat:

[+]
Tu me dis qu'il ne faut surtout pas enlever le fichier "/etc/security/limits.d/audio.conf", si je comprends bien. Mais alors que faire puisque si je le laisse, je ne peux pas démarrer la machine complètement? 😊

A+
Salut !

Ton système ne voit qu'une carte-son, l'UA25 en USB.
Tu as certainement désactivé celle qui est (était ?) intégrée à la carte-mère.
Peu importe, ton paramétrage de Jack en hw:0 est, du coup, correct.

Pour audio.conf, c'est l'inverse que je voulais dire.
Il ne faut pas supprimer le fichier racine qui est :
/etc/security/limits.conf
Les petits fichiers sous /etc/security/limits.d, suffixés en .conf, sont des fichiers d'informations spécifiques et complémentaires pour le premier.
Si tu mets les infos concernant l'audio dans le premier, ça fonctionnera. Simplement, ton arborescence ne sera plus conforme aux dernières versions d'Ubuntu et tu peux même avoir un message, sur certaines commandes (ex : alsa force-reload) indiquant que les futures versions ne prendront plus en compte l'ancienne arborescence.
Donc, d'éventuels soucis avec les futures mises à jour...

Mais ça ne règle pas ton problème...
Pianolivier sait peut-être mais moi, je ne comprends pas ces messages de Jack (systématiques sur cette version d'Ubuntu) qui disent au lancement :
jack server is not running or cannot be started
en se lançant quand même...
As-tu bien coché la case "temps réel", dans Jack, car il te dit :
Jack: Create non RT thread ?

A+
Bonjour, 😊

Oui, je viens de vérifier à nouveau, et j'ai bien coché la case "temps réel" dans les propriétés de jack. Je vois que sur ce point, nous sommes d'accord. La signification des messages de jack est assez mystérieuse. 😀

Sur conseil qui m'a été donné dans un autre forum, j'ai installé une autre distrib avec un noyau basse latence pour voir ce que ça donne. Il s'agit, en l'occurrence d'une tango studio 64bits. Je n'ai pas encore fini de la paramétrer et de faire des essais avec.

Je ne manquerai pas, bien sûr, de vous tenir au courant des résultats. En espérant que ça soit meilleur.

A+
France
oulala y'a eu du bidouillage de jack là ! 😀

comme je disais, commence par ce tuto, et ne modifie que les paramètres de latence (si ca te chante), car chercher la plus petite latence tout en donnant le droit aux applictions d'etre en retard (timout) ca n'a pas de sens et cliquer parout n'apporte pas que du bon.

avec 2ms de latence (logicielle) et une carte usb1, il faut pas se poser de question quant à l'origine des x-runs. Un Le noyau Temps-Réel et une conf tip-top t'aidera surement à les réduire, mais pas à les supprimer. Je suis personnellement tres heureux de pouvoir obtenir 2ms de latence avec un systeme gentoo optimisé, une carte son firewire et avec certains logiciels seulement. jdelay te permettra de comprendre ou se trouve ton problème de latence qui n'est pas logicielle mais matérielle.
Bonsoir à tous, 😊
Merci bien pour ton intervention. 😊

En te lisant j'ai l'impression que tu me prends un peu pour un intégriste de la basse latence. 😂

La basse latence n'est pas une fin en soi. Ce n'est qu'un chiffre... Mais, ce chiffre me permet de repérer à quelle valeur je peux me servir du matériel et du logiciel de façon intéressante. Or, actuellement, et je ne peux pas descendre plus bas sous peine de ne pas pouvoir démarrer Jack, j'ai une latence de 8.71 ms. Si je passe le cap au-dessus (17.4 ms), ce qui diminue sensiblement le nombre de xruns, je ne peux pas exploiter. Il se passe trop de temps entre le moment où je joue une note sur ma basse et le moment où je l'entends. A tel point que je m'y perds dans le tempo. Donc, il serait bien que j'améliore ce point.

Je ne connaissais pas l'outil dont tu parles (jdelay). Merci pour le tuyau. 😉
Qu'entends-tu par "timout"?

De toute manière, j'ai installé tango studio, mais n'ai pas fini de le paramétrer pour tester. Je verrai bien ce que ça donne avec un noyau "basse latence".
A+ 😊
Bonsoir à tous, 😊

Il semblerait bien, après plusieurs essais, que je doive constater que la majeure partie des problèmes que j'avais était liée à ma carte graphique (une Nvidia). Sous Ubuntu comme sous Tango studio, j'ai installé le driver qui lui correspond et je n'ai pratiquement plus de messages d'erreur dans pure data ou de xruns dans jack.

A+ 😎