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

发布于 2024-10-11 16:08:08 字数 230 浏览 6 评论 0原文

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

提前致谢,

mIL3S

http://www.milkdrinkingcow.com

I'd love it if someone could post or direct me to a simple implementation of one of the system supplied Audio Units. I'm looking to use the AUPitch in with iOS (does iPhone even support that unit?) and there doesn't appear to be any simple description of how to use it.

Thanks in advance,

mIL3S

http://www.milkdrinkingcow.com

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

執念 2024-10-18 16:08:08

不幸的是,AUPitch 在 iOS 上不可用。 yoknapatawpha 对 Dirac 库 的引用很好,但音频单元还有更多内容实施比人们从贾斯汀的帖子中想象的要好。我推荐以下资源:

  • Apple 的 音频iOS 单元托管指南 - 您必须阅读此内容——除非您阅读,否则任何人所说的内容都毫无意义。
  • 克里斯·亚当森 (Chris Adamson) 的 核心音频大脑转储
  • 这个演讲和一组教程来自 360iDev - 很容易是我一路上发现的引用最少但最有帮助的指南。
  • Michael Tyson 的远程 I/O 单元简介 - 轻松我找到的参考最多的指南——但请注意,他留下了很多空白供您自己填写。
  • Tim Bolstad 提供的有用指南
  • 这是一份有用的开源项目 我发现有帮助分开。
  • 我在学习中挑选的另一个项目
  • 而且,第三个...
  • SDK 的示例代码中还有大量示例项目。大多数都非常雄心勃勃,如果您没有 C++ 经验,那么它们就像迷宫一样。不过,如果您具备专业知识,那么这是极好的资源。如果您有信心,请查看 aurioTouch——它向您展示了将音频传递给 Dirac 等设备所需的结构。
  • 并且,请务必使用 coreaudio-api 邮件列表。

如果我回去从头开始,在彻底读完前三本书之前我不会碰任何东西。整理 Apple 文档可能会很麻烦,但请仔细阅读此处引用的文档。从头到尾。我无法计算有多少对我不起作用的事情,当我意识到我错过了音频单元托管指南中的细节时,我才找到了解决方案,只是决定,“哦,我就给这是一个机会”...请使用这些资源,当您有更多问题时再回来!

Unfortunately, AUPitch is not available on iOS. yoknapatawpha's reference to the Dirac library is a good one, but there's a lot more to Audio Unit implementation than one might assume from Justin's post. I'd recommend the following resources:

  • Apple's Audio Unit Hosting Guide for iOS - You must read this--nothing anyone says will make sense until you do.
  • Easily number two on this list, Chris Adamson's Core Audio Brain Dump.
  • This talk and set of tutorials from 360iDev - Easily the least referenced and most helpful guide I found along the way.
  • Michael Tyson's intro to the Remote I/O Unit - Easily the most referenced guide I found--but be warned, he leaves more than a few blanks for you to fill in on your own.
  • This helpful guide from Tim Bolstad
  • This is a helpful open-source project I that found helpful to pick apart.
  • Another project I picked apart in my learning.
  • And, a third...
  • There are also plenty of sample projects in the SDK's example code. Most are quite ambitious, and can be nothing better than labyrinthine if you're not experienced with C++. Excellent resources, though, if you've the know-how. If you're confident, check out aurioTouch--this shows you the structures necessary to pass audio off to something like Dirac.
  • And, make sure to utilise the coreaudio-api mailing list, as well.

Were I to go back and start from scratch, I wouldn't touch anything until I'd thoroughly read the first three. The Apple docs can be a pain to sort through, but read the one referenced here cover to cover. I can't count the number of things that didn't work for me that I only found a solution for when I realised I'd missed that detail in the Audio Unit Hosting Guide by just deciding, "Oh, I'll just give this a shot"... Do use those resources, and come back when you've got more questions!

感性 2024-10-18 16:08:08

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

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

I can't find a definitive statement in the Apple docs (check here) but I'm pretty certain that most of the AudioUnits supplied with OSX are unavailable in iOS. (This topic has also come up several times on the Core Audio mailing list.)

For an audio pitch-shifting solution on iOS, I would recommend Dirac 3 or the Rubber Band library.

老旧海报 2024-10-18 16:08:08

如果您找不到示例,那么使用此 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
};

祝你好运

if you find no sample, all you have to do to use this au is to create an au graph/renderer, then add the au you want, set its parameters, render, etc... i'm assuming there are examples provided by apple which walk you through this.

from there:

see AudioUnitParameters.h of the sdk you're targeting for documentation of each parameter for the system AUs.

an excerpt of what to look for:

// 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
};

good luck

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文