Skip to main content

Historique: Pulseaudio - MAO sans Pulseaudio

Aperçu de cette version: 41



PulseAudio est bien pratique pour la gestion du son sur votre ordinateur mais il peut s'avérer gênant en MAO.
Nous expliquons ici comment stopper simplement ce serveur son pendant vos sessions d'enregistrement.

Si vous avez un ordinateur dédié à la MAO alors PulseAudio sera toujours arrêté : les instructions ci-dessous restent valables, il suffit de ne pas le lancer au démarrage.

Alternativement, il est possible de configurer PulseAudio pour qu'il soit client de Jack. L'avantage de cette solution c'est qu'il n'est plus nécéssaire de couper Jack/Ardour pour aller voir une video sur Internet.

 Remarque
Pour que la connexion PulseAudio ⇔ Jack puisse se faire, vous aurez besoin du paquet pulseaudio-module-jack car il contient le plugin qui rend pulseaudio visible dans les connexions de Jack, patchage ou autre gestionnaire de connexions.

Problématique

Le serveur PulseAudio est devenu un standard sous Linux, mais il est préférable de le mettre en sommeil dans un environnement dédié à la MAO :
  • sa présence peut affecter la latence et consommer de la ressource inutilement : son problème principal est qu'au premier xrun il augmente sa latence et le seul moyen pour le faire revenir à une latence plus faible est de l'arrêter puis de le redémarrer.
  • il reste très utile pour une utilisation normale : la gestion du volume sonore et des touches audio du clavier passent par lui.

Plus que la consommation de ressources qui n'est pas un vrai problème sur les machines actuelles, c'est plutôt les conflits entre Jack et Pulse qui mine la vie des utilisateurs MAO. Évidemment regarder une video et utiliser Ardour en même temps n'a pas grand intérêt. Par contre pourvoir aller consulter une video d'explication (ex; le tutorial de Ardour) et avoir en même temps une session active ça peut être intéressant.

  • La solution la plus basique est donc de conserver ce serveur et de le stopper uniquement pendant l'utilisation de JACK.
  • La solution la plus souple et transparente pour l'utilisateur c'est de configurer Pulse comme un client de Jack

Intégration transparente de PulseAudio avec Jack


Il suffit de valider le module jack-sink de PulseAudio avec la commande "pactl load-module module-jack-sink" pour voir apparaitre JACK dans les sorties standard de PulseAudio. Si jack-sink n'est pas dispo sur votre machine aller dans le chercher dans les addon de PulseAudio, il est dispo en standard sur toutes les distributions Linux digne de ce nom. Sur OpenSuse on le trouve dans le package pulseaudio-module-jack.

Capture du 2014-05-13 12:23:44.png

Automatiser le couplage de PulseAudio et de Jackd. Il suffit de faire un petit script et de configurer Qjack pour qu'il le lance automatiquement après le démarrage de Jack. Si vous n'êtes pas courageux, vous trouverez un exemple de script sur http://www.fridu.org/download/sample/QjackCtrlSH.tgz
  • Télécharger l'archive du script
Copy to clipboard
wget http://www.fridu.org/download/sample/QjackCtrlSH.tgz

  • Décomprimer l'archive
Copy to clipboard
tar -xzf QjackCtrlSH.tgz

  • Regarder le README avant de lancer l'install


Avant d'automatiser votre config, il est conseillé de tester le script à la main.
  • Editer et changer en fonction de votre environnement
  • vérifier votre config {QjackCtrl.sh action=check}
  • Lancer un server jackdbus {QjackCtrl.sh action=start} vérifier que votre device Pulse à bien changer et que youtube fonctionne
  • Stopper le serveur {QjackCtrl.sh action=stop} vérifier que pulse à repris son device par défault et qu'aucun process jackd ne traine.

  • L'ajouter dans le config de Jacks
Copy to clipboard
setup/options * script-before-start avec QjackCtrl.sh action=clean * script-after-startup avec QjackCtrl.sh action=start * script-after-stop avec QjackCtrl.sh action=stop


