El firmware DSPi convierte la Raspberry Pi RP2040/RP2350 en una tarjeta de sonido USB con motor DSP integrado

DSPi es un firmware de DSP de audio con todas las funciones para la Raspberry Pi Pico, la Pico 2 y otras placas basadas en los chips Raspberry Pi RP2040/RP2350, capaz de transformarlas en una tarjeta de sonido USB con un DSP integrado.

Permite recurrir a herramientas esenciales como la corrección acústica de la sala, los crossover activos, la ecualización paramétrica, la alineación temporal y muchas más, y en la práctica funciona como una tarjeta de sonido normal en el ordenador.

Raspberry Pi Pico conectada a un ADC PCM1808 y conectores RCA
Raspberry Pi Pico conectada a un ADC PCM1808 y conectores RCA

Funciones del firmware DSPi:

  • DSP de doble núcleo – El procesamiento de EQ se reparte entre ambos núcleos, tanto en el RP2040 como en el RP2350.
  • Interfaz de audio USB – Admite entrada PCM de 16 y 24 bits a 44,1, 48 y 96 kHz, y funciona en macOS, Windows, Linux e iOS.
  • Entrada S/PDIF – Audio estéreo PCM de 24 bits a 44,1 o 48 kHz.
  • Salidas S/PDIF o I2S de 24 bits – Hasta 4 ranuras de salida estéreo independientes (8 canales en el RP2350 y 4 canales en el RP2040).
  • Salida para subwoofer – Canal PDM mono dedicado con un modulador delta-sigma de segundo orden de alto rendimiento, que permite conectar el subwoofer directamente sin necesidad de un segundo DAC.
  • Preamplificador por canal – Control de ganancia independiente para cada canal de entrada USB (L/R), aplicado como PASS 1 de la cadena de procesamiento DSP antes de cualquier otro proceso.
  • Mezclador matricial – Enruta uno o ambos canales de entrada USB a cualquier salida, con ganancia e inversión de fase independientes por punto de cruce (2×9 en el RP2350 y 2×5 en el RP2040).
  • Ecualización paramétrica – Hasta 10 bandas PEQ por canal con 11 tipos de filtro (peaking, shelf alto/bajo, paso alto/bajo, notch, all-pass, además de variantes suaves de shelf y all-pass de primer orden). 110 bandas de filtro en total en el RP2350 y 70 en el RP2040.
  • Crossover activos – Hasta 4 filtros de crossover dedicados por canal de salida: Linkwitz-Riley, Butterworth y Bessel de paso alto/bajo hasta orden 8 (48 dB/oct), ideales para integrar altavoces multivia y subwoofers.
  • Nivelador de volumen – Compresor ascendente de rodilla suave, vinculado en estéreo y basado en RMS, que eleva el contenido más silencioso hacia un nivel objetivo sin amplificar nunca los pasajes fuertes. Incluye lookahead opcional de 10 ms, velocidad y techo de ganancia máxima configurables, y un limitador de seguridad de reducción de ganancia de -6 dBFS.
  • Compensación de sonoridad – EQ dependiente del volumen basada en la norma ISO 226:2003 de curvas de igual sonoridad.
  • Crossfeed para auriculares – Crossfeed basado en BS2B con retardo interaural (ITD) que reduce la separación estéreo artificial al escuchar con auriculares.
  • Volumen maestro – Techo de salida en el propio dispositivo (de -128 a 0 dB, con centinela de silencio real) aplicado al final de la cadena de señal, independiente del volumen del host USB y del procesamiento DSP.
  • Ganancia y silencio por salida – Controles independientes de ganancia y mute para cada canal de salida.
  • Alineación temporal – Retardo por salida (hasta 85 ms) para alinear altavoces y subwoofers, con compensación automática de latencia entre las rutas de salida S/PDIF/I2S y PDM.
  • Pines de salida configurables – Todos los pines GPIO de salida (incluidos I2S BCK/MCK) se pueden reasignar en tiempo de ejecución para adaptarse a diseños de PCB personalizados.
  • Sistema de 10 presets – Guarda, carga y gestiona hasta 10 configuraciones DSP completas con nombres definidos por el usuario.
  • Diagnóstico – Medición de picos y clipping por canal, contadores de errores del PHY USB (CRC, bit stuffing, timeout, overflow, secuencia), estadísticas de llenado de búfer, contadores de inanición de DMA S/PDIF por ranura de salida e informe de carga de CPU por núcleo.
  • Actualización de firmware por USB – Un comando de proveedor reinicia el dispositivo en el bootloader UF2 para cargar un firmware nuevo desde la aplicación DSPi Console sin necesidad de pulsar físicamente BOOTSEL.

Las implementaciones para Raspberry Pi RP2040 y RP2350 son muy parecidas, con los núcleos (sobre)relojados a 307,2 MHz, frecuencias de muestreo de 44,1 / 48 / 96 kHz, profundidad de bits de salida de 24 bits, 10 presets de usuario, entrada S/PDIF y demás, pero también presentan algunas diferencias destacables que se recogen en la tabla siguiente.

Característica RP2040 (Pico) RP2350 (Pico 2)
Procesamiento de audio Coma fija Q28 Float de precisión simple
Bandas de EQ 10 por canal (70 en total) 10 por canal (110 en total)
Canales totales 7 (2 maestro + 4 S/PDIF·I2S + 1 PDM) 11 (2 maestro + 8 S/PDIF·I2S + 1 PDM)
Ranuras de salida 2 estéreo (cada una S/PDIF o I2S) 4 estéreo (cada una S/PDIF o I2S)
Motor matemático Ensamblador ARM optimizado a mano FPU por hardware (EQ híbrido SVF/biquad)
EQ de doble núcleo Sí (el núcleo 1 procesa las salidas 3-4) Sí (el núcleo 1 procesa las salidas 3-8)

Además del firmware, Weeb Labs también ha desarrollado la aplicación GUI DSPi Console, que permite controlar por completo el firmware DSPi desde equipos macOS, Windows y Linux. Ofrece control en tiempo real, gestión de filtros, configuración del dispositivo y monitorización y visualización.

Respuesta de filtros en DSPi Console
Respuesta de filtros en DSPi Console

Si prefieres trabajar en la línea de comandos, DSPi Terminal es otra opción que, en esencia, ofrece las mismas capacidades que DSPi Console.

Terminal de DSPi
DSPi Terminal

Encontrarás los repositorios del firmware DSPi, los ports de DSP Console, DSPi Terminal y mucho más (un port para STM32 y un panel frontal con ESP32-S3) en la cuenta de GitHub de Weeb Labs. También publicó una presentación en Audio Science Review en febrero de 2026, y el hilo sigue activo y es muy popular, con 121 páginas; además, el repositorio del firmware DSPi en GitHub ya acumula 1,2k estrellas, así que el proyecto parece tener muy buena acogida en la comunidad del audio. Se desarrolló con ayuda de IA (Claude), pero un análisis del código realizado por IA indica que su calidad es alta para tratarse de software de aficionado, aunque algunos archivos C parecen bastante largos (en gran parte por los comentarios).

Gracias a Hedda por el aviso.

Traducido del artículo en inglés «DSPi firmware turns Raspberry Pi RP2040/RP2350 into a USB sound card with an onboard DSP engine» de Jean-Luc Aufranc (CNXSoft).