【问题标题】:Is it possible to make a AUv3 extension of type 'aufc' (kAudioUnitType_FormatConverter)?是否可以制作“aufc”(kAudioUnitType_FormatConverter)类型的 AUv3 扩展?
【发布时间】:2021-06-21 13:47:58
【问题描述】:

我写了一个听起来比AvAudioUnitTimePitch.好得多的时间拉伸算法我正在使用AVAudioEngine,围绕它制作一个iOS应用程序,我想我可以将我的算法插入到AUv3扩展中,然后简单地替换AvAudioUnitTimePitch.

但是,阅读文档似乎这种方法可能是不可能的,因为时间拉伸不是实时效果,因此AVAudioUnitTimePitch 是“aufc”类型(kAudioUnitType_FormatConverter). 创建自定义音频扩展的文档只提到四种类型,'aufc'不是其中之一,Xcode中的模板只支持四种类型。

一线希望是,在尝试实例化一个空白扩展时,我可以设置componentDescription.componentType = kAudioUnitType_FormatConverter,并且实例化显然是成功的,尽管这可能被证明是一个死胡同。

有没有人成功地制作了“aufc”的 v3 扩展?鉴于我已经围绕 AVAudioEngine, 编写了大量代码,如果 AUv3 扩展不可行,还有其他推荐的方法来做我想做的事情吗?

【问题讨论】:

    标签: ios avaudioengine auv3 avaudiounit


    【解决方案1】:

    经过几天的实验,我发现完全可以让自己的时间来拉伸 AUv3 音频单元。 AU 负责从上游源拉取帧,指定要拉取的帧数并提供时间戳。

    当调用AUInternalRenderBlock 从上游拉帧时,最难弄清楚的是为mSampleTime 设置正确的AudioTimeStamp 值。正如文件所述,当时间拉伸时,您从下游收到的时间戳采样时间将毫无意义。

    我认为所使用的扩展类型——“aufc”与“aufx”不会有任何影响。

    【讨论】:

    • 您已经在商店中公开了您的 AUv3 了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    相关资源
    最近更新 更多