dowdiness/moondsp/dsp does not have a README file
pub(open) trait ArithSym {
fn constant(Double) -> Self
fn mul(Self, Self) -> Self
fn mix(Self, Self) -> Self
fn clip(Self, Double) -> Self
}pub(open) trait StereoFilterSym : StereoSym + FilterSym {
fn stereo_biquad(Self, BiquadMode, Double, Double) -> Self
}pub(open) trait StereoSym : DspSym {
fn pan(Self, Double) -> Self
fn stereo_gain(Self, Double) -> Self
fn stereo_clip(Self, Double) -> Self
fn stereo_mixdown(Self) -> Self
fn stereo_output(Self) -> Self
}pub struct Adsr {
// private fields
}
#alias(new)
fn Adsr::Adsr(attack_ms~ : Double, decay_ms~ : Double, sustain~ : Double, release_ms~ : Double) -> Adsrpub struct AudioBuffer {
// private fields
}
#alias(new)
fn AudioBuffer::AudioBuffer(data : FixedArray[Double]) -> AudioBuffer#alias(every)
fn AudioBuffer::all(self : AudioBuffer, predicate : (Double) -> Bool raise?) -> Bool raise?#alias(exists)
fn AudioBuffer::any(self : AudioBuffer, predicate : (Double) -> Bool raise?) -> Bool raise?fn Biquad::update(self : Biquad, context : DspContext, mode : BiquadMode, cutoff : Double, q : Double) -> Boolfn Clip::process(self : Clip, context~ : DspContext, buffer~ : AudioBuffer, threshold~ : Double) -> Unitpub struct DelayLine {
// private fields
}
#alias(new)
fn DelayLine::DelayLine(max_delay_samples : Int, delay_samples? : Int, feedback? : Double) -> DelayLinefn DemoSource::tick_source(self : DemoSource, source_id~ : Int, freq_hz~ : Double, sample_rate~ : Double) -> Doublepub struct DspContext {
// private fields
}
#alias(new)
fn DspContext::DspContext(sample_rate~ : Double, block_size~ : Int) -> DspContextfn Gain::process(self : Gain, context~ : DspContext, buffer~ : AudioBuffer, amount~ : Double) -> Unitfn Mix::process(self : Mix, context : DspContext, output : AudioBuffer, input : AudioBuffer) -> Unitfn Oscillator::process(self : Oscillator, context~ : DspContext, output~ : AudioBuffer, freq_hz~ : Double) -> Unitfn Oscillator::process_waveform(self : Oscillator, context~ : DspContext, output~ : AudioBuffer, waveform~ : Waveform, freq_hz~ : Double) -> Unitfn Oscillator::tick_waveform(self : Oscillator, waveform~ : Waveform, freq_hz~ : Double, sample_rate~ : Double) -> Doublefn Pan::process(self : Pan, context~ : DspContext, input~ : AudioBuffer, left_output~ : AudioBuffer, right_output~ : AudioBuffer, position~ : Double) -> Unitpub struct ParamSmoother {
// private fields
}
#alias(new)
fn ParamSmoother::ParamSmoother(initial : Double, smoothing_ms : Double, sample_rate : Double) -> ParamSmootherfn ParamSmoother::from_context(initial : Double, smoothing_ms : Double, context : DspContext) -> ParamSmootherfn ParamSmoother::set_smoothing_time(self : ParamSmoother, smoothing_ms : Double, sample_rate : Double) -> Unitfn ParamSmoother::set_smoothing_time_from_context(self : ParamSmoother, smoothing_ms : Double, context : DspContext) -> Unitfn is_finite(value : Double) -> Boolfn is_finite_positive(value : Double) -> Boolfn[T : ArithSym] lin_map(input : T, in_lo : Double, in_hi : Double, out_lo : Double, out_hi : Double) -> Tfn pan_left_gain(position : Double) -> Doublefn pan_right_gain(position : Double) -> Doublefn stereo_shape() -> IntMoonBit DSP audio engine
Dependencies