audio-processor-standalone

Augmented Audio: Audio Processor Standalone

crates.io docs.rs


This is part of https://github.com/yamadapc/augmented-audio. Please review its goals. This crate builds upon audio_processor_traits::AudioProcessor.

Provides a stand-alone audio-processor runner for AudioProcessor implementations.

Navigating the documentation

The gist of it is:

  1. Implement AudioProcessor or SimpleAudioProcessor from audio_processor_traits
  2. Call audio_processor_main(processor)
  3. You now have a CLI for rendering online (CPAL, use your mic) or offline (pass a file through your processor & write the results to a .wav)

A VST may also be generated through the standalone_vst module and by enabling the vst feature flag.

Example usage

Declare the AudioProcessor:

```rust use audioprocessortraits::{AudioBuffer, AudioProcessor};

struct GainProcessor {}

impl GainProcessor { fn new() -> Self { GainProcessor {} }}

impl AudioProcessor for GainProcessor { type SampleType = f32; fn process>(&mut self, data: &mut BufferType) { for sample in data.slice_mut() { *sample = *sample * 0.4; } } } ```

Declare the main function:

rust fn main() { let processor = GainProcessor::new(); audio_processor_standalone::audio_processor_main(processor); }

Usage of the command-line

```rust audio-processor-standalone

USAGE: my-crate [OPTIONS]

FLAGS: -h, --help Prints help information -V, --version Prints version information

OPTIONS: -i, --input-file An input audio file to process --midi-input-file If specified, this MIDI file will be passed through the processor -o, --output-file If specified, will render offline into this file (WAV) ```

License: MIT