3个版本
0.1.2 | 2023年1月23日 |
---|---|
0.1.1 | 2023年1月17日 |
0.1.0 | 2023年1月15日 |
在音频类中排名#464
每月下载量31次
66KB
1.5K SLoC
microdsp
microdsp是使用Rust编写的DSP算法和实用工具的集合。代码与no_std
兼容,适合在嵌入式系统中使用。提供的算法包括
- 使用MPM算法的单声道音高检测。支持降采样和重叠窗口。
- 使用频谱流新颖性进行音频起始检测。用于检测瞬态和“声音的开始”。支持降采样和重叠窗口。
- 归一化最小二乘法自适应滤波器。例如,可用于信号消除和时间延迟估计。
要查看microdsp在微控制器上的实际应用,请查看这些视频。
安装
将以下行添加到您的Cargo.toml文件中
microdsp = "0.1"
microdsp与no_std
兼容,依赖于alloc
。在为目标构建没有默认分配器时,用户必须提供。这可以通过稳定版Rust 1.68及更高版本使用#[global_allocator]
和#[default_alloc_error_handler]
来实现。
用法
请参阅包文档。
演示
Cargo示例
示例文件夹examples
中包含一些可以运行的演示,可以通过以下方式运行
cargo run --example [filename without .rs extension]
例如 cargo run --example mpm
. 其中一些使用 rust-portaudio
进行实时音频输入。如果你遇到与 PortAudio 相关的问题,你可能在这里找到一些提示 [链接].
嵌入式
在 microdsp-zephyr-demos 仓库中包含了一些示例,展示了如何在微控制器上使用 microdsp 和 Zephyr 进行实时音频处理。
许可证
本项目采用 MIT 许可证发布。
依赖项
~2MB
~94K SLoC