11 个版本 (5 个稳定)
1.4.0 | 2024年1月17日 |
---|---|
1.3.0 | 2023年5月22日 |
1.2.1 | 2023年3月22日 |
1.2.0 | 2022年10月22日 |
1.0.0-alpha.3 | 2022年1月15日 |
在 音频 中排名第 170
每月下载量 178
在 15 个库中使用 (6 个直接)
35KB
556 代码行
augmented_oscillator
非常简单的振荡器实现。
示例
正弦振荡器
let sample_rate = 44100.0;
let mut osc = augmented_oscillator::Oscillator::sine(sample_rate);
osc.set_frequency(40.0); // set freq. in Hz
let _sample = osc.next_sample(); // tick the oscillator forward
波形表振荡器
use augmented_oscillator::{Oscillator, wavetable::WaveTableOscillator};
let sample_rate = 44100.0;
// let mut osc = WaveTableOscillator::new(vec![/* your wave table data */]);
// You can either ^^^^ provide your own table (and update it at runtime) or generate a table
// of a certain length (100 sample here) from a function oscillator
let mut osc = WaveTableOscillator::from_oscillator(Oscillator::sine(sample_rate), 100);
osc.set_frequency(40.0); // set freq. in Hz
let _sample = osc.next_sample(); // tick the oscillator forward
自定义振荡器生成函数
let sample_rate = 44100.0;
let mut osc = augmented_oscillator::Oscillator::new_with_sample_rate(
sample_rate,
move |phase: f32| phase.sin()
);
osc.set_frequency(40.0); // set freq. in Hz
let _sample = osc.next_sample(); // tick the oscillator forward
许可证:MIT
依赖项
~0.5–1.2MB
~26K SLoC