基本系统提供的音频单元实现

时间:2011-01-11 21:52:41

标签: iphone objective-c core-audio audiounit

如果有人可以发布或指导我对其中一个系统提供的音频单元的简单实现,我会喜欢它。我希望在iOS中使用AUPitch(iPhone是否支持该单元?)并且似乎没有任何关于如何使用它的简单描述。

提前致谢,

mIL3S

http://www.milkdrinkingcow.com

3 个答案:

答案 0 :(得分:15)

不幸的是,AUPitch在iOS上不可用。 yoknapatawpha对Dirac library的引用是一个很好的,但音频单元的实现比Justin的帖子更多。我推荐以下资源:

  • Apple的Audio Unit Hosting Guide for iOS - 您必须阅读此内容 - 任何人都说没有任何意义,直到您这样做。
  • 在此列表中轻松排名第二,Chris Adamson的Core Audio Brain Dump
  • 来自360iDev的talk and set of tutorials - 这是我在此过程中发现的最少参考和最有帮助的指南。
  • 迈克尔泰森的intro to the Remote I/O Unit - 很容易找到我发现的引用指南 - 但是要注意,他留下了不止一些空白让你自己填写。
  • 来自Tim Bolstad的helpful guide
  • 这是一个有用的open-source project我发现有帮助分开。
  • Another project我在学习中分开了。
  • 而且,a third ...
  • SDK的示例代码中还有大量示例项目。大多数人都非常雄心勃勃,如果你没有C ++经验,那就没有比迷宫更好的了。但是,如果你有专业知识,那就是优秀的资源。如果您有信心,请查看aurioTouch - 这将向您展示将音频传递给Dirac等所需的结构。
  • 并且,请务必使用coreaudio-api邮件列表。

如果我要从头开始,我不会触摸任何东西,直到我彻底阅读前三个。 Apple文档可能很难排序,但请阅读此处引用的封面以涵盖。我无法计算那些对我不起作用的东西,我只找到了一个解决方案,当我意识到我错过了音频单元托管指南中的细节时,只是决定,“哦,我只是给这个镜头“......请使用这些资源,当你有更多问题时回来!

答案 1 :(得分:1)

我无法在Apple文档中找到明确的声明(请查看here),但我非常确定OSX提供的大多数AudioUnit在iOS中都不可用。 (此主题在Core Audio邮件列表中也出现过几次。)

对于iOS上的音频音高变换解决方案,我建议使用Dirac 3或Rubber Band库。

答案 2 :(得分:0)

如果你没有找到样品,你只需要创建一个au图形/渲染器,然后添加你想要的au,设置它的参数,渲染等...我假设有苹果提供的例子,引导您完成此事。

从那里:

请参阅您要定位的sdk的AudioUnitParameters.h,以获取系统AU的每个参数的文档。

寻找内容的摘录:

// Parameters for the AUBandpass unit
enum {
        // Global, Hz, 20->(SampleRate/2), 5000
    kBandpassParam_CenterFrequency          = 0,

        // Global, Cents, 100->12000, 600
    kBandpassParam_Bandwidth                = 1
};

// Some parameters for the AUGraphicEQ unit
enum {
        // Global, Indexed, currently either 10 or 31
    kGraphicEQParam_NumberOfBands           = 10000
};

// Parameters for the AUHipass unit
enum {
        // Global, Hz, 10->(SampleRate/2), 6900
    kHipassParam_CutoffFrequency            = 0,

        // Global, dB, -20->40, 0
    kHipassParam_Resonance                  = 1
};
祝你好运