Expand description
Combine different back-ends for audio input, audio output, midi input and midi output, mostly for offline rendering and testing.
Support is only enabled if rsynth
is compiled with the “backend-combined”
feature, see the cargo reference for more information on setting cargo features.
The run
function can be used to run a plugin and read audio and midi from the
inputs and write audio and midi to the outputs.
Currently, the following inputs and outputs are available:
- Dummy:
AudioDummy
: dummy audio input (generates silence) and output andMidiDummy
: dummy midi input (generates no events) and output - Hound:
HoundAudioReader
andHoundAudioWriter
: read and write.wav
files (behind the “backend-combined-hound” feature) - Rimd:
RimdMidiReader
andRimdMidiWriter
: reand and write.mid
files (behind the “backend-combined-rimd” feature, only available when usingrsynth
from sources, not from crates.io) - Memory:
AudioBufferReader
andAudioBufferWriter
: read and write audio from memory - Testing:
TestAudioReader
andTestAudioWriter
: audio input and output, to be used in tests
Modules
- Dummy backend that does nothing, useful for testing.
- Backend for reading and writing
.wav
files, based on thehound
crate. - In-memory backend, useful for testing.
Structs
- A wrapper around a midi writer that implements
EventHandler<Timed<RawMidiEvent>>
by queueing the events, which can then be written to the encapsulatedMidiWriter
by callingstep_frames
. - An audio reader, useful for testing.
- An audio writer, useful for testing.
- A midi reader, useful for testing.
- A midi writer, useful for testing.
Enums
- The error type that represents the errors you can get from the
run
function.
Constants
Traits
- Define how audio is read.
- Define how audio is written.
Functions
- Run an audio renderer with the given audio input, audio output, midi input and midi output.