Skip to main content

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


Jack/Alsa/Ardour et 2 cartes son

Bonjour à tous.
Nouveau sur le forum, nouveau sur LibraZik, nouveau sur Ardour/Jask/Alsa et, pour faire simple, nouveau sous Linux en général.

Voilà, les bases son posées mais, tout de même informaticien depuis plus de 30 ans.

Voici mon problème.

(ps, je suis au bureau est je n'ai pas accès à mes fichiers de configuration)

Dans mon Home Studio, je dispose d'un portable avec une carte son intégrée (hw:0), d'une interface USB Berhinger UMC404-HD (4 channels) hw:1 ou hw:U192k et d'un préampli Laney IRT Studio avec interface USB (2 channels) hw:2 ou hw:USB.
Je n'utilise pas du tout l'interface intégrée au portable.

Sans aucune configuration particulière, j'arrive à utiliser Ardour, en passant par ALSA, à utiliser l'une ou l'autre de mes interfaces.

Mon Laney IRT Studio me permet d'enregistrer en USB le son de ma guitare en clair sur le channel 0, et le son traité sur le channel 1.

Il dispose aussi d'une sortie DI en XLR qui est en input sur le channel ° de ma carte son UMC404-HD.

Seulement, je ne peut pas utiliser les 3 entrées en simultané, normal jusque là.

Après maintes recherche et beaucoup de tests, j'ai appris qu'il était possible de créer une interface virtuelle et de l'utiliser dans Ardour mais c'est là que je rencontre quelques difficultés.


J'ai donc créer mon fichier ~/.asoundrc et il ressemble à ceci :

Copy to clipboard
pcm.mixed { type multi; slaves.a.pcm hw:USB; # Interface Laney IRT Studio slaves.a.channels 2; slaves.b.pcm hw:U192k; # Interface UMC404-HD slaves.b.channels 4; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave b; bindings.2.channel 0; bindings.3.slave b; bindings.3.channel 1; bindings.4.slave b; bindings.4.channel 2; bindings.5.slave b; bindings.5.channel 3; } ctl.mixed{ type hw; card 0; }


L'objectif est à présent d'utiliser cette interface "mixed" dans Ardour mais voilà.... comment ?

j'aimerais avoir mes 6 entrées dans Ardour mais une fois cette configuration en place, je coince...

Ma configuration est-elle bonne ?
Est-elle suffisante ?
Que faire ensuite de tout ça pour le voir dans Ardour ?

Merci à tous pour ce que vous faites chaque jour !
A bientôt

Gibson
France
Pour "fusionner" 2 interfaces audio, le plus simple est d'utiliser JACK et de suivre les consignes de la page jack_alsa_io qui permettent d'ajouter des entrées et/ou sorties au graph de jack. Cette technique permet donc de fusionner les cartes au niveau de jack.

Ça doit être également possible avec la technique que tu as commencé à utiliser et qui elle fusionne les cartes au niveau d'ALSA, donc plus bas-niveau. Ceci dit, je n'ai pas d'expérience avec cela. Peut être que la page Fusionner des cartes son ALSA pourra t'aider à ce propos si tu choisis cette méthode.

Tiens nous au jus.
Merci Olivier.

Ça marchote... Je m'explique

Mon script de démarrage est le suivant :
Copy to clipboard
pulseaudio --start && alsa_in -dhw:1 -jLaneyIRT_in

Mais quand je lance QJackCtl, il semble coincé (cf image ci dessous)


Sans Titre

La log indique que le processus est bien bloqué ...
Log Jack

et pourtant, coté Ardour, je vois bien mes deux nouveaux canaux
Ardour Irt In

Ais-je une fois de plus zappé quelque chose ?
France
Avec quel serveur son Ardour est il lancé, Jack ou Alsa ?
Bonsoir sub26nico (Nico je suppose...)
Mon Ardour (5.12.0) tourne sur Jack
France
Tu as lancé Ardour avant QjackCtl ?
Que ce soit dans un sens ou bien dans l'autre, c'est la même chose.
En lançant Ardour en premier, je ne vois que ma carte son (UMC404-HD) et Pulse.
Je n'ai même pas ma sortie LaneyIRT.

Si je coupe Jackd et le relance via QJackCtl, ça coince mais les sorties deviennent accessibles sous Ardour.

En revanche (après test) si je killall qjack et le relance, il se relance sans problème et m'affiche toutes mes interfaces correctement, y compris LaneyIRT...

Je vais m'arracher les cheveux là 😊
France
Si j'ai bien compris ce qui a été dit dans le fil, tu as fusionné les cartes pour Alsa
mais tu lances Jack pour utiliser Ardour.

Donc, si je vois juste, tu oublies QjackCtl et lances Ardour sous Alsa.
Et si ton script est bon, toutes tes entrées devraient apparaître dans Ardour.
Et si je vois (encore) bien, tu as choisis le Laney comme mixeur dans ton script,
ce qui paraît curieux, j'aurais plutôt mis la carte USB.

Si tu veux utiliser Jack, il te faudra suivre la page jack_alsa_io dont olinuxx
t'as mis le lien plus haut en lieu et place de ton script.
C'est un fait, je n'ai pas été clair.
Mais suite au message d'olinuxx, j'ai testé avec alsa_in -dhw:1 et c'est à ce stade que je suis coincé.
cela marchotte comme je disais mais je suis resté sur cette optique qui me semble plus "light" que je refaire un fichier .asoundrc pour Alsa.
J'ai donc bien suivi les diréctives de la page jack_alsa_io !
France
Ok. C'est plus clair, merci pour les précisions.

J'ai donc créer mon fichier ~/.asoundrc et il ressemble à ceci :


Du coup, ton fichier ~/.asoundrc est-il toujours présent et actif dans ton home ?
France
Pour configurer Jack, tu peux aussi t'aider de cette page.
Merci pour le lien, c'est de ce dernier que je m'étais inspiré pour mon ~/.asoundrc

J'ai bien supprimé mon fichier .asoundrc et en fait, je me demande si ceci n'était pas la cause de mon souci.
J'ai donc relancé Cadence pour réinitialisé un .asoundrc avec un bridge Jack et là, je me suis rendu compte que Cadence lançait Jack au démarrage de la session mais, à moins que je ne me trompe, ce dernier n'utilise pas la configuration de QJackCtl donc, il n'intègre pas mon alsa_in...

J'ai donc décoché l'option et à présent, après reboot (30 fois dans la soirée), quand je relance QJackCtl, je n'ai pas mon interface MAIS, si je killall qjack, jackd ET alsa_in, je relance QJackCtl et tout se reconnecte correctement.

J'en déduis qu'au lancement de ma session, j'ai un démarrage de quelque chose qui ne prends pas en compte les paramètres et qui m'empêche de les passer ensuite.

Je vais rebooter (31...) et tout killer avant de faire quoi que ce soit pour identifier le process qui tourne...

Quoi qu'il en soit, 2 interfaces via Jack dans Ardour, ça fonctionne sans problème.
La configuration n'est pas simple à mettre en place, du moins à mon niveau (ce sont mes premiers pas réels sous linux/LibraZik).

Merci à vous deux de vous être intéressé à mon problème et de m'aider ainsi.

Je re (boot)
France
Bien joué !
Pour vérifier que Cadence ne se lance pas au démarrage, tu peux aller dans le menu
'Système', 'Préférences', 'Personnel', 'Applications au démarrage' et t'assurer
que le lancement de Cadence dans cette liste est bien décoché (sans quoi Cadence lance jackd
au démarrage).