Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

5 - Les serveurs son : Jack, PulseAudio et autres...

> Forums de discussion > 5 - Les serveurs son : Jack, PulseAudio et autres... > Carte son invisible dans Jack au démarrage de l'ordi
Dernier post

Carte son invisible dans Jack au démarrage de l'ordi

Teigneux utilisateur non connecté
Bonjour et bonne année à toutes et à tous!

J'ai une config qui marche plutôt très bien: Unbuntu Studio 19.10, 2 presonus FP10 chainés (donc firewire), un faderport presonus. J'utilise Ardour pour l'enregistrement, mais également Audacious pour écouter des morceaux, Adacity pour ralentir des morceaux (pour pouvoir les apprendre), firefox pour écouter en streaming des cours d'instru, gtklick, etc.

Tout ce petit monde cohabite bien grâce à Jack qui gère l'ensemble en 48000Hz. Audacious lit mes fichiers son et 44KHz mais les renvoi en 48kHz donc c'est parfait!

Seulement voilà, chaque fois que je redémarre mon ordi, Jack se réinitialise et je ne vois plus ma carte son du tout: dans l'onglet Audio du menu connexions, elle n'est pas là. A la place, j'ai PulseOut (et PulseIn) et System
Image

Pour récupérer ma carte son, je n'ai qu'à arrêter Jack et le relancer: et là tout apparaît:
Image

Quelqu'un a-t-il une idée pour éviter le redémarrage de Jack?

