读取音频文件,执行过滤器(即混响),然后在iOS上无需回放即可编写音频文件

时间:2015-03-12 17:36:52

标签: ios audio core-audio

我正在开发一个应用程序,它需要在文件上运行一些基本的音频过滤器(例如规范化和混响)。我们的想法是获取现有的音频文件,添加过滤器,然后将数据写入新文件。至关重要的是,这必须在没有任何播放的情况下完成并且应该很快(即在60秒的音频文件上,我应该能够在一秒钟内添加混响)。

我已经看过几个解决方案,例如The Amazing Audio Engine和AudioBox,但这些似乎都依赖于您实时播放任何音频而不是将其写入文件。

是否有任何人拥有示例,或者可以指出我正确的方向,只需要一个文件并应用一个基本的音频过滤器而不用听它。我确定我必须在某处丢失一些简单的东西,但我的搜索结果却没有。

1 个答案:

答案 0 :(得分:1)

一般来说,步骤是:

  1. 设置像这样的AUGraph - AudioFilePlayer - >混响/限制器/ EQ /等。 - > GenericOutput
  2. 打开输入文件并在AudioFilePlayer上安排它。
  3. 创建输出文件并在GenericOutput单元上重复调用AudioUnitRender,将呈现的缓冲区写入输出文件。
  4. 我不确定这个速度,但它应该是可以接受的。

    this thread中有一个全面的离线渲染示例,涵盖了设置和渲染过程。