Expand description
WDF circuit elements — re-exported from pedalkernel-rt.
This module re-exports all element types, traits, and implementations from
the pedalkernel-rt runtime crate. The canonical implementations live there
(no_std compatible); this module adds model-DB-dependent lookup functions
via crate::model_lookup.
Modules§
- nonlinear
- Nonlinear WDF root elements: Diodes, JFETs, MOSFETs, Zener diodes, OTAs.
Structs§
- Adsr
Envelope - ADSR envelope generator for controlling VCA/VCF.
- AllPass
Filter - First-order all-pass filter with variable cutoff frequency.
- BbdDelay
Line - BBD delay line processor.
- BbdModel
- BBD delay line model parameters.
- BjtGummel
Poon Root - 3-port R-type adaptor for Gummel-Poon BJT.
- BjtRoot
- BJT as a single-port WDF root (like TriodeRoot for tubes).
- BjtTwo
Port - 2-port BJT for the multi-NL grouped solver.
- Capacitor
- Capacitor — energy-storage element.
- Delay
Line - Generic delay line: a ring buffer with WDF-compatible ports.
- Diff
Pair Root - Diff-pair macromodel for ladder filter stages (Moog/303/Korg).
- Diode
Model - Diode model parameters derived from the Shockley equation.
- Diode
Pair Root - Anti-parallel diode pair at the tree root.
- Diode
Root - Single diode at the tree root (asymmetric clipping).
- Ebers
Moll TwoPort - Simplified Ebers-Moll BJT model for deterministic-cost NR evaluation.
- Envelope
Follower - Envelope follower for dynamics-based modulation.
- Explicit
Diode Pair Root - Anti-parallel diode pair WDF root using the explicit Wright Omega solver.
- Explicit
Diode Root - Single diode WDF root using the explicit Wright Omega solver.
- Feedback
Config - Configuration for a feedback pot in an op-amp gain stage.
- Gummel
Poon Model - Gummel-Poon BJT model parameters.
- Inductor
- Inductor — energy-storage element.
- JaCore
Model - JaMagnetizing
Root - JaState
- Jfet
Model - JFET model parameters in standard SPICE Level 1 parameterization.
- Jfet
Root - JFET nonlinear root for WDF trees.
- Jfet
Variable Resistor - JFET operating as a voltage-controlled variable resistor.
- Lfo
- Low Frequency Oscillator for modulation effects.
- Mosfet
Model - Enhancement-mode MOSFET model parameters.
- Mosfet
Root - Enhancement-mode MOSFET nonlinear root for WDF trees.
- OpAmp
Model - Op-amp model parameters for WDF integration.
- OpAmp
Root - Models op-amp behavior in two topologies:
- OtaModel
- CA3080 OTA model parameters.
- OtaRoot
- OTA nonlinear root for WDF trees.
- Pentode
Model - Pentode model parameters using a screen-referenced Koren equation.
- Pentode
Root - Pentode nonlinear root for WDF trees.
- Pentode
Three Port - 3-port Koren pentode for use with the grouped multi-port NR solver.
- Phaser
- Multi-stage all-pass phaser.
- Photocoupler
- Photocoupler element with Persyn-style two-rate CdS dynamics.
- Photocoupler
Model - Photocoupler (Vactrol) model parameters.
- Power
Supply - Power supply sag model for tube amp B+ rail behavior.
- Resistor
- Ideal resistor — absorbs everything, reflects nothing.
- Slew
Rate Limiter - Models op-amp slew rate limiting for physically accurate WDF processing.
- Solver
Stats Snapshot - Solver
Trace Entry - A single entry in the solver trace buffer, recorded per NR solve call.
- Spring
Model - Named spring-tank model parameters (Accutronics / RE-201 grounded).
- Spring
Tank - Spring reverb tank: a sum of detuned dispersive [
SpringLine]s with an output DC blocker and a per-instance dwell/drive input trim. - Synth
Processor - A complete monophonic synth voice combining VCO, VCF, VCA, and ADSR.
- Tap
- A read-only tap into a
DelayLine. - Tape
Head Voltage Root - Triode
Model - Triode model parameters using the Koren equation.
- Triode
Root - Triode nonlinear root for WDF trees.
- Triode
Three Port - 3-port Koren triode for use with the grouped multi-port NR solver.
- Vari
MuModel - Variable-mu triode model parameters using the Raffensperger equation.
- Vari
MuThree Port - 3-port variable-mu triode for use with the grouped multi-port NR solver.
- Vari
MuTriode Root - Variable-mu triode nonlinear root for WDF trees.
- Vca
- Exponential VCA modeled after the SSM2164/V2164.
- Vcf
- 4-pole resonant lowpass filter modeled after the CEM3320/AS3320.
- Vco
- Audio-rate VCO modeled after the CEM3340/AS3340.
- Voltage
Source - Ideal voltage source (e.g. input signal injector).
- WdfJa
Magnetizing - WdfTape
Head Voltage - Zener
Model - Zener diode model parameters.
- Zener
Pair Root - Anti-parallel zener pair at the tree root.
- Zener
Root - Zener diode at the tree root.
- Zone
Boundary - A zone boundary along the virtual delay path.
Enums§
- Diode
Solver Method - Per-instance diode solver method selector.
- Envelope
Stage - ADSR envelope stages.
- Interpolation
- Interpolation mode for delay line read pointer.
- LfoWaveform
- LFO waveform shapes.
- Medium
- Physical storage medium model for the delay buffer.
- Medium
Preset - Pre-configured medium settings for common tape echo models.
- OpAmp
Mode - Op-amp nonlinear root for WDF trees.
- Rectifier
Type - Rectifier type — determines supply output impedance character.
- VcoWaveform
- VCO waveform outputs available from CEM3340-style oscillators.
Traits§
- Controlled
Resistance - Element with externally-controlled resistance.
- Modulator
- Modulation source that generates control signals.
- WdfLeaf
- One-port WDF leaf element (resistor, capacitor, inductor, voltage source).
- WdfRoot
- Nonlinear root element that terminates the WDF tree.
Functions§
- bbd_
soft_ clip - BBD soft clipping characteristic.
- disable_
grouped_ residual_ log - Disable per-iteration residual logging and return the accumulated residuals.
- disable_
solver_ trace - Disable per-solve tracing and return the accumulated trace entries. Returns an empty vec if tracing was not enabled.
- enable_
grouped_ residual_ log - Enable per-iteration residual logging for the grouped solver (std + test
diagnostic). Each grouped-NR iteration appends its residual norm so callers
can assert the Armijo line search produces a monotone non-increasing
residual. Call
disable_grouped_residual_logto retrieve the buffer. - enable_
solver_ trace - Enable per-solve tracing. Each NR solve will append a
SolverTraceEntryto an internal buffer pre-allocated withcapacityentries. Calldisable_solver_trace()to retrieve and consume the buffer. - explicit_
diode_ pair - Explicit closed-form reflected wave for an anti-parallel diode pair.
- explicit_
single_ diode - Explicit closed-form reflected wave for a single diode.
- reset_
solver_ stats - solver_
stats_ snapshot - tape_
saturation - Tape magnetic hysteresis saturation.
- wright_
omega - Compute the Wright Omega function ω(x), the real branch of the solution to
ω + ln(ω) = x.