获得" pan"三维空间中的声音

时间:2016-08-01 18:05:45

标签: c++ audio 3d

我目前正在编写一个简单的3D音响系统,但是我被卡住了。

问题是: 我在空间中有一个点,声音来自哪里,当然我有听众,有他的观点和方向。

距离不是问题,它运作得很好,但是当我想要计算声音的平移(左/右多少)时,这是一场彻底的灾难。

我在互联网上搜索过,但我找不到任何可用的解决方案,然后我尝试用三角形和东西自己计算,但你不想知道结果是什么是。

我不会显示代码,因为我已经写了三次,每个版本都无法使用。

我不希望你必须给我代码,如果我得到一个数学解决方案,我会很高兴。如果声音是从相机左侧或右侧多少,我想得到。

我在c ++ 11工作,声音库是Audiere。

编辑: 感谢willywonkadailyblah我找到了一些解决方案。你可以在这里观看: Get x position of sound from camera

使用点积我可以得到三角形的cos alpha然后用一个简单的pitagoras定理我可以得到距离(A)。

最后,我将pandistance与听觉距离分开并乘以声音距离。

1 个答案:

答案 0 :(得分:1)

您可以计算摄像机方向的乘积以及连接摄像机和声源的矢量。这给出了矢量之间角度的余弦。如果点积比零更接近于零,则声源更靠近侧面"比在前面"。