Chargement...
 
Skip to main content

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


Multiples interrogation au sujet de JACK

Bonjour,
Sur ma Debian, j'ai une session utilisateur sous KDE avec Pulseaudio, et une session dédié musique avec XFCE et JACK. Mes questions reposent sur la deuxième. Je met tout dans le même poste, car je pense que beaucoup de problème sont liés.

- Au démarrage de la session pulse audio se lance. Ce n'est pas grave, je le tue avant de lancer JACK, mais je ne comprend pas trop pourquoi.
- Lorsque je relance JACK, pulseaudio se relance. Pourquoi ? J'aimerai conserver le comportement de la session utilisateur.
- J'ai beaucoup d'erreur JACK "XRUN" de désynchronisation. Pourquoi ??? Pourtant le système est très peu chargé et le module temps réel semble activé (onglet "status" des messages JACK "mode temps réel : oui"). Fait important, ça produit des saut audible dans la musique.
- Au démarrage de Rosegarden, j'ai le message "Rosegarden n'a pas trouvé de Timer avec une résolution suffisante pour l'exécution midi", de plus lorsque j'arrive à jouer avec mon clavier MIDI (j'ai beaucoup de mal à configurer le bazars j'y reviendrai ailleurs) j'ai latence terrible ! de l'ordre de la seconde entre le moment où je tape sur la touche et celui où le son est joué. J'ai moins de latence avec LMMS et pulseaudio, à me dégouter d'utiliser JACK.

