¿Chip / placa para controlar la reproducción y mezcla de muestras de audio de baja latencia?

5

Generalmente, deseo construir un sistema integrado que sea capaz de reproducir múltiples muestras de audio de alta calidad simultáneamente, con una latencia muy baja (por ejemplo, desde el disparador al audio). Puede haber más de 4000 muestras individuales utilizando 2 GB de espacio de almacenamiento y en cualquier momento se pueden reproducir 50 de esas muestras. Específicamente, quiero construir las partes internas de un instrumento de piano digital basado en muestras.

¿Cuál es la combinación de chip / placa más fácil (es decir, fácil de implementar) que podría lograr esto (incluido el método para almacenar las muestras)?

    
pregunta Horselover Fat

1 respuesta

2

Suena como un STM32F4 (o quizás otra Cortex-M4F MCU) con un códec I2S adecuado que podría hacer el trabajo. Funciona a 168 MHz y tiene una interfaz SDIO para tarjetas microSD, interfaces I2S, instrucciones DSP, DMA, FSMC para interconectar RAM externa y flash, etc. Sin duda, no tiene suficiente RAM interna para almacenar 50 muestras al mismo tiempo. , por lo que probablemente necesitará RAM externa. Si no necesita realizar una gran cantidad de DSP en tiempo real, debería tener suficiente poder para hacer el trabajo.

La STM32F4Discovery board tiene un códec de audio I2S pero no una ranura microSD (ni ningún tipo de memoria externa) a bordo.

Sin embargo, si un Cortex-M4 no es suficiente, es probable que tengas que empezar a buscar hardware "serio" como:

  • un FPGA con una CPU de control y mezcla de hardware y motores I2S,

  • o un DSP "real" de TI o AD (probablemente la solución más costosa en cuanto a desarrollo herramientas van),

  • o quizás una CPU ARM como ARM9, ARM11 o Cortex-A, como se encuentra en Beagleboard, Raspberry Pi, etc., algunas de las cuales tienen extensiones DSP o núcleos DSP separados.

También existe el problema de cargar muestras en la RAM desde el almacenamiento principal. Si sus requisitos de latencia incluyen cargar las 50 muestras cada vez, puede estar en problemas. Si se pueden precargar, mucho mejor. De hecho, es posible que incluso salga con las muestras de transmisión directa desde el almacenamiento flash si (y el bus) es lo suficientemente rápido, pero debe tener cuidado con las fluctuaciones. Debe realizar cálculos cuidadosos teniendo en cuenta su presupuesto de tiempo y la latencia / rendimiento total de cada etapa de su sistema antes de comprometerse con cualquier decisión de diseño.

    
respondido por el Thorn

Lea otras preguntas en las etiquetas