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 forBox<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.