Chargement...
 
Skip to main content

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


Debian13 avec une carte UMC1820 BEHRINGER et je teste Pipewire comme unique 'serveur son'

France
Salut,

je bosse sur Debian13 avec une carte UMC1820 BEHRINGER et je teste Pipewire comme unique 'serveur son'.
Le but pour moi est 'juste' de pouvoir enregistrer la Batterie (5micros), la guitare et le chant en live (avec OBS).
J'ai fais des essais avec Guitarix, la latence est plutôt faible (c'est jouable).
Malheureusement, j'ai un peu de mal à comprendre les routages dans qpwgraphe ( c'était pas mieux avec Jack).
Que puis je vous apporter avec une conf comme celle-ci ? Quels sont les points importants ? Comment trouver de l'aide pour ce genre de conf(vu que tout ici semble privilégier Jack) ?

à+
France
Salut,

Le bac à sable c'est une bonne idée pour mettre des choses qui vont disparaître. Par contre si tu veux que ton fil de discussion reste, il faut le mettre ailleurs. Je le ferai si tu le demande. pas de soucis.

Alors Behringer U-PHORIA UMC1820, PipeWire. Ok. routage avec Qpwgraph, ça roule. La latence on va en parler. Par contre enregistrer avec OBS, là je comprends pas très bien. Enfin, si je crois comprendre que tu veux "streamer" ton flux. Si ce n'est pas le cas, je crois qu'il vaut mieux passer par un séquenceur pour faire ça. Comme Ardour, par exemple.

Pour minimiser la latence pendant les prises, il faut passer par une configuration plus poussée que celle d'origine sur une distribution standard de bureautique. Il faudra régler quelques paramètres lors des prises et les réinitialiser le reste du temps.

Allez lançons cette discussion ! 😊
France
ok déplace si tu veux 😉 on va là: 5 - Les serveurs son : JACK, PipeWire, PulseAudio et autres... ? ?
France
Voilà je l'ai bougé !
Maintenant est ce que tu peux en dire un peu plus sur ton flux de travail ?

Ah ! et ici, tout est écrit pour JACK car avant que PipeWire n'arrive, c'était par lui qu'on faisait tout passer.
Alors oui, tout ce qui concerne JACK est écrit ici, ce qui concerne le petit nouveau est à écrire !
J'ai déjà avec quelques autres membres écrit des choses qui semblent justes et bonnes. Mais ce n'est que le début.
France
Salut !

Mon matériel :

Copy to clipboard
jeansef@sff:~$ cat /proc/asound/cards 1 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xd4144000 irq 127 2 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xd4000000 irq 17 3 [XPRESSCAM1080FH]: USB-Audio - NGS XPRESSCAM1080FHD BC-250217-XH NGS XPRESSCAM1080FHD at usb-0000:00:14.0-8, high speed 4 [UMC1820 ]: USB-Audio - UMC1820 BEHRINGER UMC1820 at usb-0000:00:14.0-9, high speed 7 [WEBCAM ]: USB-Audio - C270 HD WEBCAM C270 HD WEBCAM at usb-0000:00:14.0-10.2, high speed

Les limites :

Copy to clipboard
jeansef@sff:~$ cat /etc/security/limits.d/audio.conf # Provided by the jackd package. # # Changes to this file will be preserved. # # If you want to enable/disable realtime permissions, run # # dpkg-reconfigure -p high jackd2 @audio - rtprio 95 @audio - memlock unlimited #@audio - nice -19

ma bécane :

Copy to clipboard
jeansef@sff:~$ uname -a Linux sff 6.12.63+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.63-1 (2025-12-30) x86_64 GNU/Linux

tout les paquets Pipewire sont en version 1.4.2-1

je vous montre mon qpwgraph
Qpwgraph

mon but est de pouvoir enregistrer mes répétitions sur OBS (sans mastering poussé, je veux juste enregistrer le résultat et peut être streamer un jour ). Il me faut 3 entrées son dans OBS: micro chant ( 1 micro ), guitare ( 1 entrée passant par guitarix dans l'idéal) et une entrée Batterie ( 5 micros ).

à+
France
Bonjour jeansef, j'ai l'impression qu'il manque des modules ? Les XPRESSCAM1080FH et C270 HD WEBCAM sont elles branchées ?
France
Salut,

je les ai caché (plus bas dans le graph) ! j'ai laissé visible uniquement la partie 'UMC1820' pour montrer la partie de config qui m'intéresse.
Par contre, j'ai bien avancé en créant des "péripheriques virtuels" dans :
/home/jeansef/.config/pipewire/pipewire.conf.d/99-umc1820-routing.conf
donc avec ces recherches, ça m'a aidé à piger les entrées/sorties et qui fait quoi !
Capture D’écran 2026 02 20 18 49 06
latence: tres faible ! c'est tout à fait jouable et je route mes pistes vers un HP de retour ou pas (le batteur frappe assez fort 😉 )
je repasse si je trouve comment inserer des effets ( reverb...) modulable en live ( controleur midi )
à+
France
Cool ! 😊 Du coup, tu règles comment pour avoir une faible latence ? (perso je règle avec cable)
France
à l'occasion, si tu peux nous montrer le contenu de ton fichier 99-umc1820-routing.conf
et expliquer à ceux qui poseront des questions ce contenu, ce serait chouette.
France
Salut,

Voilà mon fichier (en cours d'optimisation, j'ai fait ça pour avoir un pwgraph lisible):

Copy to clipboard
jeansef@sff:~/.config/pipewire/pipewire.conf.d$ cat 99-umc1820-routing.conf #création d'un module 'loopback' avec une description lisible: context.modules = [ { name = libpipewire-module-loopback args = { node.description = "OBS_Micro" capture.props = { node.name = "capture.obs_micro" target.object = "alsa_input.usb-BEHRINGER_UMC1820_BFAAEA29-00.pro-input-0" audio.position = [ AUX0 ] stream.dont-remix = true node.passive = true } playback.props = { node.name = "obs_micro_input" media.class = "Audio/Source" audio.position = [ MONO ] } } } #un autre pour la gratte { name = libpipewire-module-loopback args = { node.description = "OBS_Guitare" capture.props = { node.name = "capture.obs_guitare" target.object = "alsa_input.usb-BEHRINGER_UMC1820_BFAAEA29-00.pro-input-0" audio.position = [ AUX1 ] stream.dont-remix = true node.passive = true } playback.props = { node.name = "obs_guitare_input" media.class = "Audio/Source" audio.position = [ FL FR ] } } } #un autre pour la batterie avec 6 micros { name = libpipewire-module-loopback args = { node.description = "OBS_Batterie_Mix" capture.props = { node.name = "capture.obs_batterie" target.object = "alsa_input.usb-BEHRINGER_UMC1820_BFAAEA29-00.pro-input-0" audio.position = [ AUX2 AUX3 AUX4 AUX5 AUX6 AUX7 ] stream.dont-remix = true node.passive = true } playback.props = { node.name = "obs_batterie_input" media.class = "Audio/Source" audio.position = [ FL FR ] } } } ] # la seule optimisation pour le moment: context.properties = { default.clock.rate = 48000 default.clock.quantum = 256 }


voilà voilà, je teste tout ça ce weekend. à bientôt !