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



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.

Fermer
astuceRemarque
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 minent 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.

Image

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
wget http://www.fridu.org/download/sample/QjackCtrlSH.tgz

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

  • La décompression a créé un dossier qjackctrl, regarder le fichier README.md contenu dans ce dossier 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
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


Image

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.
Image

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.
Image

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
$ 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
$ sudo gedit /etc/pulse/client.conf

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

en :
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 :
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 :
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop


Stopper et démarrer PulseAudio

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

Lancement de PulseAudio
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...

Cadence et pulseaudio


Je me suis rendu compte que cadence ne voulait pas prendre en charge la configuration de l'utilisateur ni même celle après modifications des fichiers.conf de PA. Par défaut PulseAudio est lancé en multi-canaux ce qui dans le cadre de MAO, sauf si vous faites de la production vidéo ou bandes sonore de films, ne nous est pas d'une grande utilité.
Deux fichiers sont à modifier...
nano /usr/share/cadence/pulse2jack/play.pa

Recherchez:
### Load Jack modules
load-module module-jack-sink

Changez la en:
### Load Jack modules
load-module module-jack-sink channels=2

Sauvez le fichier puis
nano /usr/share/cadence/pulse2jack/play+rec.pa

### Load Jack modules
load-module module-jack-source
load-module module-jack-sink

Changez les en:
### Load Jack modules
load-module module-jack-source channels=2
load-module module-jack-sink channels=2

Sauvez votre fichier et c'est tout.
Et voilà vous pouvez démarrer pulse audio depuis cadence en 2 canaux stéréo que se soit en entrée ou en sortie ...
La modification ne se préoccupe pas de ce que contient votre ~/.pulse/daemon.conf ...
  • Vous pouvez choisir de démarrer pulseaudio depuis cadence.
  • Vous pouvez choisir de ne lancer que les sortie de pulseaudio.
  • Vous pouvez démarrer automatiquement pulseaudio en même temps que cadence mais vous devez avoir désactiver le service pulseaudio par défaut.
    Pour ce faire je vous renvois à ce chapitre.


Liens et commentaires




Post Image intéressant dans LinuxMusicians.com sur le même sujet.





[+]



Documentation [Afficher / Cacher]

Connexion
[Afficher / Cacher]



Mégaphone [Afficher / Cacher]

sub26nico, 23:49, lun. 25 Sep 2017: Salut et bienvenue à djiel, Louis Cossement et labatrijador :-)
Willty, 21:08, lun. 25 Sep 2017: Salut, y-a-t-il parmis vous quelqu'un qui aurait déjà utilisé un correcteur de pièce (genre DRC)?
eazymaogeek, 17:02, lun. 25 Sep 2017: a voté sympa les sons
tenryu, 13:38, lun. 25 Sep 2017: A voté !
sub26nico, 08:43, lun. 25 Sep 2017: Salut et bienvenue à Ubuntu_Studio_User et Mary Haugen :-)
olinuxx, 14:15, dim. 24 Sep 2017: N'oubliez pas de voter pour la joute [Lien] :-)
ardoisebleue, 10:52, dim. 24 Sep 2017: A voté
sub26nico, 02:01, dim. 24 Sep 2017: Salut et bienvenue à MdMax :-)
olinuxx, 16:58, sam. 23 Sep 2017: OK sub26nico, merci. Allez @jz, t'es attendu dans les forums pour nous en parler maintenant :-)
sub26nico, 14:11, sam. 23 Sep 2017: @olinuxx, c'était juste pour répondre au coté 'libre', mais j'attends aussi le retour de @jz ;-)
olinuxx, 13:50, sam. 23 Sep 2017: @sub26nico : exact @sub26nico ! Mais on avait qu'une seule ligne, peut être que jz peut nous en dire un peu plusse ? :-)
sub26nico, 23:28, ven. 22 Sep 2017: olinuxx ,on en avait parlé dans l'édito de mars 2017, son code est open-source :S