2010-12-28 5 views
6

Cuál es la experiencia programas escritos en un lenguaje de síntesis de audio/análisis como ChucK, Pure Data, Csound, Supercollider, etc., en un dispositivo embebido como un Arduino Mega, Beagle Board correr o una placa personalizada con un microprocesador o DSP chip?Ejecución de un lenguaje de síntesis/análisis de audio en un dispositivo embebido

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í la opinión 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 fue muy ligera, su configuración no usa el DSP en el Beagle Board y parece excesivo ejecutar una instalación completa de Linux para procesar señales de audio.

¡Cualquier entrada es apreciada!

Actualización: I conocer Zengarden que es una aplicación de tiempo de ejecución Pd (como una biblioteca independiente C++) 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 recibir más comentarios de la comunidad.

+0

Newton Armstrong ejecuta supercollider en una pieza de hardware sin pantalla que ejecuta Linux. Pero eso no es de lo que estás hablando. Tengo curiosidad también. Si encuentras una respuesta, ¡me encantaría saberlo! ([email protected]) – morgancodes

+0

Gracias @WillHartung por la larga respuesta !! Con suerte, alguien proporcionará información sobre la elección del idioma de audio. –

+0

Estoy seguro de que esto no es exactamente lo que quiere, pero los [apéndices OSC del proyecto IPRE para ChucK] (http://wiki.roboteducation.org/ChucK) están relacionados. Otros pueden encontrarlo útil, particularmente si se trabaja con niños. – Curtis

Respuesta

4

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 1GHz ARM frente al Arduino Mega de 16 MHz. 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 potente . Pero si desea trabajar con estos paquetes tal 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.

+2

En cada etapa, desde un arduino, hasta un compacto y contemporáneo chip ARM que ejecuta un sistema operativo pequeño o un sistema operativo diminuto, hasta un sistema linux integrado de gama baja, un linux integrado ARM de alta gama comparable a un teléfono inteligente, un nettop/netbook hay un gran aumento en el rendimiento a un pequeño aumento en el precio. Para una mayor comodidad de programación, es probable que pueda usar métodos similares a los de un escritorio, por ejemplo, cuando puede ejecutar linux embebido en el dispositivo sin presión de memoria y tener un sistema de archivos y compiladores cruzados o intérpretes para la mayoría de los idiomas. –

Cuestiones relacionadas