#sound #audio-processing #filter #fft

gaborator

Rust API for Gaborator 音频处理库

1 个不稳定版本

0.1.1 2021 年 1 月 14 日

#737 in 音频

AGPL-3.0

63KB
266 代码行

gaborator

加博拉托尔是一个 C++ 库,用于将音频样本转换为特殊频谱表示,该表示根据是否为低音或高音使用不同的 FTT 大小(这里简化了)。这种转换是可逆的。有关更多信息,请参阅网站

这个 crate 是基于 cxx 的该库的包装器,允许 Rust 代码使用加博拉托尔(尽管效率较低)。

限制

  • f32 仅支持
  • 没有考虑性能
  • 一些可覆盖或低级细节没有暴露
  • 没有可视化
  • crate 的稳定性可能有问题 - 我只是遵循了最简单的方法。
  • 缓冲区长度计算中的算术溢出未进行检查。
  • 除了包含的示例之外,没有真正进行测试。例如,应该支持流式传输,但我自己还没有尝试。

目前基于 Gaborator 版本 1.6。将 Gaborator 的源代码包含在 crate 中。

可用示例

  • 相位信息随机化器,创建类似回声的音频效果。
  • 将分析的声音转换为 (sample,band,magnitude,phase) CSV 文件,并将其转换回。

加博拉托尔的许可证是 Affero GPL 3.0。

此 crate 中的粘合代码(未复制 Gaborator 的文档注释)可视为 MIT 或 AGPL-3.0 许可,由您选择。

许可证:AGPL-3.0

依赖项

~0.6–2MB
~31K SLoC