Ejecución de un lenguaje de síntesis/análisis de audio en un dispositivo incorporado
embedded arduino (2)
En primer lugar, no soy un programador de audio, por lo que no estoy familiarizado con las demandas reales del procesamiento de señales necesarias para lograr lo que desea lograr.
Pero es difícil contrastar algo como el Beagle Board y el Arduino Mega, ya que están realmente en diferentes ligas de rendimiento base. El Beagle Board es un ARM de 1 GHz frente a los 16 MHz del Arduino Mega. Eso me dice que cualquier procesamiento que pueda interesarle puede estar dentro de las capacidades del Beagle Board, pero el Arduino Mega no tendría casi ninguna posibilidad sin un DSP adjunto para hacer el trabajo real.
La siguiente consideración es si alguno de los paquetes que estaba considerando usar apunta realmente a los DSP para sus tiempos de ejecución. A primera vista, parecen ser lenguajes de procesamiento de sonido de alto nivel. Con el Beagle Board, es posible que tenga la capacidad de procesamiento para evaluar y compilar el código fuente de sonido que usan estos paquetes y permitirles compilar en sus objetivos, pero en el Arduino Mega, eso parece poco probable.
Si todo lo que hace es trabajar con un hardware que ejecutará los artefactos creados por los paquetes que mencionó, entonces el Arduino Mega puede ser adecuado ya que el "desarrollo" se realiza en una máquina más poderosa. Pero si quiere trabajar con estos paquetes como están, y usarlos como una herramienta de desarrollo, entonces ejecutarlos en un puerto Linux para algo así como simplemente puede ser una mejor opción.
Una vez más, después de mirar informalmente, el Arduino Mega es aproximadamente la mitad del precio del Beagle Board, pero el Beagle Board puede permitirte trabajar a un nivel mucho más alto (Linux genérico). Si puedo ser lo suficientemente poderoso como para su visión final, no puedo decir. Pero me imagino que podrías llegar mucho más lejos, mucho más rápido, usando el sistema más poderoso, al menos a corto plazo.
¿Cuál es la experiencia de ejecutar programas escritos en un lenguaje de síntesis / análisis de audio como ChucK , Pure Data , Csound , Supercollider , etc. en un dispositivo integrado como un Arduino Mega , Beagle Board o una placa personalizada con un microprocesador o un chip DSP ?
Me gustaría saber qué idioma y hardware eligió y por qué. ¿Cuáles fueron los obstáculos, etc.? Mi objetivo es ejecutar programas que puedan ser fácilmente programados por músicos / productores en un foro que no sea demasiado caro.
Recibí opiniones de alguien que está ejecutando exitosamente programas ChucK en un Beagle Board (Ubuntu Linux en un Beagle Board ejecutando ChucK), pero su elección de idioma y hardware se hizo muy a la ligera, su configuración no usa el DSP en el Beagle Board y parece exagerado ejecutar una instalación completa de Linux para procesar señales de audio.
Cualquier entrada es apreciada!
Actualización: Encontré Zengarden, que es una implementación Pd en tiempo de ejecución (como una biblioteca C ++ independiente) y funciona bien en dispositivos basados en ARM. Por ahora, iré con BeagleBoard y Zengarden, pero en una etapa posterior del proyecto, tendré que reemplazar el BeagleBoard por algo que cueste menos.
Me encantaría escuchar más aportes de la comunidad.
Gracias a todos por sus comentarios y respuestas. Para la referencia de todos, terminé escribiendo un cliente JACK en C ++ que analiza e interpreta parches PureData y lo ejecuta en un BeagleBoard con Angstrom Linux y el servidor JACK. Aquí hay un video y un tutorial que escribí: http://elsoftwarehamuerto.org/articulos/691/puredata-beagleboard/