Compré una pequeña tarjeta de sonido USB. My Pi reconoce el dispositivo:
$ lsusb
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Si ejecuto alsamixer
y configuro el audio USB PnP Sound Device
, puedo escuchar el audio a través de la tarjeta de sonido USB. Para hacerlo permanente, escribo:
$ sudo alsactl store
Pero después de reiniciar, el valor predeterminado ya no es la tarjeta de sonido USB.
Entonces trato de ver una lista de dispositivos de reproducción:
$ 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
Edito /etc/asound.conf
para que se vea así para establecer el valor predeterminado:
$ sudo nano /etc/asound.conf
pcm.!default {
type hw
card 1
device 0
}
Hacer un reboot
y todavía mi valor predeterminado no es la tarjeta de sonido USB.
Cuando lo intento:
$ aplay /usr/share/sounds/alsa/Front_Center.wav -D sysdefault:CARD=1
Escucho sonido de la tarjeta USB.
También probé lo siguiente:
$ sudo nano /etc/modprobe.d/alsa-base.conf
cambie el índice de -2 a 0:
options snd-usb-audio index=0
Reinicie y aún así no estableció el valor predeterminado. Incluso comenté la línea y no tuve suerte.
Entonces, ¿cómo configuro la tarjeta USB como mi dispositivo de audio predeterminado?
Editar
dpkg -s pulseaudio
Muestra:
Package: pulseaudio
Status: install ok installed
Priority: optional
Section: sound
Installed-Size: 4413
Maintainer: Pulseaudio maintenance team <[email protected]>
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.
.
Luego:
cat /proc/asound/modules
Muestra:
0 snd_bcm2835
1 snd_usb_audio
fuente
dpkg -s pulseaudio
para averiguarlo, dirá algo asídpkg-query: package 'pulseaudio' is not installed and no information is available
si no lo es. ¿Podría ejecutar ese comando y publicar la salida?cat /proc/asound/modules
y publicar la salida?options snd-usb-audio index=0 [PRESS ENTER] options snd_bcm2835 index=1
? Por lo que puedo ver, ¿simplemente está cambiando elsnd-usb-audio
índice y el sistema lo está volviendo a cambiar porque no puede tener dos (usb y bcm2835) en el mismo índice?Respuestas:
Resulta que el OP estaba pensando en el camino correcto con su intento
$ sudo nano /etc/modprobe.d/alsa-base.conf
y cambiando el índice de -2 a 0 mediante la adición
options snd-usb-audio index=0
al archivo. Sin embargo, esto no estaba funcionando.La forma correcta de hacerlo es agregar
options snd-usb-audio index=0
seguido deoptions snd_bcm2835 index=1
.Básicamente, lo que hace esto es forzar la
snd_bcm2835
desactivación del módulo de sonido predeterminado ( ) mientras el módulo de sonido usb (snd-usb-audio
) está habilitado.Lo que creo que sucedía anteriormente con solo agregar
options snd-usb-audio index=0
era que elsnd-usb-audio
módulo y elsnd_bcm2835
estaban en conflicto, con ambos habilitados.fuente
Con Raspbian Jesse, cambiar el dispositivo de audio predeterminado es más simple de lo que solía ser.
Ahora, simplemente use este comando para enumerar sus tarjetas de sonido detectadas por alsa y tome nota del número de tarjeta de su dispositivo preferido.
Luego cree / edite el archivo de configuración alsa en
~/.asoundrc
, o el ancho del sistema en/etc/asound.conf
, y pegue estas líneas:cambiando
card 0
al número de tarjeta de su dispositivo de sonido.Use
alsamixer
para verificar que el valor predeterminado se haya configurado correctamente.Fuente:
fuente