
Puesto al día el 12 de enero de 2026.
instalación
vía config.txt
antes de proceder con la instalación, hay que desactivar la tarjeta de sonido de la raspberry pi:
sudo nano /boot/firmware/config.txt# Enable audio (loads snd_bcm2835)
# dtparam=audio=on
hecho esto, hay que añadir la siguiente línea al mismo /boot/firmware/config.txt:
sudo nano /boot/firmware/config.txt# HIFIBERRY DIGI+ I/O dtoverlay=hifiberry-digi # Enable DRM VC4 V3D driver dtoverlay=vc4-kms-v3d,noaudio
reboot
aplay -l**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HifiBerry Digi HiFi wm8804-spdif-0 [HifiBerry Digi HiFi wm8804-spdif-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
el usuario que ejecuta el comando aplay debe formar parte del grupo audio:
cat /etc/group | grep audioaudio:x:29:ernesto
vía .asoundrc
If you want the default to be, for example, a USB Device instead of the onboard sound, you can place a pcm.!default line in the .asoundrc.
«Default PCM device» en .asoundrc de la ALSA wiki.
mediante .asoundrc, se desactive o no la tarjeta de sonido de la raspberry pi, es posible configurar qué dispositivo de sonido prefiere alsa:
aplay -lcard 0: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HifiBerry Digi HiFi wm8804-spdif-0 [HifiBerry Digi HiFi wm8804-spdif-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
nano /home/ernesto/.asoundrcpcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
Las opciones 'pcm' afectan a la tarjeta y al dispositivo que se pueden utilizar para la reproducción de audio, mientras que la opción 'ctl' afecta a la tarjeta que es utilizada por la utilidades de control como alsamixer.
«Método alternativo» en Advanced Linux Sound Architecture de Arch Linux.
grabación
If no source is connected, recording will block. You won’t just record silence, but the whole system might block.
«Comparison of HiFiBerry cards for audio recording» en HiFiBerry.
arecord -l**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HifiBerry Digi HiFi wm8804-spdif-0 [HifiBerry Digi HiFi wm8804-spdif-0]
Subdevices: 0/1
Subdevice #0: subdevice #0
arecord -d 30 -D hw:0,0 -c 2 prueba.wavRecording WAVE 'prueba.wav' : Unsigned 8 bit, Rate 8000 Hz, Stereo
arecord: set_params:1352: Sample format non available
Available formats:
- S24_LE
arecord -d 30 -D hw:0,0 -f S24_LE -c 2 prueba.wavRecording WAVE 'prueba.wav' : Signed 24 bit Little Endian, Rate 8000 Hz, Stereo
Warning: rate is not accurate (requested = 8000Hz, got = 44100Hz)
please, try the plug plugin (-Dplug:default)
arecord -d 30 -D hw:0,0 -f S24_LE -r 44100 -c 2 prueba.wavRecording WAVE 'prueba.wav' : Signed 24 bit Little Endian, Rate 44100 Hz, Stereo
prueba de grabación
arecord -vvv -D hw:0,0 -f S24_LE -r 44100 -c 2 /dev/nullRecording WAVE '/dev/null' : Signed 24 bit Little Endian, Rate 44100 Hz, Stereo
Hardware PCM card 0 'snd_rpi_hifiberry_digi' device 0 subdevice 0
[...]
Max peak (11026 samples): 0x00800000 #################### 100%
Max peak (11026 samples): 0x00800000 #################### 100%
Max peak (11026 samples): 0x00800000 #################### 100%
[...]
en este caso, se registra una entrada de sonido del 100% frente al 0% de esta otra ocasión (donde se silencia la entrada de audio):
arecord -vvv -D hw:0,0 -f S24_LE -r 44100 -c 2 /dev/nullRecording WAVE '/dev/null' : Signed 24 bit Little Endian, Rate 44100 Hz, Stereo
Hardware PCM card 0 'snd_rpi_hifiberry_digi' device 0 subdevice 0
[...]
Max peak (11026 samples): 0x00000000 # 0%
Max peak (11026 samples): 0x00000000 # 0%
Max peak (11026 samples): 0x00000000 # 0%
[...]
alsaloop
alsaloop allows create a PCM loopback between a PCM capture device and a PCM playback device.
«alsaloop» en Linux man pages.
de esta manera, se redirige la señal de entrada hacia la salida de audio, sin más:
alsaloop --help-C,--cdevice capture device
alsaloop -C hw:0,0
sin embargo, si la salida de audio ya está ocupada, se produce el siguiente error:
alsaloop -C hw:0,0playback hw:0,0 open error: Device or resource busy
Loopback initialization failure.
dmix
alsamixer
- alsaloop + alsamixer > como mezclador de señal digital?
- alsaloop para coger input y llevarlo al output: https://community.toradex.com/t/mix-bluetooth-audio-with-local-audio/20343/2
- mezcla la señal del alsaloop/input con señal local:
fuentes
- «.asoundrc» en la ALSA wiki.
- «Advanced Linux Sound Architecture» de Arch Linux.
- «Audio passthrough using alsaloop» en HiFiBerry, 2022.
- «Configuring Linux 4.x or higher» en HiFiBerry.
- «HiFiBerry Digi+ I/O» en HiFiBerry.
- «Mixing different audio sources» en HiFiBerry, 2019.
- «MultipleCards» en la ALSA wiki.
- «Record audio on your Raspberry Pi» en HiFiBerry, 2019.
