如何将 PCM 数据加载到 AudioKit 中?

How to load PCM data into AudioKit?

我是 AudioKit 新手。我已经完成了这些示例,这些示例非常具有指导意义且简单明了。我想要做的是连接一个现有的 iOS 应用程序,其中我有可用的 PCM 数据并将其传递到 AudioKit,以便我可以添加效果。我以为我可以为此使用 AKNode,但我不知道如何加载简单数组。

我还查看了 AKMicrophone 和 AKStereoInput 以为我可以覆盖它们,但它们似乎使用 AVAudioNode 的。

我想我在这里遗漏了一些简单的东西?如何将我的 PCM 数据加载到 AudioKit 中?谢谢!

问题是节点需要能够在下游节点请求时提供恒定的数据流。所以你需要创建一个生成器节点。而不是查看从硬件获取数据的麦克风。我首先查看 AKOscillatorDSP.mm 并对其进行修改:

void YourDSP::process(AUAudioFrameCount frameCount, AUAudioFrameCount bufferOffset) {

    for (int frameIndex = 0; frameIndex < frameCount; ++frameIndex) {
        int frameOffset = int(frameIndex + bufferOffset);

        float temp = 0;
        for (int channel = 0; channel < _nChannels; ++channel) {
            float *out = (float *)_outBufferListPtr->mBuffers[channel].mData + frameOffset;

            *out = ... whatever your magic is ...
        }
    }
}