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ètrekern.audio.record
desysctl
).
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=!
Vous désirez avoir l’affichage sous forme de pourcentage ?
⇒ Utilisez :
$ sndioctl output.level | awk -F = '{printf "%d\n",$2*100}'
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”.