augmented_oscillator

Very simple implementation of an oscillator.

Examples

Sine 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

Wave-table oscillator

```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 ```

Custom oscillator generator function

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