Raspberry PI 2 B是否适合实时音频效果应用?


8

我将要开始一个项目,该项目涉及音频效果应用程序的实时音频处理。该应用程序应该以48kHz的采样率从8个单独的音频输入通道获取和处理音频。音频处理算法为8个单独的音频输出通道生成音频。音频样本格式为16位带符号LPCM。由于它是用于实时音频效果应用程序,因此延迟也很重要。如果音频未经任何处理就从输入循环到输出,则往返延迟不应超过12ms。

应用程序应每隔5.33毫秒(通过音频回调)接收256 * 8个输入采样,处理这些采样并发送256 * 8个输出采样(也通过回调)。256 * 8样本以某种“交错”格式接收/发送。

我目前正在研究不同的硬件平台,我想知道Raspberry PI 2 B是否是合适的选择。该板本身似乎具有很大的功率(900MHz四核ARM CPU),但仅具有音频输入。所以我的问题是:

  1. Raspberry PI 2 B是否适合实时音频处理?
  2. 如果对1的回答是肯定的,那么我想知道市场上是否有8个输入通道和8个输出通道的Raspberry PI 2 B附加音频板?评估板必须支持48kHz采样率。
  3. 如果对1或[2] 的回答为否,那么您将推荐哪个HW平台?

我之所以选择Raspberry PI 2 B是因为价格诱人,但市场上可能还有其他类型的板更适合此类应用。

框图


“往返延迟不应超过12毫秒” .. “每5.33 毫秒采样一次”您确定这在PC上甚至可行吗?问题不是处理能力,而是完全在非实时操作系统上的用户界面软件中完成。我认为延迟会超过12毫秒。如果您不确定该问题,那么答案可能是否定的,并且通用SBC中没有其他选择。但是,如果您知道事实可以通过PC完成,那么就有机会了。
goldilocks

Answers:


4

简短的答案是“是”,“否”和取决于情况,长答案可能是“否”,但根据您的方法可能是“是”。作为硬件,Pi相当快,并且可以相当快地处理从输入到输出的数据转移。但是,raspian linux的默认设置不是实时平台。此外,您尚未指定要执行的DSP。回到我上大学时,在386年代和Windows 3.1时代,如果您想进行认真的声音处理,则需要一个外部DSP芯片才能使其全部正常工作。

如果这在Pi上可行,那么您将有一些选择。第一种选择(可能是最好的方法)是在硬件中使用中断,并使用单独的DSP模块。我不确定那里有什么,但是值得考虑的是,大多数带USB的Pi接口都具有带宽限制,因此无论如何您可能都不走运。其次,尝试将其编码为内核模块,看看您可以从Pi中获得什么样的吞吐量/处理能力,而用户模式linux不是实时的,尽管这将是一个有用的概念证明(在usermode中使用较高的进程优先级),您可能需要进入内核以加快其运行速度。最后,即使是缩减版本的pi版本,Linux内核也可以完成很多工作,您不需要简单的DSP设备。我想我在某个地方看到了一个可以将您的PC变成网络路由器的内核。所需的基本知识就是这些,但是您必须精通C内核黑客攻击。

如果要进行求和并尝试全部解决,则需要为处理器要处理的数据编写汇编程序,并计算出需要多少个处理指令来加载数据,进行更改并将其写出,看看乘以48k * 2是否会超过900M,如果不是,则以什么余量(设备所做的一切,都必须以该余量运行),因此,我建议您通过损失最小化正常的内核内容)。我认为它很有可能无法正常工作,但这实际上取决于您要执行的处理。您可能可以编译自己的内核,除了自己的内核模块外,什么都没有,并且只有足够的空间。您必须尝试一下才能看到。


不确定要执行的操作(通过处理方式),但请看一下似乎具有SPI控制器接口的st.com/web/en/catalog/sense_power/FM125/CL935/SC534/PF185827非常适合Pi和onsemi.com/PowerSolutions/product.do?id=BELASIGNA%20200
sibaz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.