#采样率 #绑定 #接口 #转换器 #r8brain #voxengo

r8brain-rs

r8brain音频重采样器绑定,由Voxengo的Aleksey Vaneev设计和实现

4个版本

0.3.5 2023年9月19日
0.3.4 2023年9月19日
0.3.3 2023年9月19日
0.3.2 2023年9月19日

#417 in 音频

MIT许可证

21KB
395

r8brain-rs

rust接口到r8brain免费重采样器:https://github.com/avaneev/r8brain-free-src

Voxengo的Aleksey Vaneev设计的采样率转换器

示例用法

use r8brain_rs::{PrecisionProfile, Resampler};

fn test() {
    let mut resampler = Resampler::new(48000.0, 96000.0, 4096, 2.0, PrecisionProfile::Bits24);

    let input = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0];
    let mut output = [0.0; 128];
    let output_len = resampler.process(&input, &mut output);
    let resampled = &output[..output_len];

    // do not be alarmed if you have to call .process() many times
    // before a non-empty slice is yielded. This is normal.
}

性能

在Macbook Pro M1上,单线程

test tests::benchmarks::resample_192k_to_44dot1k_24bit ... bench:       2,084 ns/iter (+/- 14) = 80 MB/s
test tests::benchmarks::resample_44dot1k_to_192k_24bit ... bench:      10,025 ns/iter (+/- 386) = 16 MB/s
test tests::benchmarks::resample_48k_to_192k_24bit     ... bench:       2,727 ns/iter (+/- 24) = 61 MB/s
test tests::benchmarks::resample_48k_to_96k_16bit      ... bench:       1,460 ns/iter (+/- 35) = 115 MB/s
test tests::benchmarks::resample_48k_to_96k_24bit      ... bench:       1,705 ns/iter (+/- 40) = 98 MB/s
test tests::benchmarks::resample_96k_to_48k_16bit      ... bench:         674 ns/iter (+/- 6) = 249 MB/s

无运行时依赖

~225KB