#音频处理 #声音 #样本 #wav #处理 #能力 #引擎

bae_rs

宽泛音频引擎(BAE)提供了处理声音和wav文件的能力,适用于视频游戏和数字音频工作站(DAW)等应用。

9个版本 (4个破坏性版本)

0.13.2 2020年5月9日
0.13.1 2020年5月9日
0.12.1 2020年3月22日
0.11.0 2020年3月12日
0.9.3 2020年2月27日

#925 in 音频

每月36次下载

MITLGPL-3.0

725KB
2K SLoC

包含 (WOFF字体,99KB) fontawesome-webfont.woff,(WOFF字体,78KB) fontawesome-webfont.woff2

宽泛音频引擎(BAE)

Latest version Documentation License

宽泛音频引擎(BAE)提供了处理声音和音频文件的能力,适用于视频游戏和数字音频工作站(DAW)等应用。

这个引擎的诞生源于对其他音频系统的不满,这些系统由于包含大量的大型单体结构和特定架构的系统,导致代码难以阅读。我明白这些结构和系统之所以如此,但无论如何,在大多数情况下它们都是令人头疼的。通过这个音频引擎,我打算创建一个文档完善的接口,以便快速开始编写代码和计算样本。

要开始使用,首先可以查看文档,但此外我还建议您查看GeneratorModifierSimpleSound结构,以帮助您入门。在BAE的世界里,声音源(例如简单的正弦波、WAV文件等)被称为“生成器”,而滤波器(例如低通、混响等)被称为“修饰器”。这种命名方式没有特别的理由,只是因为我喜欢它们。利用GeneratorModifierSimpleSound,您可以开始构建一个简单的系统来生成您的样本。实际上,您可以从Generator本身获取样本,这种功能是允许的,但为了更高级的声音和系统,您可能需要一个更复杂的方式来表示这些系统。为此,存在Sound特性,它能够将多个GeneratorModifier作为一个单一单元来操作,就像在数字合成器中看到的那样。

依赖项

  • lazy_static:用于初始化使用WAV表的一些系统的大型数组。
  • petgrah:用于ComplexSound结构所使用的图结构。
  • rand:用于生成白噪声。
  • version-sync:确保crate版本号在各个位置正确。
  • wav:用于读取和写入WAV文件。

未来扩展

不分先后

  • 生成器
  • 修饰器
  • 功能
    • 旁链(?)
    • FFT(使用FFTW?)
    • 读取/写入多种音频格式(不仅仅是WAV)

许可证

本库采用MIT许可证。有关详细内容,请参阅此处

依赖项

~3.5MB
~46K SLoC