J'ai acheté une carte son USB. Je voudrais configurer mon bureau Linux pour qu'il préfère le périphérique USB, s'il est branché et commute automatiquement lorsque le périphérique est (dé) branché. Est-ce possible et comment?
J'ai acheté une carte son USB. Je voudrais configurer mon bureau Linux pour qu'il préfère le périphérique USB, s'il est branché et commute automatiquement lorsque le périphérique est (dé) branché. Est-ce possible et comment?
Réponses:
Trouvez votre carte avec
$ cat /proc/asound/cards
Pour obtenir des noms de carte ALSA valides, utilisez aplay
:
$ aplay -l
puis créez /etc/asound.conf
avec ce qui suit:
pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}
Remplacez «carte 1» par le numéro ou le nom de votre carte déterminé ci-dessus.
Alternativement, vous pouvez modifier l'ordre de vos cartes afin que votre carte USB soit la carte 0 et qu'elle fonctionne sans modification asound.conf
.
defaults.pcm.card 1 defaults.ctl.card 1
forum.palemoon.org/viewtopic.php?t=9661#p66016
c'est la méthode pour sélectionner la carte son par défaut dans Alsa. Vous souhaiterez peut-être installer Alsa pour que cette méthode fonctionne si vous utilisez Pulse Audio.
cat / proc / asound / modules
listera vos modules sonores. La sortie de la commande sera comme ceci (par exemple):
0 snd_hda_intel
1 snd_usb_intel
vous pouvez facilement comprendre laquelle est votre carte son USB par le haut.
nano /etc/modprobe.d/alsa-base.conf
éditez ce fichier alsa-base.conf de manière à ce que votre carte préférée ait un index = -2 / 0 et que l'autre carte ait un index = -1 / 1 (restez avec -2 et -1)
option snd_hda_intel index = -1
option snd_usb_intel index = -2
dans ce cas, le périphérique USB est le périphérique préféré.
si vous avez deux cartes différentes avec le même nom de la sortie, comme ceci:
option snd_hda_intel
option snd_hda_intel
émettez cette commande pour savoir laquelle est laquelle:
chat / proc / asound / cartes
puis éditez les modules de cette façon:
options snd_hda_intel enable = 1 index = 0
options snd_hda_intel enable = 0 index = 1
un redémarrage peut être nécessaire. vous devrez peut-être basculer manuellement vos cartes son.
Je ne pouvais pas non plus obtenir de sortie de mon périphérique USB. Ma cat /proc/asound/modules
sortie était:
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
J'ai essayé les deux réponses décrites ici, ce qui n'a pas aidé (avec de nombreuses combinaisons d'index et beaucoup de redémarrage). Je pense que le problème était que mon périphérique USB s'est initialisé après le démarrage. Quoi qu'il en soit, ma solution de travail consiste à mettre sur liste noire les 2 autres périphériques audio en les mettant /etc/modprobe.d/blacklist.conf
à jour en tant que:
blacklist snd_hda_intel
La réponse de Matija Nalis n'a fonctionné qu'à moitié pour moi (alsamixer a changé par défaut, mais d'autres choses comme aplay et firefox ont obstinément collé avec le mauvais défaut). Cet exemple tiré du wiki Debian a fonctionné pour moi (sur un ordinateur portable CentOS-6):
defaults.pcm.!card Generic_1
defaults.ctl.!card Generic_1
defaults.pcm.!device 0
defaults.ctl.!device 0
Pour mémoire: ALSA est mal documenté, et surtout ce truc très simple comme sélectionner la carte à utiliser est bien trop difficile. Pire, il semble changer d'un système à l'autre. De plus, j'ai obtenu cette balise "Generic_1" de aplay -l où elle apparaît comme "carte 1" dans la liste. D'autres personnes semblaient l'utiliser, alors j'ai fait de même ... ce que cela signifie, je ne peux pas le dire.
Bien que vous puissiez modifier la carte alsa par défaut en modifiant .asoundrc ou le système asound.conf, cette approche présente quelques problèmes importants.
Il est fragile et nécessite le redémarrage de l'application pour être respecté.
Si vous souhaitez changer de carte à la volée, vous devez vraiment utiliser un serveur de son qui résume correctement les applications de la carte son, comme pulseaudio.
Voici une variante des réponses de Matija Nalis et Tel. C'est ce qui a fonctionné pour moi:
~ / .asoundrc
defaults.pcm.!card 1
defaults.ctl.!card 1
(Odroid C0, Debian Jessie, audio HDMI comme carte 0 et carte son USB comme carte 1 selon aplay -l)
Remarque: d'autres méthodes n'ont pas fonctionné pour moi, car / proc / asound / modules n'existe pas et il n'y a pas de module audio hdmi à mettre sur liste noire ou à faible priorité, il est intégré au noyau. Il semble que j'aurais dû recompiler le noyau sans prise en charge audio HDMI pour le désactiver complètement.