Expand description

Provides abstractions for implementing:

  • Audio processing nodes
  • MIDI processing nodes
  • Audio buffers

An audio processor implemented with these traits may work with multiple sample types, audio buffer types and audio processing back-ends.

Start looking at AudioProcessor, then have a look at AudioBuffer and MidiEventHandler.

Running the audio processors as CLIs, GUIs, VSTs or CPAL threads

See [audio_processor_standalone]

Running a graph of audio processors

See [audio_processor_graph]

AudioProcessor implementations

See: https://github.com/yamadapc/augmented-audio/

Re-exports

pub use num;
pub use audio_buffer::AudioBuffer;
pub use audio_buffer::InterleavedAudioBuffer;
pub use audio_buffer::OwnedAudioBuffer;
pub use audio_buffer::VecAudioBuffer;
pub use midi::MidiEventHandler;
pub use midi::MidiMessageLike;
pub use midi::NoopMidiEventHandler;
pub use simple_processor::BufferProcessor;
pub use simple_processor::SimpleAudioProcessor;

Modules

Atomic F32 implementation with num trait implementations

Provides an abstraction for audio buffers that works for [cpal] and vst layouts

Provides an abstraction for MIDI processing that works for stand-alone and vst events

Parameters for AudioProcessor

Simpler audio processor trait, ingesting sample by sample

Structs

Simple atomic floating point variable with relaxed ordering.

Simple atomic floating point variable with relaxed ordering.

Options provided to the audio-processor before calling process.

An audio-processor which doesn’t do any work.

An audio-processor which mutes all channels.

Traits

Represents an audio processing node.

Generic trait for floating point numbers

Auto-implemented object version of the audio-processor trait.

Auto-implemented object version of the audio-processor trait.

Defines an additive identity element for Self.