首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift:如何让位置音频更逼真地进行声音定位?

Swift:如何让位置音频更逼真地进行声音定位?
EN

Stack Overflow用户
提问于 2018-11-08 15:26:58
回答 1查看 255关注 0票数 1

我正在编写一些关于声音定位的应用程序,我使用SCNAudioPlayer中的.isPositionalSCNNode上生成空间音频。下面是我的代码:

代码语言:javascript
运行
复制
func spatialAudio(inputNode: SCNNode){
    let audio = SCNAudioSource(fileNamed: "source.wav")
    audio!.isPositional = true
    audio?.load()
    let player = SCNAudioPlayer(source: audio!)
    inputNode.addAudioPlayer(player)
}

但是空间音频的效果并不理想,用户很难对声源进行定位。有没有其他方法可以在Swift中生成更逼真的空间音频?

我听说过一些用于声音定位的算法,如头部相关传递函数(HRTF)、耳间时间差(ITD)和耳间电平差(ILD)。Swift的位置音频是否使用这些算法?如果没有,我怎么能改变音频来使用这些算法呢?

EN

回答 1

Stack Overflow用户

发布于 2019-10-23 17:15:40

对我来说,问题基本上是声音衰减太弱了。我可以移动到离震源10米或20米远的地方,它的声音几乎和我站在震源上面时一样大。这使得3D音频效果很难确定。我的解决方案是更改音频环境节点上的设置。你可以在你的SCNView上找到这个--它叫做audioEnvironmentNode

我发现以下设置提供了一个相当强的效果,但您可能希望尝试它们,以获得适合您的环境的效果:

代码语言:javascript
运行
复制
view.audioEnvironmentNode.distanceAttenuationParameters.maximumDistance = 2
view.audioEnvironmentNode.distanceAttenuationParameters.referenceDistance = 0.1
view.audioEnvironmentNode.renderingAlgorithm = .HRTFHQ

(如果您的3D场景在计算上特别昂贵,您可能希望使用HRTF而不是HRTFHQ,或者甚至使用其他不太精确但性能更高的算法。在我的情况下,音频质量比图形更重要。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53203094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档