0

我正在开发一种将多个传感器信号一起调制成一个信号的方法,通过音频输入进入 iPhone。我需要做几件事:

  1. 通过一个普通的滤波器链从输入信号中解调这些信号,然后将每个信号沿其自己的信号路径输出以进行进一步处理——必须是实时的。
  2. 播放每个信号的声音版本——最好是实时的。
  3. 通过网络连接将每个信号流式传输——最好是实时的。
  4. 将每个信号存储在一个 PCM 文件中——不必是实时的。

我需要帮助概念化这个过程中的信号链。我已经开始使用音频单元绘制设计草图。首先,我选择Audio Units是不是太低级了?这可以通过音频队列服务实现吗?尽管如此,我已经到了调制信号进入的地步(还没有解调它),正在实时对其进行声化,并将声化后的信号传回输出端。现在,为了将此信号拆分为信号链的两个单独部分,我会想象做一些事情,例如将远程 I/O 单元的输出路由到多通道混音器单元上的两个单独的输入总线,然后进行声化/写入-disk/writing-to-network 在多通道混音器单元的回调中。

但是,对于实时线程来说,这是否过多的处理?我真的能够做到这一点,还是需要将一些功能离线?其次,是否可以将 I/O 单元的输入单元的输出路由到多通道混音器单元的单独输入单元?如果没有,我能否指定多通道流描述,并拆分源

4

1 回答 1

0

在 iOS 设备上当然可以进行多声道音频解调。它是使用 DSP IIR 滤波器组、FFT 滤波等完成的。ARM NEON 矢量单元比几年前的许多专用 DSP 芯片具有更强的 DSP 处理能力。

我建议仅将音频单元或音频队列服务用于数据采集。然后只需将 PCM 样本排队并将它们提供给您的 DSP 处理模块。

是否可以通过网络流式传输数据取决于通道数、每个通道的数据速率、数据压缩率、网络带宽的变化等。

于 2011-01-24T20:15:17.647 回答