- J'ai 3 entrées (micro avant, arrière et ligne) dans la bais de JACK, j'ai juste capture1 et capture2, qui ne lit en fait qu'un seul port (micro avant par exemple), il faut que j'aille dans alsamixer pour lui dire lequel il doit lire (c'est un peu chiant).
- Enfin, dernière question, vous connaissez un lecteur de musique surround qui tourne sous JACK, Aqualung me refuse mes surround, Mixxx les joue en stéréo.

Ouf, je crois que c'est tout pour l'instant. Merci de votre aide.
France
Char Snipeur écrit:
Au démarrage de la session pulse audio se lance. Ce n'est pas grave, je le tue avant de lancer JACK, mais je ne comprend pas trop pourquoi.

Pulseaudio est définit comme "démon audio par défaut" sur Debian. Si tu veux empêcher ce comportement : MAO sans Pulseaudio et pulseaudio sans MAO.

Char Snippeur écrit:
- Lorsque je relance JACK, pulseaudio se relance. Pourquoi ? J'aimerai conserver le comportement de la session utilisateur.

Je n'ai pas compris la question. Peux-tu préciser ?

Char Snippeur écrit:
J'ai beaucoup d'erreur JACK "XRUN" de désynchronisation. Pourquoi ??? Pourtant le système est très peu chargé et le module temps réel semble activé (onglet "status" des messages JACK "mode temps réel : oui"). Fait important, ça produit des saut audible dans la musique.

Ton système n'est pas optimisé pour la MAO. Il ne suffit pas d'ajouter "mode temps réel" à jackd pour cela, il y a d'autres choses à faire.

Char Snipeur écrit:
Au démarrage de Rosegarden, j'ai le message "Rosegarden n'a pas trouvé de Timer avec une résolution suffisante pour l'exécution midi", de plus lorsque j'arrive à jouer avec mon clavier MIDI (j'ai beaucoup de mal à configurer le bazars j'y reviendrai ailleurs) j'ai latence terrible ! de l'ordre de la seconde entre le moment où je tape sur la touche et celui où le son est joué. J'ai moins de latence avec LMMS et pulseaudio, à me dégouter d'utiliser JACK.

Même remarque qu'au dessus.

Pour les 2 autres questions, elles n'ont rien à voir avec jackd. Je te laisse donc ouvrir d'autres fils de forum.
a+
Olivier
Merci pour les liens intéressant. Je n'avais pas vu la déconnexion de pulseaudio grace à la config utilisateur. Il ne se lance plus au démarrage de jack, et j'ai mis un script pour le restaurer à la fermeture de JACK.

Par contre, ça n'a pas résolu complétement mon problème de XRUN, mais il a bien diminué. Du coup j'ai essayé de bidouiller les réglages de JACK pour augmenter la latence (là je suis à environ 20ms). J'ai essayé -n3 et -n4 à la place -n2 et de passer la taille du tampon de 1024 à 2048 en option, ça mène à un non démarrage de JACK. Incompréhension totale... ça semble des paramètres utilisateurs d'après le tuto.
J'ai donc diminué l’échantillonnage de 96kHz à 88kHz, et ça améliore un peu sans augmenter trop la latence.

Que vois tu d'autre à faire pour optimiser le système ?

Le forum ALSA pour mes problèmes d'entrées alors ?
Question peut-être superflue mais as-tu bien configuré ton système pour l'audio ?
En particulier ton P.A.M. ?

Dans XFCE, tu peux aussi désactiver Pulseaudio en décochant le lancement automatique de ce dernier dans :
"Gestionnaire de paramètres/Session et démarrage/Onglet Démarrage automatique" suivi d'un reboot.

Utilises-tu la carte-son interne du PC ?
Si oui, tu devrais pouvoir laisser -n2.

Fais peut-être d'abord des essais en 44100 hz.

Peux-tu nous poster le message complet d'un lancement de Jack ?

Courage, à+...
Suisse
...et puis le noyau est il lowlatency ou realtime ?

Copy to clipboard
uname -a


en console.

S'il est generic, installe un de ces noyaux : lowlatency ou realtime. Ça ira nettement mieux et sans XRUN's
Suisse
...et je rajoute :

Copy to clipboard
sudo usermod -aG audio ton_user


Cela devient lassant...pfff 😀
RT clignote bien. Tout le temps réel a été activé comme dit dans le tuto cité par allany.
Par contre remettre la fréquence d'échantillonage à 44100Hz semble amélioré encore le XRUN. Je l'avais mis à 96 kHz, car comme la carte est sensé monté à ces fréquences là. Un peu con de ma part.
Copy to clipboard
musique@Sort11:~$ ulimit -l -r max locked memory (kbytes, -l) unlimited real-time priority (-r) 95 musique@Sort11:~$ uname -a Linux Sort11 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u1 x86_64 GNU/Linux musique@Sort11:~$ groups lamome audio musique@Sort11:~$ musique@Sort11:~$ ps -Al |grep jack 0 S 1001 11757 1 0 80 0 - 1045 - ? 00:00:00 qjackctl 0 S 1001 11763 11757 0 80 0 - 108004 - ? 00:00:05 qjackctl.real 0 S 1001 27078 1 0 80 0 - 46874 - ? 00:14:28 jackd

la priorité max est à 95 par défaut, donc je l'ai laissé et pas diminuer à 95.
Donc, comme je disais, pour les XRUN ça s'est bien améliorer. Par contre, toujours une latence énorme pour Rosegarden.
Pour les messages de connexion de JACK, je n'ai que ça :
00:29:13.070 Baie de brassage désactivée.
00:29:13.111 Réinitialisation des statistiques.
00:29:13.122 Changement des connexions ALSA.
00:29:13.158 Changement des connexions JACK.
00:29:13.173 Client activé.
Suisse
Bon ben alors, ça ne joue pas :

Copy to clipboard
musique@Sort11:~$ uname -a Linux Sort11 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u1 x86_64 GNU/Linux


Il faudrait un kernel lowlatency au minimum voire un realtime

Sous Debian tu trouveras sans doute un kernel realtime depuis synaptic

C'est la cause des Xrun
OK, merci, j'était persuadé que le noyau RT avait été installé, car à un moment donné, il me l'a demandé.
Du coup j'ai téléchargé le même en version RT, mais du coup le serveur X ne démarre pas. Probablement un souci du au pilote NVIDIA.
Je reviendrai lorsque ce problème sera résolu.
Hello !

Dans un premier temps, je te conseillerais de plutôt essayer un noyau "lowlatency" sans doute mieux intégré sur la plupart des distrib's.

A bientôt.
Suisse
Avec le noyau RT tu ne peux pas mettre ni les drivers Nvidia ni les drivers ATI. Il faut les désinstaller et utiliser le drivers standard libre (nouveau).
Avec le lowlatency je pense que oui. Perso pour faire de la musique, je n'utilise pas les drivers propriétaire.

Par expérience, dans tous les cas, le lowlatency suffit
Bon, en effet, impossible d'avoir NVIDIA, j'ai créer une config Xorg alternative et je démarre sur "nouveau".
Bon, par contre, le noyau est ULTRA instable : au bout de 5 minutes de session X, tout freeze (debian).
Mais bon,en fait, je n'ai plus de problème de XRUN pour l'instant, la réduction de l'échantillonnage suffit.
Sais tu pourquoi il n'y a pas les pilotes NVIDIA avec le noyau RT ? Sur un autre forum ça étonne que ça ne fonctionne pas, ils disent qu'avec le paquet DKMS il devrait se recompiler.

Un nom pour le noyau "lowlatency" ?
Salut !

Je crois que tu es sur Debian.
Tu devrais donc disposer de l'installateur de paquets synaptic.

Tu le lances (mot de passe) et fais "recherche/nom/lowlatency".
Il te donnera la liste des "linux-image-xxxx-lowlatency" et "linux-headers-xxxx-lowlatency" installables sur ton système où tu pourras choisir l'indice (xxxx) le plus récent.

Au boot suivant, le grub te le proposera comme 1er kernel de boot par défaut, en principe, sinon tu le trouveras dans la liste.

A+