【问题标题】:Basic system supplied audio unit implementation基本系统提供的音频单元实现
【发布时间】:2011-01-11 21:52:40
【问题描述】:

如果有人可以发布或指导我了解系统提供的音频单元之一的简单实现,我会很高兴。我希望在 iOS 中使用 AUPitch(iPhone 甚至支持该单元吗?)并且似乎没有任何简单的关于如何使用它的描述。

提前致谢,

mIL3S

http://www.milkdrinkingcow.com

【问题讨论】:

    标签: iphone objective-c core-audio audiounit


    【解决方案1】:

    很遗憾,AUPitch 在 iOS 上不可用。 yoknapatawpha 对Dirac library 的引用很好,但音频单元的实现比贾斯汀的帖子中所假设的要多得多。我推荐以下资源:

    • Apple 的Audio Unit Hosting Guide for iOS - 您必须阅读此内容 - 在您阅读之前,任何人说的任何话都没有意义。
    • Chris Adamson 的Core Audio Brain Dump 毫无疑问位列榜单第二位。
    • 这个来自 360iDev 的 talk and set of tutorials - 很容易成为我在此过程中找到的最少参考和最有用的指南。
    • Michael Tyson 的 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 文档可能很难整理,但请阅读此处引用的文档从头到尾。我无法计算对我不起作用的事情的数量,当我意识到我错过了音频单元托管指南中的那个细节时,我只是决定,“哦,我就给这是一个镜头”......请使用这些资源,当您有更多问题时回来!

    【讨论】:

    • 这回答了您的问题吗?如果是这样,请继续接受。或者,如果其他人对您更有帮助,请继续为他们提供建议......
    • 确认我从未标记过您的答案!非常抱歉!迟到总比不到好。 ;-)
    • 不用担心,@MilesAlden。谢谢!
    【解决方案2】:

    我在 Apple 文档(检查 here)中找不到明确的声明,但我很确定 OSX 提供的大多数 AudioUnit 在 iOS 中不可用。 (这个话题也多次出现在 Core Audio 邮件列表中。)

    对于 iOS 上的音频移调解决方案,我推荐 Dirac 3 或 Rubber Band 库。

    【讨论】:

    【解决方案3】:

    如果你没有找到样本,使用这个 au 所要做的就是创建一个 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
    };
    

    祝你好运

    【讨论】:

      猜你喜欢
      • 2011-01-12
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 2015-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多