%
Puffy image/svg+xml Puffy 2019-06-14 Stéphane HUC OpenBSD Team Inkscape Puffy OpenBSD https://www.openbsd.org/art4.html English "Puffy", it's a symbol of OpenBSD

Gestion du Son / OpenBSD

Article publié, le et modifié le
4 minutes de lecture

Cet article contient 812 mots.
Source brute de l'article :
Commit version : a792cac

Enregistrement Audio

Par défaut, depuis OpenBSD 6.4, pour des raisons de confidentialité, l’enregistrement audio est désactivé !

Pour le réactiver : # sysctl kern.audio.record=1

N’oubliez pas de modifier le fichier /etc/sysctl.conf en conséquence, si vous désirez qu’il soit actif dès le démarrage : # echo kern.audio.record=1 >> /etc/sysctl.conf

Pour chaque périphérique mixer, record.enable peut être paramétré sur :

  • off (toujours éteint),
  • on (toujours actif),
  • ou sysctl (par défaut : suit l’état du paramètre kern.audio.record de sysctl).

Gérer le volume sonore

Il peut être utile d’ajouter votre utilisateur au groupe operator : # usermod -G operator votre-id

sndioctl

À partir d’OpenBSD 6.7, c’est l’outil sndioctl(1) qui est utilisé. Par défaut, il n’y a aucune option de configuration à paramétrer. Normalement, il se manipule sans soucis avec les droits utilisateurs, sans autre nécessité de gestion de droits particuliers.

L’outil sndioctl(1) est le contrôleur pour manipuler le dispositif audio ; par exemple :

  • Pour augmenter le son d’environ 10% : $ sndioctl output.level=+0.1
  • Pour mettre en mode muet : $ sndioctl output.mute=1
  • Pour enlever le mode muet : $ sndioctl output.mute=!
Astuce

Compréhension affinée

Les applications audio qui utilisent la bibliothèque sndio(7) n’ont plus accès directement aux matériels audio (au-travers de /dev/audio*).

OpenBSD exécute le serveur de son sndiod(8) qui découvrira automatiquement quels sont vos dispositifs audio et requerra les applications audio qui en ont besoin.

Il existe des exceptions :

  • lorsqu’un autre serveur de son est fonctionnel
  • dues à une configuration spécifique du serveur de son sndiod(8)
  • Deux utilisateurs peuvent essayer d’obtenir un accès en même temps au même dispositif audio en partageant le cookie d’authentification.

(cf : la section AUTHENTICATION du manpage sndio(7))

Vérifier le fonctionnement de sndiod(8)

Il est possible de vérifier que le serveur de son sndiod(8) est fonctionnel en exécutant : $ pgrep -lf sndiod

cf : source

mixerctl

Avant OpenBSD 6.7, c’est la commande mixerctl qui était utile. Vous pouvez lancer la commande seule pour voir toutes les sorties existantes.

  • Pour monter le son : mixerctl outputs.master=+10
  • Pour baisser le son : mixerctl outputs.master=-10
  • Pour mettre en mode muet ou l’enlever : mixerctl outputs.mute=toggle

Paramètres système

Comme le rappelle la FAQ Multimédia d’OpenBSD, l’outil mixerctl sert toujours à configurer les paramètres liés au matériel audio ! (à utiliser toujours avec des droits administrateurs)

Pour savoir ce que gère l’outil de votre matériel : # mixerctl -av

Quelque soit la modification faite ou à faire, il faut ensuite l’écrire dans le fichier /etc/mixerctl.conf qui n’existe pas par défaut :

# cp /etc/examples/mixerctl.conf /etc/mixerctl.conf

Si les modifications ne sont pas écrites dans ce fichier, tout sera réinitialisé par défaut au redémarrage suivant.

Contrôle des niveaux et mode muet

Lire la FAQ Contrôles des niveaux.

Économie d’énergie

L’Amplificateur EAPD est un bouton logiciel utile dans le contexte des modes d’énergie, tels que la veille ou l’hibernation. C’est une spécification de la norme Intel HDA - HD Audio.

Lire la FAQ Amplificateur EAPD si vous utilisez un ordinateur portable.

Pour information, votre matériel peut très certainement le gérer et déjà paramétré pour les différentes sorties correspondantes. Vérifiez : # mixerctl -av | grep eapd

Gestion de la source d’enregistrement

Lire la FAQ Amplificateur EAPD

Gestion d’un périphérique Audio USB

Lire la FAQ Utiliser une interface USB Audio

Utiliser du matériel audio à distance

Lire la FAQ Utiliser à distance le matériel audio

Gestion d’une sortie SPDIF

Pour gérer le son sur une sortie SPDIF, donc en mode digital, il est nécessaire de modifier le mode de sortie :

outputs.mode=digital

Ensuite, il faut modifier le serveur de son sndiod(8) pour qu’il gère les canaux correspondants. Par défaut, sndiod ne gère que les canaux 0:1, ce qui permet quand même un son stéréo.

En premier, vérifions la sortie SPDIF : # mixerctl outputs.SPDIF_source

Ce qui pour l’exemple :

$ doas mixerctl outputs.SPDIF_source
outputs.SPDIF_source=dig-dac-2:3

Comme le montre cet exemple, la sortie SPDIF se fait sur les canaux 2:3 (2 et 3), non géré par défaut par le serveur sndiod.

Il faut donc modifier le démarrage du serveur sndiod, en ajoutant les drapeaux suivants 0:3 pour :

# rcctl set sndiod flags -c0:3
# rcctl restart sndiod

Attention, certains périphériques matérielles (càd comme des cartes-mères) peuvent gérer plus de canaux que les 4 premiers en question. C’est à chacun de s’assurer des canaux à utiliser et à modifier en conséquence la gestion des canaux par le serveur de son.


Désactiver le bip sonore

Parfois, un bip peut être émis si par exemple une commande n’arrive pas à être complétée avec Tab. Pour le désactiver, ajoutez cette ligne au fichier /etc/wsconsctl.conf :

keyboard.bell.volume=0

Avant OpenBSD v6.7, il pouvait être utile d’utiliser la commande suivante :

# mixerctl inputs.mix_beep = 0


Historique

J’ai écrit historiquement cette documentation de manière collaborative sur le wiki de la communauté “OpenBSD Pour Tous”.