dasp_signal 0.11.0

An iterator-like API for audio PCM DSP streams.
Documentation

Use the Signal trait to abstract over infinite-iterator-like types that yield Frames. The Signal trait provides methods for adding, scaling, offsetting, multiplying, clipping, generating frame iterators and more.

You may also find a series of Signal source functions, including:

  • equilibrium for generating "silent" frames.
  • phase for a stepping phase, useful for oscillators.
  • sine for generating a sine waveform.
  • saw for generating a sawtooth waveform.
  • square for generating a square waveform.
  • noise for generating a noise waveform.
  • noise_simplex for generating a 1D simplex noise waveform.
  • gen for generating frames of type F from some Fn() -> F.
  • gen_mut for generating frames of type F from some FnMut() -> F.
  • from_iter for converting an iterator yielding frames to a signal.
  • from_interleaved_samples_iter for converting an iterator yielding interleaved samples to a signal.

Working with Signals allows for easy, readable creation of rich and complex DSP graphs with a simple and familiar API.

Optional Features

  • The boxed feature (or signal-boxed feature if using dasp) provides a Signal implementation for Box<dyn Signal>.
  • The bus feature (or signal-bus feature if using dasp) provides the SignalBus trait.
  • The envelope feature (or signal-envelope feature if using dasp) provides the SignalEnvelope trait.
  • The rms feature (or signal-rms feature if using dasp) provides the SignalRms trait.
  • The window feature (or signal-window feature if using dasp) provides the window module.

no_std

If working in a no_std context, you can disable the default std feature with --no-default-features.

To enable all of the above features in a no_std context, enable the all-no-std feature.