Capture du 2014-05-26 01:14:03.png

Voila c'est fait, maintenant quand vous lancez Qjack votre PulseAudio va automatiquement se configurer pour pointer vers Jack. Vous pouvez donc utiliser en même temps les clients de PulseAudio comme Firefox et les clients de Jack comme Ardour. Il est donc possible de regarder la video du tutorial de Ardour, tout en faisant ses exercices avec Qjack/Ardour sans avoir à tuer Jack et donc fermer la session Ardour. Coté consommation ressources. Pulse ne fait rien quand vous travailler sur Ardour, sur une machine moderne la consommation supplémentaire de ressources ne devrait donc pas être un soucis.

QjackCtrl permet de vérifier que les entrées/sorties de PulseAudio sont bien connectées sur les entrées/sorties jack correspondant à votre carte. Par défaut il fait la connexion sur les deux premiers canaux, ce qui en général est plutôt une bonne idées. Mais si votre carte à 18 entrées et 8 sorties comme la mienne Scarlett 18i8 alors il est possible d’avoir à modifier le schéma des connexions.
Capture du 2014-05-21 12:03:12.png

Pour tester votre config, vous pouvez soit utiliser les modules de test de haut parleur de pulse audio, soit avec la commande en ligne "paplay mon-fichier.wav" si vpis n'avez par merdu ca doit fonctionner. En cas de doute faire un premier test avec "jack_simple_client" quand jack fonctionne alors faire un test avec un client Pulse comme "paplay", ensuite vous pouvez passer à Firefox et à vos player multimédia pulse.
Capture du 2014-05-21 11:56:42.png

A noter qu'il faut éviter de changer le servername par défault de JACKd. Beaucoup de client risquent de le plus le trouver, et vont essayer de lancer un autre serveur. Si votre config est propre vous ne devriez avoir qu'un seul process "jackdbus" et aucun process jackd. Vérifier avec {ps -ef | grep jack}


Si vous avez vraiment besoin de stopper Pulse pour vos session MAO, voir la suite de ce tuto

Désactivation du lancement automatique

PulseAudio est configuré pour se relancer automatiquement dès qu'il plante ou qu'on l'arrête.
La première opération consiste à désactiver l'option appelée autospawn.

Au niveau utilisateur

Si l'opération est nécessaire que pour l'utilisateur courant, il suffit de créer le fichier client.conf dans le dossier .pulse avec les deux lignes suivantes :
configuration utilisateur
Copy to clipboard
$ gedit ~/.pulse/client.conf autospawn = no daemon-binary = /bin/true


Au niveau système

La désactivation pour tous les utilisateurs se fait dans la configuration système /etc/pulse/client.conf :
configuration système
Copy to clipboard
$ sudo gedit /etc/pulse/client.conf

modifier les lignes :
Copy to clipboard
; autospawn = yes ; daemon-binary = /usr/bin/pulseaudio

en :
Copy to clipboard
autospawn = no daemon-binary = /bin/true

puis sauvegarder.

Remarques : les ";" ainsi que les "#" indiquent une ligne commentée et il faut donc bien les supprimer pour les deux lignes concernées.
La commande /bin/true est une pseudo-commande qui ne produit aucun effet.

Lancer PulseAudio lors du démarrage de l'ordinateur

Dans le menu des Applications au démarrage rajoutez manuellement cette commande à la liste :
Copy to clipboard
pulseaudio --start

On peut d'ores et déjà redémarrer l'ordinateur et, après le login, constater que l'applet de volume est bien présente et que PulseAudio est actif.

Sous Ubuntu 12.04, le menu "Applications au démarrage" s'affiche mais sans aucun contenu. Pour le visualiser, il faut lancer cette commande :
Copy to clipboard
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop


Stopper er démarrer PulseAudio

Gestion de PulseAudio (en ligne de commande) :
Arrêt de PulseAudio
Copy to clipboard
pulseaudio --kill

