在嵌入式设备上运行音频合成/分析语言

时间:2010-12-28 16:01:00

标签: audio embedded arduino beagleboard chuck

在嵌入式设备中运行以ChucKPure DataCsoundSupercollider等音频合成/分析语言编写的程序的经验是什么?作为Arduino MegaBeagle Board或带有微处理器或DSP chip的自定义电路板?

我想知道您选择的语言和硬件以及原因。有什么障碍等等?我的目标是运行一些程序,这些程序可以由一个不太昂贵的电路板中的音乐家/制作人轻松编程。

我收到了一个在Beagle Board上成功运行ChucK程序的人的输入(运行ChucK的Beagle Board上的Ubuntu Linux),但他的语言和硬件选择非常轻松,他的设置不是在使用DSP Beagle Board,运行整个Linux安装来处理音频信号似乎有些过分。

感谢任何输入!

更新:我发现Zengarden是一个Pd运行时实现(作为一个独立的C ++库),并且在基于ARM的设备上运行良好。现在,我将选择BeagleBoard和Zengarden,但在项目的后期阶段,我需要用更低成本的东西替换BeagleBoard。

我很想听到社区的更多意见。

2 个答案:

答案 0 :(得分:5)

感谢大家的意见和答案。对于其他人的参考,我最终用C ++编写了一个JACK客户端来解析和解释PureData补丁并在BeagleBoardAngstrom Linux以及JACK服务器上运行它。这是我写的视频和教程:http://elsoftwarehamuerto.org/articulos/691/puredata-beagleboard/

答案 1 :(得分:4)

首先,我不是音频程序员,因此我不熟悉实现您想要实现的信号处理的实际需求。

但是,很难对比像Beagle Board和Arduino Mega这样的东西,因为他们真的处于基础性能的不同联盟中。 Beagle Board的频率为1 GHz ARM,而Arduino Mega的频率为16 MHz。这告诉我,你可能感兴趣的任何处理都可能在Beagle Board的功能范围内,但是如果没有附加的DSP来完成实际的工作,Arduino Mega几乎没有机会。

下一个考虑因素是,您考虑使用的任何软件包是否实际上都是针对其运行时的DSP。一目了然,它们看起来像是高级声音处理语言。使用Beagle Board,您可能拥有处理能力来评估和编译这些软件包使用的声源代码,并让它们编译到目标,但是在Arduino Mega上,这似乎不太可能。

如果你所做的只是使用一块将运行你提到的软件包创建的工件的硬件,那么Arduino Mega可能很适合,因为“开发”是在更强大的机器上完成的。但是如果你想按原样使用这些软件包,并将它们用作开发工具,那么在Linux端口上运行它们可能只是一个更好的选择。

再次,经过随意观察,Arduino Mega的价格大约是Beagle Board的一半,但Beagle Board可能会让你在更高的层次上工作(通用Linux)。对于你的最终愿景是否足够强大,我不能说。但是我想你可以使用更强大的系统来获得更多,更快的速度 - 至少在短期内如此。