带有AudioKit的SceneKit/ARKit中的位置音频

cgm*_*ier 5 audio ios scenekit audiokit arkit

我一直在探索Scene Kit/ARKit中的位置音频,并希望看看在这种情况下是否可以使用AudioKit从其更高级别的分析,声音生成,效果等工具中受益.

对于某些背景,SCNView附带AVAudioEnvironmentNode,AVAudioEngine和audioListener(SCNNode).这些属性已初始化,环境节点已配置到引擎.位置音频源通过SCNAudioPlayer添加到场景中,SCNAudioPlayer可以使用AVAudioNode进行初始化 - AVAudioNode必须连接到环境节点并具有单声道输出.

然后将SCNAudioPlayer添加到场景中的SCNNode,并根据其在场景中的位置以及audioListener节点的位置和方向自动修改AVAudioNode的输出.

我希望可以使用SCNView的AVAudioEngine属性初始化AudioKit,在引擎的节点图中配置SCNView的环境节点,使用AKNodes的AVAudioNode属性初始化SCNAudioPlayers,并确保所有源正确连接到环境节点.我已经开始修改AudioKit源代码,但是无法确定我需要调整哪些类以及如何将环境节点集成到AudioKit管道中.特别是我无法理解connectionPoints和outputNode属性.

有没有人相信这可能是不可能的,因为AudioKit是如何构建的,或者有关于方法的任何指示?

我当然乐意分享我的任何发现.

Aur*_*zka 1

AudioKit 在 AudioKit.swift 的第 38 行创建了自己的 AVAudioEngine 实例:

https://github.com/AudioKit/AudioKit/blob/master/AudioKit/Common/Internals/AudioKit.swift#L38

但它是开放的,所以应该可以用 SceneView 的音频引擎覆盖它。我看不出有什么可以阻止它。