Lancement de PulseAudio
Copy to clipboard
pulseaudio --start

Si on l'a mis en démarrage automatique au lancement du système c'est qu'un arrêt reste valable même aprés avoir éteint et rallumé la machine.

Arrêt uniquement pendant l'utilisation de JACK

Avec QjackCtl

Dans la fenêtre Réglages, onglet Options cocher et remplir les deux lignes :
  • Exécuter un script au démarrage : pulseaudio --kill
  • Exécuter un script après l'extinction : pulseaudio --start
Au lancement de JACK, l'applet de volume disparaît et dans les connexions de JACK, le sink pulseaudio n'apparait plus. Seules les entrées/sorties d'ALSA sont présentes, autorisant l'accès direct à la carte-son.
A l'arrêt de Jack, l'applet de volume revient et PulseAudio est à nouveau en service.
Le seul effet relevé est la disparition du bip sonore lors de l'attente du login en fin de séquence de boot...

Liens et commentaires



{FLASH(movie=http://www.dailymotion.com/swf/x1x3zb3,width=>425,height=>350,quality=>high)}{FLASH}


REDIRECT plugin: The redirection to 'Pulseaudio - MAO sans Pulseaudio&structure=Accueil+Tutos' is disabled in preview mode.

Historique

Information Version
Wed 13 Sep 2017 20:19 olinuxx regroupement des alias 54
Afficher
Wed 13 Sep 2017 18:28 allany alias+1 53
Afficher
Wed 22 Mar 2017 13:22 olinuxx 51 - 52
Afficher
Tue 21 Mar 2017 09:59 tenryu 49 - 50
Afficher
Wed 21 Sep 2016 10:35 ouhena Précision sur l' installation du script QjackCtrl.sh 48
Afficher
Sat 14 Nov 2015 09:22 af typo 46 - 47
Afficher
Fri 06 Nov 2015 14:42 olinuxx Recherche et remplacement en masse 45
Afficher
Tue 13 Oct 2015 13:59 utilisateur_anonyme2 44
Afficher
Wed 18 Jun 2014 20:37 utilisateur_anonyme2 42 - 43
Afficher
Thu 29 mai 2014 12:14 fulup-bzh 41
Afficher
Wed 28 mai 2014 14:44 utilisateur_anonyme2 table des matière plus balise haut de page 38 - 40
Afficher
Wed 28 mai 2014 07:24 utilisateur_anonyme2 37
Afficher
Tue 27 mai 2014 13:22 utilisateur_anonyme2 Ajout d'une mention à propos du paquet: pulseaudio-module-jack 36
Afficher
Tue 27 mai 2014 11:28 utilisateur_anonyme2 Correctif sur alias (précédement en lien wiki) 35
Afficher
Mon 26 mai 2014 11:22 fulup-bzh 34
Afficher
Mon 26 mai 2014 01:21 fulup-bzh 32 - 33
Afficher
Wed 21 mai 2014 12:23 utilisateur_anonyme2 30 - 31
Afficher
Wed 21 mai 2014 12:09 fulup-bzh 29
Afficher
Wed 21 mai 2014 01:26 fulup-bzh 26 - 28
Afficher
Tue 13 mai 2014 12:43 utilisateur_anonyme2 Mise boites (code) des lignes de commandes (faut penser aux newbs ;) 25
Afficher
Tue 13 mai 2014 12:39 fulup-bzh 14 - 24
Afficher
Mon 10 Feb 2014 08:18 romain_bar Rafraîchissement 13
Afficher
Sat 08 Feb 2014 09:02 romain_bar Introduction plus claire 12
Afficher
Tue 14 Jan 2014 18:13 utilisateur_anonyme2 11
Afficher
Wed 03 Jul 2013 15:25 pianolivier structure par défaut 10
Afficher
Thu 30 mai 2013 14:24 pianolivier restructurisation 9
Afficher
Sun 07 Apr 2013 10:50 utilisateur_anonyme2 5 - 8
Afficher
  • «
  • 1 (en cours)
  • 2