Struct SpringModel
pub struct SpringModel {
pub num_springs: usize,
pub transit_ms: [f64; 6],
pub fc_hz: f64,
pub rt60_s: f64,
pub num_allpasses: usize,
pub ap_coeff: f64,
pub damping_fc_hz: f64,
pub hf_chirp_gain: f64,
}Expand description
Named spring-tank model parameters (Accutronics / RE-201 grounded).
Transit times, fC and RT60 are partly inferred (the primary datasheet
tables were 403-blocked at authoring time — flagged [A] in the example
provenance) and chosen from the published-class ranges in the design doc.
Fields§
§num_springs: usizeNumber of spring lines summed at the output.
transit_ms: [f64; 6]Per-spring transit time (ms) — the loop delay Td of each line. Slightly
detuned across springs to decorrelate. num_springs entries are used.
fc_hz: f64Dispersion transition frequency fC (Hz): group delay disperses below it.
rt60_s: f64Reverberation time RT60 (s) — sets the loop feedback gain.
num_allpasses: usizeNumber of stretched allpasses per spring (dispersion strength ∝ M·K). The JAES reference uses M=100; we ship 32 (≈11 ms group-delay dispersion across 300 Hz–2.4 kHz, a clear spring chirp) to hold a comfortable realtime margin (≥30x release — fidelity/cost OQ3).
ap_coeff: f64Stretched-allpass coefficient a (≈0.75 per JAES).
damping_fc_hz: f64Default damping-LPF cutoff (Hz) — how fast the tail darkens.
hf_chirp_gain: f64Reserved: HF-chirp cascade gain (OFF / 0.0 in v1 — OQ3, not hot path).
Implementations§
§impl SpringModel
impl SpringModel
pub fn type4() -> SpringModel
pub fn type4() -> SpringModel
Accutronics Type 4 — 17“ tank, Fender standard, long decay. transit ~33/37.5 ms [A], fC 4200 Hz, RT60 2.85 s.
pub fn type8() -> SpringModel
pub fn type8() -> SpringModel
Accutronics Type 8 — 9.25“ short tank, 3 springs, shorter decay. transit ~30/32/34 ms [A], fC 3500 Hz, RT60 1.8 s.
pub fn type9() -> SpringModel
pub fn type9() -> SpringModel
Accutronics Type 9 — 17“, 6-spring (3 coupled pairs), densest. transit ~33/36.5/40 ms [A], fC 4000 Hz, RT60 2.5 s.
pub fn re201_tank() -> SpringModel
pub fn re201_tank() -> SpringModel
Roland RE-201 tank — small dark 2-spring tank, fast “boing”. transit ~31/35 ms [A], fC 3000 Hz, RT60 1.6 s.
Trait Implementations§
§impl Clone for SpringModel
impl Clone for SpringModel
§fn clone(&self) -> SpringModel
fn clone(&self) -> SpringModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more