Rust Audio Engine
!! This is a work in progress !!
This is an audio engine, inspired by the Web Audio API.
Oscillator Example
More examples can be found here
-
Create an engine
use ; let sample_rate = 44_100; let = create_engine; -
Create an oscillator
let frequency = 440.0; let mut oscillator = new; -
Set the gain on the oscillator
let gain = from_db; oscillator .gain .set_value_at_time; -
Connect to output
oscillator.connect_to_output; -
Start the context
context.start; -
Run the process to get samples. This will vary depending on whether you wish to run the engine in realtime (e.g. using CPAL) or offline (e.g. to a file). The engine doesn't make any assumptions, and will simply wait to be asked to process.
All audio buffers are assumed to be non-interleaved. So if the audio that comes from your soundcard is interleaved, it will need to be de-interleaved first.
let output_buffer = /*create an audio buffer (see `OwnedAudioBuffer`) or use the one supplied by your audio device in its callback*/ process.process ;
To run an example
To run the tests
To run the benchmarks