13个版本 (7个重大更新)
0.8.0 | 2024年1月17日 |
---|---|
0.7.0 | 2023年5月22日 |
0.6.0 | 2023年4月19日 |
0.5.0 | 2023年3月22日 |
0.1.0-alpha.4 | 2022年3月25日 |
#269 in 音频
96KB
1.5K SLoC
增强音频库
尝试使用Rust进行音频编程的实验。
将此存储库中的任何内容视为草稿。
⚠️ 目标
- 目标1: 学习并享受乐趣
- 这是目标#1,并且如果你最终依赖此存储库中的任何一个crate,那么牢记这一点非常重要。
- 目标2: 构建辅助开发的工具
- 目标3: 在Rust中实验音频软件GUI
许可证
此存储库的大部分内容根据MIT许可证发布。
某些包含完整应用的目录根据AGPLv3许可证发布。请参阅LICENSE
和README.md
文件。
📖 文档
⬇️ 二进制下载
💬 博文
📸 屏幕截图
👩 网页GUI
🛠 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
。
调试功能
依赖项
~0.9–3MB
~61K SLoC