3个版本 (1个稳定版)
1.3.0 | 2023年3月22日 |
---|---|
0.3.0 | 2023年3月22日 |
0.2.0 | 2022年9月29日 |
#7 在 #vst
每月下载量36次
在4个crate中使用(通过audio-processor-standalone-gui)
53KB
164 行
增强型音频库
尝试使用Rust进行音频编程的实验。
请将此存储库中的所有内容视为草稿。
⚠️ 目标
- 目标1: 学习并享受乐趣
- 这是目标#1,如果你最终依赖于此存储库中的任何crate,请务必记住这一点
- 目标2: 构建辅助开发的工具
- 目标3: 在Rust中进行音频软件GUI的实验
许可证
此存储库的大部分内容在MIT许可证下发布。
包含完整应用程序的一些目录在AGPLv3许可证下发布。请检查LICENSE
和README.md
文件。
📖 文档
⬇️ 二进制下载
💬 博客文章
- 简单的独立音频应用程序
- 效果和分析
📸 屏幕截图
👩 网页图形用户界面
🛠 Rust 库和工具
工作空间和构建
该项目使用 cargo 工作空间设置。在根目录下运行 cargo
命令应编译所有共享缓存的 crate。
要构建整个项目,请运行
git submodule update --init
cargo build
要运行测试
cargo test
在 OSX 上,你可能需要运行 ./scripts/test.sh
而不是该命令。
构建输出应在 target/debug
或 target/release
上。
打包应用程序和 VST
使用 ./scripts/dev.sh build
打包 VST。这将构建所有包,并使用 ./scripts/dev.sh build <path>
构建特定 crate 的输出。
循环器、节拍器和其它(flutter / macOS 构建)
请参阅 crates/apps
目录下的 README 中的说明。
在 Linux 上构建
由于这引入了所有可能的 rust crate,你需要安装相当多的依赖项。
请参阅 .github/workflows/default.yml
了解 Ubuntu 上所需的列表。
代码风格检查
cargo clippy
基准测试
将使用 criterion
慢慢添加基准测试。要运行基准测试,请使用
cargo bench
在 macOS 上进行性能分析
cd ./crates/oscillator
cargo instruments -t time --bench sine_oscillator_benchmark -- --bench
从基准测试生成火焰图
注意 我无法在 macOS 上使这工作
可以使用 cargo-flamegraph
生成火焰图
cargo install flamegraph
该工具可以用来运行 criterion 基准测试并生成火焰图
cargo flamegraph --bench sine_oscillator_benchmark -- --bench
快照测试音频处理器
请参阅docs/monorepo-tooling/SNAPSHOT_TESTING.md
。
调试功能
依赖关系
~16–40MB
~647K SLoC