Запуск языка синтеза / анализа аудио на встроенном устройстве
Каков опыт работы с программами, написанными на языке синтеза / анализа аудио, таких как ChucK, Pure Data, Csound, Supercollider и т. Д. Во встроенном устройстве, таком как Arduino Mega, Beagle Board или на специальной плате с микропроцессором или чипом DSP?
Я хотел бы знать, какой язык и оборудование вы выбрали и почему. Какие были препятствия и т. Д.? Моя цель - запускать программы, которые могут быть легко запрограммированы музыкантами / продюсерами на не слишком дорогой доске.
Я получил информацию от кого-то, кто успешно запускает программы ChucK на Beagle Board (Ubuntu Linux на Beagle Board с ChucK), но его выбор языка и аппаратного обеспечения был сделан очень легко, его настройка не использует DSP в Beagle Board и кажется чрезмерным запускать целую установку Linux для обработки аудиосигналов.
Любой вклад приветствуется!
Обновление: я нашел Zengarden, который представляет собой реализацию среды выполнения Pd (как отдельная библиотека C++) и хорошо работает на устройствах на основе ARM. Сейчас я пойду с BeagleBoard и Zengarden, но на более поздней стадии проекта мне нужно будет заменить BeagleBoard чем-то более дешевым.
Я хотел бы услышать больше отзывов от сообщества.
2 ответа
Спасибо всем за ваши комментарии и ответы. Для справки всех остальных я в итоге написал JACK- клиент на C++, который анализирует и интерпретирует исправления PureData, и запускал его на BeagleBoard с Angstrom Linux и JACK-сервером. Вот видео и учебник, который я написал: http://elsoftwarehamuerto.org/articulos/691/puredata-beagleboard/
Во-первых, я не программист, поэтому я не знаком с фактическими требованиями к обработке сигналов, необходимыми для достижения того, чего вы хотите достичь.
Но трудно противопоставить что-то вроде Beagle Board и Arduino Mega, поскольку они действительно находятся в разных лигах базовой производительности. Beagle Board - это 1 ГГц ARM против Arduino Mega с 16 МГц. Это говорит мне о том, что любая обработка, которая вас может заинтересовать, вполне может быть в пределах возможностей Beagle Board, но у Arduino Mega практически не будет шансов без подключенного DSP выполнить настоящую работу.
Следующее соображение заключается в том, использует ли какой-либо из пакетов, который вы рассматривали, фактически целевые DSP для их времени выполнения. На первый взгляд они кажутся языками обработки звука высокого уровня. С платой Beagle вы можете обладать вычислительной мощностью, чтобы оценивать и компилировать исходный код звука, который используют эти пакеты, и позволять им компилировать их в свои цели, но на Arduino Mega это кажется маловероятным.
Если все, что вы делаете, - это работа с оборудованием, на котором будут работать артефакты, созданные упомянутыми вами пакетами, тогда Arduino Mega вполне подойдет, поскольку "разработка" выполняется на более мощной машине. Но если вы хотите работать с этими пакетами как есть и использовать их в качестве инструмента разработки, тогда запуск их на порте Linux для чего-то подобного может быть просто лучшим вариантом.
Опять же, после случайного осмотра, Arduino Mega примерно вдвое дешевле платы Beagle, но плата Beagle вполне может позволить вам работать на более высоком уровне (универсальный Linux). Я не могу сказать, будет ли достаточно сильным для вашего окончательного видения. Но я думаю, что вы могли бы продвинуться намного дальше, намного быстрее, используя более мощную систему - по крайней мере, в краткосрочной перспективе.