5个版本
0.3.1 | 2022年12月20日 |
---|---|
0.3.0 | 2022年12月20日 |
0.2.4 | 2022年12月18日 |
0.2.3 | 2022年12月18日 |
0.2.2 | 2022年12月18日 |
544 in 音频
41KB
871 代码行
Rust音频基本工具(rabu)
一些基本的音频工具和处理器。这些工具旨在简单易用,同时尽可能表达出更多的意图。
完整的文档可以在docs.rs上找到。
示例
强类型单位可以轻松相互转换
use rabu::units::{SampleRate, Samples, Seconds};
let seconds = Seconds::from(3.0);
let sample_rate = SampleRate::from(44100);
let samples = seconds.to_samples(sample_rate);
assert_eq!(samples, Samples::from(132_300));
音频缓冲区可以按有意义的方式进行使用
use rabu::buffer::Buffer;
use rabu::units::{Channels, Samples};
let mut buffer = Buffer::allocate(Channels::from(2), Samples::from(4));
for channel in buffer.iter_chans_mut() {
for sample in channel.iter_mut() {
*sample = 1.0;
}
}
lib.rs
:
示例
强类型单位可以轻松相互转换
use rabu::units::{SampleRate, Samples, Seconds};
let seconds = Seconds::from(3.0);
let sample_rate = SampleRate::from(44100);
let samples = seconds.to_samples(sample_rate);
assert_eq!(samples, Samples::from(132_300));
音频缓冲区可以按有意义的方式进行使用
use rabu::buffer::Buffer;
use rabu::units::{Channels, Samples};
let mut buffer = Buffer::allocate(Channels::from(2), Samples::from(4));
for channel in buffer.iter_chans_mut() {
for sample in channel.iter_mut() {
*sample = 1.0;
}
}
依赖项
~0.3–0.9MB
~20K SLoC