Una placa de microcontrolador barata pasa a ser un procesador de audio configurable para corregir parlantes, armar sistemas de varias vías e integrar un subwoofer.

Las dos salidas S/PDIF que documenta DSPi, con un transmisor óptico TX179 o con un circuito coaxial de divisor resistivo. Imagen del repositorio de DSPi en GitHub

Con el firmware DSPi, una Raspberry Pi Pico se vuelve un procesador digital de audio configurable. Es un proyecto de código abierto que le agrega a esta placa barata audio por USB, ecualización, filtros de cruce para parlantes y alineación temporal. Funciona en la Pico original, con el RP2040, y en la Pico 2, con el RP2350, y permite armar sistemas de audio con conversores digital a analógico (DAC) y amplificadores externos.

Lo desarrolla WeebLabs bajo la licencia GNU GPL versión 3.0. Apunta a aficionados al audio que quieren experimentar con procesamiento digital de señales (DSP) sin comprar un procesador comercial. Pero el firmware es solo una parte del sistema. Para que suene algo hacen falta el hardware de audio adecuado, el cableado y un amplificador o parlantes activos.

¿Qué formatos acepta?

El firmware hace que el computador u otro equipo compatible vea la Pico como un dispositivo de audio USB. Acepta audio PCM de 16 y 24 bits a 44,1 kHz, 48 kHz y 96 kHz. También recibe audio digital estéreo por una entrada S/PDIF, si se le agrega el circuito receptor correspondiente. La señal procesada sale por S/PDIF digital o por I²S, según la configuración elegida y el hardware conectado.

Pico contra Pico 2

La diferencia principal entre los dos microcontroladores es la capacidad de cálculo. Los dos corren con un reloj de sistema configurado en 307,2 MHz, pero el RP2040 trabaja con aritmética de punto fijo y el RP2350 hace los cálculos en punto flotante de precisión simple con su unidad de punto flotante en hardware. Según la documentación de DSPi, la plataforma RP2040 maneja hasta siete canales de proceso y la RP2350 hasta 11. La Pico 2 además ofrece cuatro salidas estéreo independientes, contra dos de la Pico original. Hay también una salida dedicada PDM (modulación por densidad de pulsos) para el subwoofer, sujeta a los recursos que le queden libres al firmware.

PlacaMicrocontroladorAritméticaCanales de procesoSalidas estéreo
Raspberry Pi PicoRP2040punto fijohasta 72
Raspberry Pi Pico 2RP2350punto flotante de precisión simplehasta 114

Ecualización, cruces y retardo

Con esas salidas se puede montar un sistema de parlantes de varias vías, donde cada señal alimenta un transductor distinto, como un woofer, un medio y un tweeter. DSPi admite hasta 10 bandas de ecualización paramétrica por canal para ajustar la respuesta en frecuencia. Sus filtros de cruce reparten el audio en rangos de frecuencia para cada transductor, con tipos Linkwitz-Riley, Butterworth y Bessel hasta de octavo orden. Cada salida puede tener su propia ganancia, silencio y un retardo de hasta 85 milisegundos. Con eso se ajustan niveles y tiempos relativos al integrar varios parlantes o un subwoofer.

Otras funciones son un nivelador de volumen que sube los pasajes más bajos hacia un nivel objetivo, compensación de sonoridad basada en las curvas de igual sonoridad de la norma ISO 226:2003 y crossfeed para audífonos. Este último mezcla una parte filtrada de cada canal estéreo en el otro, para reducir la separación exagerada entre izquierda y derecha que a veces se percibe con audífonos. Se pueden guardar hasta 10 configuraciones como ajustes predefinidos y pasar de una a otra según el equipo que se esté usando.

¿Qué hardware hace falta?

Armarlo exige más que conectar una Pico a un parlante. Para la salida analógica se conecta un módulo DAC compatible con I²S, por ejemplo uno basado en el PCM5102, a las señales de datos y de reloj correspondientes. La salida analógica del DAC tiene que ir a un amplificador o a un parlante activo. La salida S/PDIF pide un transmisor óptico o un circuito eléctrico adecuado. La señal PDM del subwoofer necesita además un circuito de conversión con filtro pasabajos antes de usarse como señal analógica. Para la Pico 2, DSPi documenta una entrada I2S basada en el PCM1808, que permite meter audio analógico si se agregan el conversor y las conexiones necesarias.

El cableado que documenta DSPi para agregar entrada analógica a una Pico 2 con un módulo ADC PCM1808. Imagen del repositorio de DSPi en GitHub

Instalación y ajuste

Para instalar el firmware hay que descargar el archivo UF2 que corresponde a la placa, mantener apretado el botón BOOTSEL mientras se conecta la Pico al computador y copiar el archivo en la unidad extraíble que aparece. Cuando la placa reinicia, debería aparecer como dispositivo de audio USB DSPi. Una aplicación complementaria, DSPi Console, permite configurar ecualización, cruces, ruteo, niveles de salida y otros parámetros sin volver a grabar el firmware en cada ajuste. La versión de la consola tiene que coincidir con la del firmware, porque los dos comparten un protocolo de control que cambia entre versiones.

Para corregir la sala hay que medir el sistema de parlantes y el espacio de escucha con equipo y software de medición, como Room EQ Wizard, y después aplicar los filtros en DSPi. Ese proceso exige medir y ajustar a mano. El firmware no mide la sala por sí solo ni garantiza una respuesta en frecuencia determinada.

La documentación de DSPi trae las asignaciones de pines, las instrucciones de armado y los detalles de configuración para adaptar el proyecto a distintos equipos de audio. La Pico 2 es la opción más capaz para sistemas con varias salidas, aunque la Pico original sirve para configuraciones más simples. La calidad de sonido real depende del conversor, del circuito analógico, del amplificador, de los parlantes y del armado. La documentación no fija cifras medidas de distorsión o ruido que valgan para cualquier montaje.

El código y la documentación están en el repositorio de DSPi en GitHub.