1 个不稳定版本
0.1.1 | 2021 年 1 月 14 日 |
---|
#737 in 音频
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