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 音频

MIT许可证

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