OpenAL利用HRTF算法用立体声耳机伪造环绕声。但是,有一个important dependency between HRTF and the shape of the users head and ears。
简化,这意味着:如果您的头部/耳朵与他们实施的标准HRTF功能相差太大,环绕声效果会逐渐变为无聊的立体声。
我还没有找到一种方法来调整导致HRTF算法的各种因素,例如头部直径,耳廓/外耳尺寸,耳朵到耳朵距离,鼻子长度和影响HRTF的其他重要特性。
有没有任何已知的方法来设置这些参数以获得最佳的环绕声体验?
答案 0 :(得分:8)
我不相信你可以改变OpenAL中的HRTF。你当然不能通过输入鼻子或耳廓大小等参数值来做到这一点。找出你的HRTF的唯一方法是将一些非常小巧,非常精确的麦克风放入耳中,进入消声室,并在头部周围的每个角度进行频率响应测量。显然这是耗时,昂贵且不切实际的。能够通过测量你的头部来计算你的HRTF真是太棒了,但不幸的是,声学并不那么具有确定性,而你的耳朵对你所指出的不准确性非常敏感。我认为OpenAL HRTF是基于一些KEMAR假头测量(these或许?)。
所以,我认为简短的回答是你无法改变OpenAL的HRTF。因为HRTF是一个如此复杂的功能,你的耳朵非常敏感,所以没有准确的方法来用参数值来近似它。
答案 1 :(得分:0)
您可以通过优化HRTF来制作“配置游戏”。如果任何虚拟环绕耳机或声卡允许您调整它们以适合您的个人HRTF,我一直在寻找问题的答案。
想法:您可以改变不同的HRTF变量并播放声音。用户必须闭上眼睛,将鼠标移动到他认为声音来自的方向。你衡量他是多么正确。 您可以使用类似薄板样条或统计曲线拟合的图形来绘制精度结果,并对多维HRTF空间的不同区域进行采样以优化解决方案。这将是一种“强力”方法,可以找到一个不必要准确的解决方案,但是用户有耐心优化他的个人HRTF。
根据OpenALSoft源代码中的readme,它使用32样本卷积滤镜,您可以使用自定义HRTF样本创建。
答案 2 :(得分:0)
看起来现在可能了。我偶然发现了this comment,它描述了如何使用hrtf_tables来近似你自己的耳朵。谷歌正在向我展示一些名为hrtf-path的结果,但我不确定那是什么。