33 个版本 (破坏性更新)

0.26.0 2022年1月7日
0.25.0 2021年9月13日
0.24.1 2021年8月12日
0.23.0 2021年7月12日
0.2.2 2019年11月18日

#581 in 音频

每月 32 次下载
3 个crates中 使用 (其中2个直接使用)

MIT 协议

2MB
10K SLoC

rg3d-sound

使用Rust编写的游戏和交互式应用音频库。

注意: 尽管这个crate的名称中包含 rg3d 前缀,但它可以独立使用,而不会出现任何问题。

主要功能

  • 泛型和空间声音源。
  • 内置大声音流支持。
  • 原始样本播放支持。
  • 支持WAV格式(非压缩)。
  • 支持Vorbis/ogg(使用 lewton)。
  • 支持HRTF,实现优秀的定位和双耳效果。
  • 混响效果。

示例

示例可以在 ./examples 中找到。确保使用 --release 标志运行示例,debug 版本运行非常慢,可能会导致输出声音撕裂。

支持的操作系统

  • Windows(DirectSound)
  • Linux(alsa)
  • macOS(CoreAudio)
  • WebAssembly(WebAudio)

HRTF

这个库完全支持HRTF,它使用由IRCAM HRIR数据库生成的HRIR球体。HRIR球体是通过用C++编写的工具hrir_sphere_builder生产的。找到适合您的HRTF非常重要,因为它们非常个性化,整体感知完全由正确使用HRTF来定义。

贡献

任何贡献都非常受欢迎!查看 Issues 页面以了解您如何帮助项目。

许可协议

MIT

参考资料

这个库的创建离不开这些人的工作。感谢大家!

  1. 数字信号处理和滤波器
  2. 物理音频信号处理
  3. 汉内斯·甘珀,“方位角、仰角和距离的头相关传递函数插值”,《美国声学学会杂志》第134卷,EL547(2013);doi: 10.1121/1.4828983
  4. 法比奥·P·弗莱兰德,路易斯·W·P·比斯卡伊诺,保罗·S·R·迪尼兹,“头相关传递函数(HRTFS)的插值:多源方法”
  5. IRCAM头相关脉冲响应数据库
  6. 混响
  7. 重叠加卷积 - 由于脉冲响应改变时在段边界处存在显著的失真,不再使用。
  8. 重叠保存卷积 - 当脉冲响应改变时,工作得更好,只有相位偏移问题,这些问题或多或少是可以接受的。
  9. OpenAL 规范 - 距离模型和一般设计考虑因素。
  10. http://csoundjournal.com/issue9/newHRTFOpcodes.html - 一些用于消除hrtf渲染器中点击声的想法
  11. https://phaidra.kug.ac.at/open/o:11024

依赖项

~13MB
~254K SLoC