Carte USB comme périphérique audio par défaut


32

J'ai acheté une petite carte son USB. Mon Pi reconnaît l'appareil:

$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller

Si je lance alsamixeret que je règle le son USB PnP Sound Device, je peux entendre le son via la carte son USB. Pour le rendre permanent, je tape:

$ sudo alsactl store

Mais après le redémarrage, la valeur par défaut n'est plus la carte son USB.

entrez la description de l'image ici

Alors j'essaie de voir une liste des appareils de lecture:

$ aplay -l

    **** List of PLAYBACK Hardware Devices ****
  card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
  card 1: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Je modifie /etc/asound.confpour ressembler à ceci pour définir la valeur par défaut:

$ sudo nano /etc/asound.conf


pcm.!default {
 type hw
 card 1
 device 0
}

Faites un rebootet ma valeur par défaut n'est pas la carte son USB.

Quand j'essaye:

$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1

J'entends le son de la carte USB.

J'ai également essayé ce qui suit:

$ sudo nano /etc/modprobe.d/alsa-base.conf

changez l'index de -2 à 0:

options snd-usb-audio index=0

Redémarrez et il n'a toujours pas défini la valeur par défaut. J'ai même commenté la ligne et pas de chance.

Alors, comment puis-je définir la carte USB comme périphérique audio par défaut?

modifier

 dpkg -s pulseaudio

Affiche:

Package: pulseaudio
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 4413
Maintainer: Pulseaudio maintenance team <pkg-pulseaudio-devel@lists.alioth.debian.org>
Architecture: armhf
Multi-Arch: foreign
Version: 2.0-6
Depends: libasound2 (>= 1.0.24.1), libc6 (>= 2.13-28), libcap2 (>= 2.10), libdbus-1-3 (>= 1.1.1), libfftw3-3, libgcc1 (>= 1:4.4.0), libice6 (>= 1:1.0.0), libltdl7 (>= 2.4.2), liborc-0.4-0 (>= 1:0.4.16), libpulse0 (= 2.0-6), libsamplerate0 (>= 0.1.7), libsm6, libsndfile1 (>= 1.0.20), libspeexdsp1 (>= 1.2~beta3.2-1), libstdc++6 (>= 4.1.1), libsystemd-daemon0 (>= 31), libsystemd-login0 (>= 31), libtdb1 (>= 1.2.7+git20101214), libudev0 (>= 146), libwebrtc-audio-processing-0, libx11-6, libx11-xcb1, libxcb1, libxtst6, adduser, lsb-base (>= 3.2-13), consolekit, udev (>= 143), libasound2-plugins
Recommends: pulseaudio-module-x11, gstreamer0.10-pulseaudio, rtkit
Suggests: pulseaudio-utils, pavumeter, pavucontrol, paman, paprefs
Breaks: libltdl3 (<< 1.5.24-1)
Conffiles:
 /etc/init.d/pulseaudio 8580c855e4547e8a3c84dca96d9bbd7e
 /etc/default/pulseaudio ee26e4427d72cf16a59b1a8ce2712c66
 /etc/xdg/autostart/pulseaudio.desktop 5e19ffbe14d21702be1edd3256c4265d
 /etc/xdg/autostart/pulseaudio-kde.desktop fd20c58d32035e908a0866784e4e3511
 /etc/pulse/system.pa 408f6d6119d7afce522ab1b394709134
 /etc/pulse/default.pa a9ac2a96744beae0913865fafd3d2582
 /etc/pulse/daemon.conf 6c9e4c973cabb406beee3ec81c63fcd7
 /etc/dbus-1/system.d/pulseaudio-system.conf 69d56dc5342bf589a2e199541709a452
Description: PulseAudio sound server
 PulseAudio, previously known as Polypaudio, is a sound server for POSIX and
 WIN32 systems. It is a drop in replacement for the ESD sound server with
 much better latency, mixing/re-sampling quality and overall architecture.
 .

Ensuite:

cat /proc/asound/modules

Affiche:

 0 snd_bcm2835
 1 snd_usb_audio

Question ... avez-vous installé pulseaudio par hasard? Courez dpkg -s pulseaudiopour le découvrir, il dira quelque chose comme ça dpkg-query: package 'pulseaudio' is not installed and no information is availables'il ne l'est pas. Pourriez-vous exécuter cette commande et publier la sortie?
RPiAwesomeness

Pouvez-vous également exécuter cat /proc/asound/moduleset publier la sortie?
RPiAwesomeness

@RPiAwesomeness - Mis à jour avec les informations demandées.
PhillyNJ

1
D'accord, avez-vous essayé ceci options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1:? D'après ce que je peux voir, vous modifiez simplement l' snd-usb-audioindex, et le système le modifie à nouveau car il ne peut pas avoir deux (usb et bcm2835) au même index?
RPiAwesomeness

2
Yay! : D Heureux d'avoir aidé, et nous n'avons jamais eu à désinstaller pulseaudio! Hourra pour Internet :)
RPiAwesomeness

Réponses:


28

Il s'avère que le PO réfléchissait sur la bonne voie en essayant

$ sudo nano /etc/modprobe.d/alsa-base.conf

et changer l'index de -2 à 0 via l'ajout options snd-usb-audio index=0au fichier. Cependant, cela ne fonctionnait pas.

La bonne façon de le faire est d'ajouter options snd-usb-audio index=0suivi de options snd_bcm2835 index=1.

Essentiellement, cela oblige le module de son par défaut ( snd_bcm2835) à être désactivé alors que le module de son USB ( snd-usb-audio) est activé.

Je pense que ce qui se passait auparavant avec l'ajout options snd-usb-audio index=0était que le snd-usb-audiomodule et le snd_bcm2835étaient en conflit, les deux étant activés.


Aucun problème. Encore une fois, toujours heureux d'aider: D
RPiAwesomeness

Doux! Cela a également résolu le problème pour moi. J'ai dû redémarrer après avoir changé alsa-base.conf, FWIW.
Andrew Swan

@AndrewSwan Vous êtes les bienvenus! Heureux de vous aider! :)
RPiAwesomeness

14

Avec Raspbian Jesse, changer le périphérique audio par défaut est plus simple qu'auparavant.

Maintenant, utilisez simplement cette commande pour répertorier vos cartes son détectées par alsa et notez le numéro de carte de votre appareil préféré.

aplay -l

Ensuite, créez / modifiez le fichier de configuration alsa à ~/.asoundrc, ou le système à l'échelle /etc/asound.conf, et collez ces lignes:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw           
    card 0
}

changer card 0le numéro de carte de votre périphérique audio.

Utilisez alsamixerpour vérifier que la valeur par défaut a été définie correctement.

La source:


1
@Greenonline, re: ma «question» d'hier, je n'ai vraiment pas pu ajouter cette réponse l'autre soir, car elle était protégée par la communauté et je n'avais pas encore 10 représentants! Merci pour le commentaire amical, cela a aidé :)
demi

Ah ok. Merci. Je pensais que cette réponse me semblait familière ... :-)
Greenonline

La réponse acceptée n'a pas fonctionné pour moi, mais cela a fait l'affaire! Merci beaucoup.
Twiffy

2
Cela n'a pas fonctionné pour moi, je l'ai plutôt fait fonctionner en écrivant ceci dans le fichier asound.conf "pcm.! Default {type plug slave {pcm" hw: 1,0 "}} ctl.! Default {type hw card 1} "De: linuxcircle.com/2013/05/08/…
Moulde
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.