Deuxième petit problème. Dès que je lance Ardour, Audacious et quoi que ce soit d'autre, Jack me met par défaut une liaison avec la sortie de ma carte son qui n'est pas reliée aux enceintes (j'ai mes deux FP10 reliées entre elle par firewire):
Image

J'ai testé plusieurs config, en inversant la carte son dans les réglages de Ubuntu Studio Controller mais soit ça ne change rien, soit ça casse la config.

Là encore, pas très grave, je décâble et recâble pour avoir ma bonne sortie:
Image

Il faut que je le fasse pour chaque nouvelle instance d'un logiciel que je lance. Y'a-t-il moyen de lui faire se souvenir de la bonne sortie une fois pour toute?

Tout ça n'est au final pas si grave, c'est juste que je perd chaque fois 5 minutes à tout relier. Pareil pour la liaison Faderport et Ardour dans l'onglet Midi.

Merci pour votre aide! biggrin

Houston4444 utilisateur non connecté France
Salut

Teigneux écrit :
Seulement voilà, chaque fois que je redémarre mon ordi, Jack se réinitialise et je ne vois plus ma carte son du tout


mmmh, est-tu bien sûr que JACK soit démarré vu les conditions (c'est assez étrange ces groupes de port PulseIn PulseOut, je n'ai jamais vu ça, mais je ne connais pas Ubuntu Studio).
Pour savoir si JACK est démarré, essaye

jack_control status


Teigneux écrit :
Deuxième petit problème. Dès que je lance Ardour, Audacious et quoi que ce soit d'autre, Jack me met par défaut une liaison avec la sortie de ma carte son qui n'est pas reliée aux enceintes (j'ai mes deux FP10 reliées entre elle par firewire):

Ça veut certainement dire que ces sorties sont celles qui sont considérées comme les sorties physiques par défaut. Peut-être que c'est configurable via ffado-mixer.
Je suppose que tu utilises Audacious via PulseAudio et non via JACK (ce qui n'est pas problématique en soit). À priori si tu essayes d'utiliser Audacious directement avec JACK, Audacious sera relié également à ces mauvaises sorties.

Au cas où tu ne parviens pas à configurer tes bonnes sorties comme étant celles par défaut, tu peux demander à JACK de ne faire aucune auto-connexion vers les sorties matérielles, tu peux aussi faire un script très simple qui connecte tes sorties Pulse Audio JACK Sink à tes sorties matérielles avec jack_connect.

Teigneux utilisateur non connecté
Merci pour ta réponse!!!

Houston4444 écrit :
Pour savoir si JACK est démarré, essaye
jack_control status

A priori Jack est démarré, comme tu peux le voir sur le premier screenshot, en tout cas c'est ce que l'interface dit. Je jetterais quand même un œil avec ta ligne de commande, par acquis de conscience ;)

Houston4444 écrit :
Ça veut certainement dire que ces sorties sont celles qui sont considérées comme les sorties physiques par défaut. Peut-être que c'est configurable via ffado-mixer.

J'ai à peu près tout essayé dans Jack mais j'ai pas du tout pensé à regarder dans ffado-mixer. Je vais regarder! Dans Jack, j'utilise le pilote firewire. C'est bien ffado en fait?

Houston4444 écrit :
À priori si tu essayes d'utiliser Audacious directement avec JACK, Audacious sera relié également à ces mauvaises sorties.

J'utilise tout via Jack, et effectivement Audacious est directement relié aux mauvaises sorties. Donc quand c'est pas relié, c'est que ça passe par défaut par PulseAudio alors? C'est le cas de gtklick. Je dois pouvoir le mettre de base pour Jack alors?

Merci beaucoup pour ton aide, je vais essayer tout ça!

Teigneux utilisateur non connecté
Salut!

Donc j'ai testé
jack_control status

au démarrage et il me renvoie
--status
started

J'ai toujours les mêmes entrées / sorties proposées et pas de carte son du coup.

Pour FFADO, j'ai pas réussi à configurer quoi que ce soit. C'est peut-être mieux en passant par Carla?

bda utilisateur non connecté France
Est-ce que, par hasard, tu aurais sauvegardé un préréglage dans la fenêtre "réglages" de QjackCtl?
Il est possible que tu es un précédent réglage qui soit choisi en priorité au lancement de jackd.
Tu peux aussi nous donner le contenu du fichier ~/.jackdrc stp?

Teigneux utilisateur non connecté
Salut bda, merci pour ton aide.

QJackCtl n'a pas de préréglage, il est sur default en grisé.

Voici ce que contient ~/.jackdrc

/usr/bin/jackd -dfirewire -r48000 -p64 -n3


bda utilisateur non connecté France
Je n'ai jamais eu de carte firewire donc je n'ai plus qu'une seule piste...

C'est au lancement de qjackctl que jackd est lancé ou d'une autre manière?
Si c'est en démarrant qjackctl, ça vaut peut être le coup de décocher "Démarrer le serveur audio JACK au démarrage de l'application" dans l'onglet "Divers" de la fenêtre "Réglages".

Essaie aussi dans un terminal, quand jack est arrêté:
`cat ~/.jackdrc`

Et nous dires si ta carte FW est visible dans qjackctl ou non. Si elle n'est pas visible, supprime le fichier ~/.jackdrc.

Teigneux utilisateur non connecté
jack est lancé au démarrage de l'ordi, il me dit started dans le terminal après un redémarrage sans avoir touché au QJackCtl.

cat ~/.jackdrc me dit
/usr/bin/jackd -dfirewire -r48000 -p64 -n3

C'est d'ailleurs pas cette commande que j'avais eu l'info précédemment wink

Je vais essayer de supprimer ~/.jackdrc pour voir.

bda utilisateur non connecté France
Il faut lancer la commande avec les `, ça permet d'exécuter le contenu du fichier .jackdrc et non simplement d'afficher son contenu.

Si jackd est lancé au démarrage, il faut trouver qui s'en charge. Le soucis de configuration doit s'y trouver. Est-ce que c'est au lancement de ta session utilisateur ou avec systemd? Dans les deux cas, je ne te serais pas d'une grande aide. Je n'utilise pas ubuntu ni aucun bureau comme gnome, mate ou encore kde. Et encore moins systemd...

Teigneux utilisateur non connecté
Ah j'ignorais pour la commande avec les `, encore un truc d'appris biggrin

Voilà ce que retourne la commande:

jackdmp 1.9.12
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2017 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
1578222066261924:  (ffado.cpp)[  92] ffado_streaming_init: libffado 2.4.1 built Aug  4 2019 23:30:48


bda utilisateur non connecté France
Et ta carte est visible dans qjackctl avec cette commande? Je pense que oui car il y a la ligne ffado_streaming_init.

Comment as tu fais pour lancer jackd au démarrage? C'est là qu'il y a une erreur de configuration. Si c'est gnome, ça doit être dans ~/.config/autostart/. Je crois qu'il y a aussi un panneau de configuration pour ça (désolé, pas utilisé gnome depuis la 0.8 ou quelque chose comme ça).

Teigneux utilisateur non connecté
Alors, après redémarrage de l'ordi et avant de lancer QJaclCtl, si je fais `cat ~/.jackdrc` j'ai ceci:
jackdmp 1.9.12
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2017 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
no message buffer overruns
`default' server already active
Failed to open server


Jack est bien started.

Dans QJackCtl -> pas de carte son

J'arrête et redémarre Jack via QJackCtl:
jackdmp 1.9.12
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2017 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
no message buffer overruns
`default' server already active
Failed to open server


-> la carte son est visible dans QJackCtl
En fait, il faut que Jack soit arrêté pour obtenir ceci
jackdmp 1.9.12
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2017 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
1578235399262776:  (ffado.cpp)[  92] ffado_streaming_init: libffado 2.4.1 built Aug  4 2019 23:30:48


Jack est lancé au démarrage, sans doute parce que j'ai configuré l'ordi pour passer tout par Jack:
Image
C'est le panneau de config dont tu parles?

Teigneux utilisateur non connecté
Un truc intéressant que je viens de découvrir. Si je relance Jack depuis QJackCtl, j'ai ma carte son. Si je relance depuis le panneau Ubuntu Studio Control, plus de carte son et avec les mêmes connections qu'au démarrage. Ca va carrément dans le sens que tu disais: le système (gnome ou autre) n'a pas le même fichier de configuration que QJackCtl. Par contre, j'ai pas trouvé de dossier ~/.config/autostart/

Teigneux utilisateur non connecté
Bon, je crois que j'ai réglé mon problème de carte son invisible au démarrage!
Dans Ubuntu Studio Controls j'ai firewire à Jack Backend. Chaque fois que je le faisais, plus de son du tout, mais après un redémarrage, c'est tout bon!
Ah bah je suis bien content!!!
Merci beaucoup bda!

Reste mon deuxième problème: par défaut, quand j'ouvre un soft, il se connecte à la mauvaise des deux cartes sons.Y a-t-il un moyen de privilégier l'une par rapport à l'autre?
Tu me disais plus haut de lancer un script pour router les softs? Ca marche même si le soft n'est pas lancé au démarrage de Jack?

Rah je suis pas loin! biggrin

bda utilisateur non connecté France
Cool! Au moins un problème de résolu :-)

Par contre l'idée du script, c'est Houston4444.
On peut configurer certains soft pour éviter qu'ils se connectent automatiquement à jackd. Ensuite voir peut être avec aj-snapshot

dlb utilisateur non connecté
Bonsoir,

Comme le suggère Houston4444, tu peux utiliser jack_connect et jack_disconnect dans un script placé en auto-démarrage ( mais je n'utilise pas gnome et je ne sais pas trop où il faut placer ce script ... )

Avant d'utiliser jack_connect/disconnect, lance la commande
jack_lsp
qui va lister tous tes ports "jack". Ensuite, si tu veux par exemple

- déconnecter l'entrée 1 de la sortie 7
- et la connecter plutôt à la sortie 3

tu écris dans ton script quelque chose comme :

jack_disconnect "entrée 1" "sortie 7"  
sleep 1 
jack_connect "entrée 1" "sortie 3"


Prends bien soin de mettre le nom de tes ports entre guillemets, car s'ils comportent des espaces, la commande échouera ...

Ce script fonctionnera bien sûr si jack tourne déjà ...
Je crois aussi que qjackctl est capable d'exécuter un script juste après le démarrage de jackd, regarde dans les "réglages", l'onglet "options", menu "exécuter un script après le démarrage"

Teigneux utilisateur non connecté
Ah super! Merci beaucoup, je vais tester ça!

Teigneux utilisateur non connecté
J'ai testé le script.
Pas de souci, il est bien exécuté au démarrage de Jack. Le problème est le suivant: quand je lance une nouvelle application (au hasard audacious), bien que le câblage soit renseigné dans le script, il n'est pas du tout pris en compte. En fait, dans ce script, j'ai l'impression qu'il faudrait que je définisse la sortie par défaut plutôt que d'essayer de décâbler et recâbler, car au moment où le script est exécuté, l'application n'est pas présente et donc il n'y a rien à router.

J'y suis presque.... razz

dlb utilisateur non connecté
C'est normal, une fois que jack_connect/disconnect a défait ou fait son câblage, il disparaît, il ne tourne plus ... Donc si tu lances audacious ou une une autre application, même si tu l'as bien déclarée, jack_connect/disconnect lui ne tourne plus et il ne se passe rien. Il te faut un outil qui surveille en permanence les ports de jackd, qui ne disparaisse pas une fois lancé mais reste présent en tâche de fond, et qui fasse les connexions que tu as préétablies lorsque l'appli cliente est lancée. Cet outil existe, c'est jack-plumbing.

Tu le lances ainsi :

jack-plumbing  /home/toto/jack-plumbing.conf


jack-plumbing.conf, c'est le fichier de configuration ou tu établis ton câblage. Il pourrait ressembler à ceci :

(disconnect "entrée 1" "sortie 7")  
(connect "entrée 1" "sortie 3")
(connect "audacious sortie 1" "sortie 3")


Ca suit à peu près la même syntaxe que jack_connect en somme ...

T'es presque au but ! ...



PS1 : lorsque jack-plumbing est lancé, les connexions crées dans son fichier de conf sont permanentes : tu ne peux plus les déconnecter ... ça peut être "piégeux" si le temps passant, on oublie que jack-plumbing est derrière tout ça ... pour reprendre le contrôle, il suffit d'un
killall jack-plumbing
pour reprendre la main !

PS2 : Il y a dans les prefs audio d'audacious, une option à cocher pour ne pas connecter audacious aux ports de sorties par défaut, ça peut te servir.

Teigneux utilisateur non connecté
Ah super, merci beaucoup!
Je vais creuser ce jack-plumbing, effectivement c'est intéressant. Par contre, ça doit bouffer un peu de ressource si ça tourne en continu? C'est minime j'imagine.

J'ai passé ma soirée à explorer d'autres voies. J'ai essayé de mettre une priorité sur la bonne carte son. J'ai d'abord essayé en suivant un ce tuto: Fixer l ordre des cartes-son -> j'ai réussi à faire les modifs mais c'est sans effet.

Après je suis parti sur la modif de mon script que j'exécute au démarrage de Jack, à coup de trucs comme ça:
alsa_out -d fw2.0

ou même
jack_control dps device fw2.0

(fw2.0 c'est la bonne carte son). A un moment, PulseAudio Jack Sink se branchait sur la bonne sortie, mais pas audacious qui allait toujours vers la mauvaise. A force de faire des modifs, ça ne marche plus même dans ce cas...

En fouillant encore internet, je suis tombé là dessus https://wiki.archlinux.org/index.php/JACK_Audio_Connection_Kit
Là dedans ils parlent de modifier de les fichiers .conf de jack entre autres. Et là je suis tombé sur le fichier 50-jack.conf dans lequel les playback_ports étaient définis sur system:chaiplusquoi (il commence à être tard). Bref, ça aurait peut-être pu m'aider dans mon premier problème résolu.

Je m'entête mais j'ai du mal à croire qu'il n'y a pas moyen de lui définir une carte son en priorité plutôt qu'une autre, ça serait tellement plus simple... Il doit prendre la mauvaise juste à cause de son numéro de série, à tous les coups...

dlb utilisateur non connecté
J'ai oublié une chose super importante dans le fichier de conf de jack-plumbing : les parenthèses pour chaque ligne ( sinon ça marche pas ! )

jack-plumbing.conf, doit ressembler à ceci :


(disconnect "entrée 1" "sortie 7" ) 
(connect "entrée 1" "sortie 3")
(connect "audacious sortie 1" "sortie 3")


( corrigé dans le message précédent ...)



Par curiosité, j'ai regardé la conso mémoire et cpu sur mon ordi de compétition surgonflé. Sur ma très modeste machine ( Dual CPU T2330 @ 1.60GHz, mém. 2giga ! ), la commande "top" m'indique une consommation de 0,0% de cpu et 3,9% d'occupation mémoire pour jack-plumbing lorsqu'il tourne en tâche de fond. Ça reste assez transparent.

Enfin, jack-plumbing fait partie du paquet jack-tools sur Debian ( et Ubuntu aussi je pense )


PS : j'ai trouvé ça pour modifier les réglages de pulseaudio par défaut :
https://perhonen.fr/blog/2015/06/changer-la-sortie-son-par-defaut-de-pulseaudio-sous-gnome-shell-1821
Ça a l'air pas mal.

Afficher les articles :
Aller au forum :

Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

Pepito-MC, 10:13, dim. 12 Jul 2020: Salut la Team
dawamss, 15:37, sam. 11 Jul 2020: un reportage à voir : la bataille du libre [Lien]
olinuxx, 16:00, jeu. 09 Jul 2020: Bonjour et bienvenue à CaptainKebs cool
sub26nico, 13:11, mer. 08 Jul 2020: Salut et bienvenue à 10D2P et J-B-V :-)
olinuxx, 15:36, mar. 07 Jul 2020: Bonjour et bienvenue à Moona cool
olinuxx, 15:42, lun. 06 Jul 2020: Bonjour et bienvenue à smellycat cool
allany, 21:11, dim. 05 Jul 2020: Trop fort, R-oooouane !
r1, 20:56, dim. 05 Jul 2020: Ce ne sont pas des nigauds, la bande de l'édito \o/ !
allany, 18:09, dim. 05 Jul 2020: C'est pas la bande à Bonnot, c'est la bande de l'édito ! [Lien]
GypsyPlayer, 10:33, ven. 03 Jul 2020: Merci Olinuxx ! J'épluche le site depuis maintenant 2-3 jours, y a plein plein d'infos c'est top !
olinuxx, 10:57, jeu. 02 Jul 2020: Bonjour et bienvenue à GypsyPlayer cool
olinuxx, 13:34, mer. 01 Jul 2020: Bonjour et bienvenue à nevastech cool