Expand description
This module contains definitions of several different DSP primitives.
Structs§
- A Voltage-Controlled Amplifier (VCA)
- An iterator over a Device returned by Device::process
- An ADSR Envelope Generator
- An iterator builder for EnvParams
- Parameters for an Env. Note that the time parameters are not strictly time-accurate - the goal here is to give more of a qualitative feel for the range of the parameters than allow for precise timing. If precise timing is desired, the data displayed to the user can be refined on the UI side.
- A State-Variable Filter implementation
- Output of a Filt
- An iterater builder for FiltParams
- Parameters for a Filt
- An LFO
- A struct to package together the various LFO configuration options in one convenient struct that fits in 16 bits. We could get away with packing it in 8 bits, but we’ll use 16 to allow for future expansion
- An iterator builder for LfoParams
- A struct packaging together several slices to act as parameters for an LFO
- This wraps Osc, combining the oscillator with a mixer for each of the wave shapes and taking the gain of each wave as a parameter. This provides a pre-mixed output as a single signal.
- An iterator builder for MixOscParams
- A parameter pack for MixOsc.
- A signal mixer. This is a convenience device to mix several signals together easily. The number of signals to mix together is passed in the const-generic parameter
N
. - Wraps a Filt, with a series of additional parameters to make it easier to use and with many more modulation options. It takes parameters for low, band, and high-pass gain, and mixes the outputs together, and adds parameters to modulate the cutoff frequency with keyboard tracking, envelope, and velocity modulation.
- Input for a ModFilt
- An iterator builder for ModFiltInput
- An iterater builder for ModFiltParams
- A parameter pack for a [ModFiltFxP]
- A variable-frequency, audio-rate oscillator
- The output of an oscillator.
- An iterator builder for OscParams
- Parameters for an Osc
- A Ring Modulator and Mixer
- Input for a RingMod.
- An iterator builder for RingModInput
- An iterator builder for RingModParams
- Params for a RingMod
- A synced pair of MixOscs. The secondary oscillator will be synced to the primary oscillator.
- The output of a SyncedMixOscs device.
- An iterator builder for SyncedMixOscsParams
- This struct contains parameters for a synced oscillator pair
- A synced pair of Oscs. The secondary oscillator will be synced to the primary oscillator.
- Output from SyncedOscs
- An iterator builder for SyncedOscsParams
- Parameters for SyncedOscs
Enums§
- The LFO waveform in use
Traits§
- A DSP Device
Functions§
- Create a new EnvParamIter, which initially creates instances of EnvParams::default until calling the
with_*()
methods. - Construct a FiltParamIter
- Create a new LfoParamIter, which initially creates instances of LfoParams with frequency 1Hz, depth 1, and default LfoOptions until calling the
with_*()
methods. - Create a new LfoParamIter, which initially creates instances of LfoParams with frequency 1Hz, depth 1, and default LfoOptions until calling the
with_*()
methods. - Create a new ModFiltInputIter, which initially creates instances of [ModFiltInput::default] until calling the
with_*()
methods. - Construct a ModFiltParamIter
- Create a new OscParamIter, which initially creates instances of OscParams zero tuning offset and zero wave shaping (phase distortion) until calling the
with_*()
methods. - Create a new RingModInputIter, which initially creates instances of with zero signals for both the carrier and modulator until calling the
with_*()
methods. - Create a new RingModParamIter, which initially creates instances of RingModParams with the unity gain for the carrier signal and zero gain for the modulator and output signals
- Create a new SyncedMixOscsParamIter, which initially creates instances of SyncedMixOscsParams with the defaults for each
- Create a new SyncedOscsParamIter, which initially creates instances of SyncedOscsParams with the defaults for each