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

[RESOLU] ajouter ma carte son externe (zoom H6 connecté en USB) à Jack

tastybud utilisateur non connecté France
Bonjour,
j'essaye de me dépatouiller ces derniers jours de confinement sur la question du branchement de mon zoom à jack pour l'utiliser dans ardour comme captation tout en pouvant enregistrer le son d'internet.. (j'avais réussi il y a quelques mois, mais bien sûr je n'avais pas gardé sur papier comment j'avais fait...) et donc ne m'en sortant pas je fais appel à l'intelligence collective !

Bref, voilà j'ai suivi le tuto qui fonctionne très bien pour enregistrer les sons en provenance du zoom mais je ne sais comment ajouter par ce système la carte interne...

Donc je me suis tourné vers le tuto de (Utilisation de alsa_in et alsa_out et voilà la config et comment j'ai procédé :

Et à la commande alsa_out, j'ai l'erreur suivante :

[tastybud@localhost ~]$ alsa_out -dhw:2       
Capture open error: Device or resource busy


Merci pour votre aide PRÉCIEUSE !

Voici quelques éléments de config :

[tastybud@localhost ~]$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xae510000 irq 132
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xae080000 irq 17
 2 [H6             ]: USB-Audio - H6
                      ZOOM Corporation H6 at usb-0000:00:14.0-9, high speed




[tastybud@localhost ~]$ ls /ect/security/limits.d
ls: impossible d'accéder à '/ect/security/limits.d': Aucun fichier ou dossier de ce type
[tastybud@localhost ~]$ cat ~/.config/rncbc.org/QjackCtl.conf    
[Defaults]
ConnectionsTabPage=0
MessagesStatusTabPage=0
PatchbayPath=
SessionSaveVersion=true

[Geometry]
qjackctlConnectionsForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\v+\0\0\0z\0\0\xe\xcc\0\0\x2\x61\0\0\v+\0\0\0z\0\0\xe\xcc\0\0\x2\x61\0\0\0\x1\0\0\0\0\a\x80\0\0\v+\0\0\0z\0\0\xe\xcc\0\0\x2\x61)
qjackctlConnectionsForm\visible=false
qjackctlGraphForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x4`\0\0\0\x14\0\0\a\x7f\0\0\x2k\0\0\x4`\0\0\0\x14\0\0\a\x7f\0\0\x2k\0\0\0\0\0\0\0\0\a\x80\0\0\x4`\0\0\0\x14\0\0\a\x7f\0\0\x2k)
qjackctlGraphForm\visible=false
qjackctlMainForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\b\xf5\0\0\0J\0\0\v)\0\0\0\xce\0\0\b\xf8\0\0\0h\0\0\v&\0\0\0\xcb\0\0\0\x1\0\0\0\0\a\x80\0\0\b\xf8\0\0\0h\0\0\v&\0\0\0\xcb)
qjackctlMainForm\visible=true
qjackctlMessagesStatusForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x80\0\0\0\xb1\0\0\b\xf2\0\0\x2\x36\0\0\a\x80\0\0\0\xb1\0\0\b\xf2\0\0\x2\x36\0\0\0\x1\0\0\0\0\a\x80\0\0\a\x80\0\0\0\xb1\0\0\b\xf2\0\0\x2\x36)
qjackctlMessagesStatusForm\visible=false
qjackctlPatchbayForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\b(\0\0\0\xc6\0\0\vB\0\0\x2\x10\0\0\b(\0\0\0\xc6\0\0\vB\0\0\x2\x10\0\0\0\x1\0\0\0\0\a\x80\0\0\b(\0\0\0\xc6\0\0\vB\0\0\x2\x10)
qjackctlPatchbayForm\visible=false
qjackctlSessionForm\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\x5L\0\0\0%\0\0\a\x7f\0\0\x1\x64\0\0\x5L\0\0\0%\0\0\a\x7f\0\0\x1\x64\0\0\0\0\0\0\0\0\a\x80\0\0\x5L\0\0\0%\0\0\a\x7f\0\0\x1\x64)
qjackctlSessionForm\visible=false

[GraphCanvas]
CanvasRect=@Variant(\0\0\0\x14\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0)
CanvasZoom=1

[GraphColors]
0x1b8e6271=#006b00
0x678f332=#6b006b
0x9111e0b4=#6b0000

[GraphNodePos]
128%3AFLUID%20Synth%20%2815931%29=@Variant(\0\0\0\x1a@S\0\0\0\0\0\0\xc0(\0\0\0\0\0\0)
128%3AFLUID%20Synth%20%282586%29=@Variant(\0\0\0\x1a@R\0\0\0\0\0\0\xc0 \0\0\0\0\0\0)
129%3AHydrogen=@Variant(\0\0\0\x1a@P\0\0\0\0\0\0\xc0(\0\0\0\0\0\0)
129%3Ayoshimi=@Variant(\0\0\0\x1a\xc0\x10\0\0\0\0\0\0\xc0@\0\0\0\0\0\0)
130%3Arosegarden=@Variant(\0\0\0\x1a\xc0 \0\0\0\0\0\0\xc0T\0\0\0\0\0\0)
130%3Asooperlooper=@Variant(\0\0\0\x1a@Q\0\0\0\0\0\0\xc0\x38\0\0\0\0\0\0)
14%3AMidi%20Through%3AInput=@Variant(\0\0\0\x1a@p\0\0\0\0\0\0@N\0\0\0\0\0\0)
14%3AMidi%20Through%3AOutput=@Variant(\0\0\0\x1a\xc0q\0\0\0\0\0\0@H\0\0\0\0\0\0)
Calf%20Studio%20Gear=@Variant(\0\0\0\x1a\xc0 \0\0\0\0\0\0\xc0 \0\0\0\0\0\0)
Hydrogen=@Variant(\0\0\0\x1a\xc0 \0\0\0\0\0\0\xc0\x34\0\0\0\0\0\0)
PortAudio=@Variant(\0\0\0\x1a\xc0\x30\0\0\0\0\0\0\xc0\x30\0\0\0\0\0\0)
PulseAudio%20JACK%20Sink-01%3AOutput=@Variant(\0\0\0\x1a\xc0q\xc0\0\0\0\0\0@H\0\0\0\0\0\0)
PulseAudio%20JACK%20Sink%3AOutput=@Variant(\0\0\0\x1a\xc0r\0\0\0\0\0\0@D\0\0\0\0\0\0)
PulseAudio%20JACK%20Source-01%3AInput=@Variant(\0\0\0\x1a@o\x80\0\0\0\0\0@N\0\0\0\0\0\0)
PulseAudio%20JACK%20Source%3AInput=@Variant(\0\0\0\x1a@p\0\0\0\0\0\0@H\0\0\0\0\0\0)
alsa-jack.jackC.5785.2=@Variant(\0\0\0\x1a\xc0 \0\0\0\0\0\0\xc0 \0\0\0\0\0\0)
alsa-jack.jackC.5785.57=@Variant(\0\0\0\x1a@T\0\0\0\0\0\0\xc0\x34\0\0\0\0\0\0)
ardour=@Variant(\0\0\0\x1a\xc0 \0\0\0\0\0\0\xc0(\0\0\0\0\0\0)
ardour-01=@Variant(\0\0\0\x1a\xc0 \0\0\0\0\0\0\xc0 \0\0\0\0\0\0)
fluidsynth=@Variant(\0\0\0\x1a\xc0\x34\0\0\0\0\0\0\xc0@\0\0\0\0\0\0)
jaaa=@Variant(\0\0\0\x1a\xc0\x30\0\0\0\0\0\0\xc0V\0\0\0\0\0\0)
qsynth=@Variant(\0\0\0\x1a\xc0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0)
rosegarden=@Variant(\0\0\0\x1a@Q\0\0\0\0\0\0\xc0R\0\0\0\0\0\0)
sooperlooper=@Variant(\0\0\0\x1a\xc0(\0\0\0\0\0\0\xc0\x30\0\0\0\0\0\0)
system%3AInput=@Variant(\0\0\0\x1a@p\0\0\0\0\0\0\xc0\x62\0\0\0\0\0\0)
system%3AOutput=@Variant(\0\0\0\x1a\xc0q\x80\0\0\0\0\0\xc0\x64\0\0\0\0\0\0)
zita-at1=@Variant(\0\0\0\x1a\xc0]\0\0\0\0\0\0\xc0R\0\0\0\0\0\0)
zita-rev1=@Variant(\0\0\0\x1a@L\0\0\0\0\0\0\xc0W\0\0\0\0\0\0)

[History]
MessagesLogPathComboBox\Item1=qjackctl.log
PostShutdownScriptShellComboBox\Item1=pajackconnect reset &
PostStartupScriptShellComboBox\Item1=pajackconnect start &
ServerConfigNameComboBox\Item1=.jackdrc
ServerNameComboBox\Item1=(default)
ServerPrefixComboBox\Item1=jackd
ServerPrefixComboBox\Item2=jackdmp
ServerPrefixComboBox\Item3=jackstart
ShutdownScriptShellComboBox\Item1=pajackconnect stop &
StartupScriptShellComboBox\Item1=/home/tastybud/jack_startup.txt
XrunRegexComboBox\Item1=d\xe9synchronisation (XRUN) d'au moins ([0-9|\\.]+) ms
XrunRegexComboBox\Item2=xrun of at least ([0-9|\\.]+) msecs

[Options]
ActivePatchbay=false
ActivePatchbayPath=
ActivePatchbayReset=false
AliasesEditing=false
AliasesEnabled=false
AlsaSeqEnabled=true
BaseFontSize=0
ConnectionsFont="Sans Serif,10,-1,5,50,0,0,0,0,0"
ConnectionsIconSize=0
DBusEnabled=false
DisplayBlink=true
DisplayEffect=true
DisplayFont1="DejaVu Sans Mono,14,-1,5,75,2,0,0,0,0"
DisplayFont2="Sans Serif,8,-1,5,50,0,0,0,0,0"
GraphButton=false
JackClientPortAlias=0
JackClientPortMetadata=false
JackDBusEnabled=false
KeepOnTop=false
LeftButtons=true
MessagesFont="Sans Serif,10,-1,5,50,0,0,0,0,0"
MessagesLimit=true
MessagesLimitLines=1000
MessagesLog=false
MessagesLogPath=qjackctl.log
PostShutdownScript=true
PostShutdownScriptShell=pajackconnect reset &
PostStartupScript=true
PostStartupScriptShell=pajackconnect start &
QueryClose=true
QueryDisconnect=true
QueryShutdown=true
RightButtons=true
ServerConfig=true
ServerConfigName=.jackdrc
ShutdownScript=true
ShutdownScriptShell=pajackconnect stop &
Singleton=true
StartJack=true
StartMinimized=false
StartupScript=true
StartupScriptShell=/home/tastybud/jack_startup.txt
StdoutCapture=true
StopJack=true
SystemTray=false
SystemTrayQueryClose=false
TextLabels=true
TimeDisplay=0
TransportButtons=true
XrunRegex=d\xe9synchronisation (XRUN) d'au moins ([0-9|\\.]+) ms

[Presets]
DefPreset=(default)

[Program]
Version=0.5.5

[Settings]
Audio=0
Chan=0
Dither=0
Driver=alsa
Frames=512
HWMeter=false
IgnoreHW=false
InChannels=0
InDevice=
InLatency=0
Interface=hw:PCH
MidiDriver=aucun
Monitor=false
NoMemLock=false
OutChannels=0
OutDevice=
OutLatency=0
Periods=3
PortMax=256
Priority=5
Realtime=true
SampleRate=48000
Server=jackd
ServerName=
ServerSuffix=
Shorts=false
SoftMode=false
StartDelay=2
Sync=false
Timeout=500
UnlockMem=false
Verbose=false
Wait=21333
WordLength=16

[Splitter]
AlsaConnectView\sizes=38, 20, 38
AudioConnectView\sizes=269, 90, 269
InfraClientSplitter\sizes=13, 13
MidiConnectView\sizes=38, 20, 38
PatchbayView\sizes=38, 20, 38


sub26nico utilisateur non connecté France
Pour enregistrer le son de ton navigateur directement dans Ardour en utilisant JACK, le pont 'pulseaudio-module-jack' suffit, pas besoin de faire les manips décrites plus haut.
Tu règles JACK sur le H6 et une fois le pont activé, tu balances les sorties de pulseaudio directement dans les entrées des pistes souhaitées dans Ardour.

tastybud utilisateur non connecté France
Bonjour et merci pour ta réponse.

Si j'essaye ce genre de solution, c'est parce que lorsque je règle JACK sur le H6, il ne le prend pas en compte. Il est bien notifié dans jack (voir ci-dessous) :

Image

mais je ne vois rien dans les connections :

Image


Jusqu'à présent j'utilisais pajackconnect pour faire le pont entre pulse audio et jack.

olinuxx utilisateur non connecté France
Note de modéro-forum : @tastybud : j'ai édité ton premier message car tes liens vers des pages du site étaient dysfonctionnels. La prochaine fois, tu peux utiliser la fonction "aperçu" avant de publier.

tastybud utilisateur non connecté France
@olinuxx J'avais bien fait aperçu, mais pas vérifié les liens. Merci.

tastybud utilisateur non connecté France
@sub26nico . J'ai fait un peu de ménage en effaçant en particulier pajackconnect qui faisait doublon avec le pont pulseaudio-jack. Donc quand j'utilise ma carte interne. avec le pont pulseaudio-jack (script jack_startup qui s'exécute au démarrage), la connexion se fait correctement avec pulse audio jack sink.

Deuxième test : Je ferme bien QJackctl et jackd dans le terminal. Je relance QJackctl et choisit la carte son H6 qui est bien visible dans les préférences et là je reçois un message d'erreur

Jack démarre puis une fenêtre s'ouvre dans QJackctl qui indique :
/usr/bin/jackd -P70 -dalsa -dhw:H6 -r480000 -p512 -n3
Cannont connect to server socket err=Aucun fichier ou dossier de ce type
Cannot connect to server request channel
Jack server is nor running or cannot be started
jackShmReadWritePtr:: jackShmReadWritePtr - Init not done for -1,skipping unlock
jackShmReadWritePtr:: jackShmReadWritePtr - Init not done for -1,skipping unlock
no message buffer overruns


Et plus loin il écrit encore :
Device reservation request with priority 2147483647 denied for "audio2":org.freedestop.DBus.Error.NoReply (Did not receive  a reply. Possible cause include : the remote application did not send a reply, the message bus security policy blocked the reply, failed to acquire device name : Audio2 error


Sur pulseaudio je vois bien la carte H6 (même si je n'entends rien qui provient d'elle.

Je suis sur la fedora 31 et je commence à me demander si là n'est pas le pb...
qu'en dites-vous ?

sub26nico utilisateur non connecté France
Est ce que tu peux mettre ici une capture d'écran des réglages de Jack dans QjackCtl stp ?
Aussi, quel noyau ?
uname -a


tastybud utilisateur non connecté France
Avec plaisir :
voici les réglages de Jack :
Image Image Image

et le noyau est le suivant :
Linux linux.home 5.4.17-200.fc31.x86_64 #1 SMP Sat Feb 1 19:00:13 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


sub26nico utilisateur non connecté France
tastybud, j'ai édité ton message pour plus de clareté
Note modération : merci d'utiliser la balise CODE lorsque tu copies/colles du code sur le site. Celles-ci permettent un meilleur affichage.
Image
Voir également cette page.


sub26nico utilisateur non connecté France
Je ne vois rien qui cloche dans ta config de QjackCtl, est ce qu'un noyau basse-latence ou temps-réel pourrait améliorer les choses ? je ne sais pas mais ça vaut peut être le coup d'essayer.

tastybud utilisateur non connecté France
Merci de tes conseils. C'est un peu chaud patate de changer un noyau, non ? Je me demande s'il faut que je tente ça ou carrément que je change de distribution (ubuntu studio) pour contourner le pb...

sub26nico utilisateur non connecté France
Je ne connais pas Fedora mais sur les Debian et dérivés c'est assez simple en passant par le gestionnaire de paquet et mises à jour. Tu installes le noyau comme un autre logiciel, tu redémarres ton pc et c'est tout bon (en principe). Je pense que ça faut le coup de tenter le changement de noyau avant d'envisager de changer de distrib'. Si tu crains de tout péter, il est plus sage de faire une sauvegarde de tous tes documents/projets/etc...

olinuxx utilisateur non connecté France
[tastybud@localhost ~]$ ls /ect/security/limits.d
ls: impossible d'accéder à '/ect/security/limits.d': Aucun fichier ou dossier de ce type


C'est etc, pas ect.

tastybud utilisateur non connecté France
En effet, merci @olinuxx ... voici le résultat :
[tastybud@localhost ~]$ ls /etc/security/limits.d
95-jack.conf


tastybud utilisateur non connecté France
J'avais mis de côté tout ça n'arrivant pas à le faire fonctionner et cette fois-ci tout va bien. J'ai enfin pu faire passer tout les sons par le H6

olinuxx utilisateur non connecté France
Super, merci pour le retour et le [résolu].

Bonne musique à toi !