Very simple implementation of an oscillator.
rust
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
```rust use augmented_oscillator::{Oscillator, wavetable::WaveTableOscillator};
let samplerate = 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::fromoscillator(Oscillator::sine(samplerate), 100); osc.setfrequency(40.0); // set freq. in Hz let sample = osc.nextsample(); // tick the oscillator forward ```
rust
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
License: MIT