pub struct AcousticConfig {Show 19 fields
pub max_rate: f64,
pub wow_rev_seconds: f64,
pub flutter_hz: f64,
pub acoustic_enabled: bool,
pub surface_enabled: bool,
pub stylus_tracing_limit: f64,
pub high_frequency_acceleration_limit: f64,
pub texture_scale: f64,
pub contact_gain: f64,
pub dust_gain: f64,
pub impulse_gain: f64,
pub wear_gain: f64,
pub source_texture_gain: f64,
pub soft_clip: bool,
pub cartridge_velocity_gain: bool,
pub riaa_speed_tilt: bool,
pub riaa_voicing_rate: f64,
pub vinyl_voicing: f64,
pub vinyl_voicing_curve: u32,
}Fields§
§max_rate: f64§wow_rev_seconds: f64§flutter_hz: f64§acoustic_enabled: bool§surface_enabled: bool§stylus_tracing_limit: f64Soft cartridge tracing limit derived from source curvature and travel velocity. This preserves the existing speed-dependent stylus model.
high_frequency_acceleration_limit: f64Stereo-linked upper-band programme acceleration limiter. 0 bypasses
it exactly; 1 applies the full soft-knee reduction.
texture_scale: f64Scales the scratch-excited friction terms as a master: contact noise
(with its acceleration lift), needle-drop impulse noise, and the
slope/curvature source texture. 1 is the historical level, bit for
bit. Dust, groove position noise and wear crackle are untouched by it.
contact_gain: f64Per-component levels on the surface bed and the source texture, each
1 at the historical level so a default changes no sample. They trim
what texture_scale carries as a master, and each has its own slider
in ACOUSTICS: the contact roar, the dust flecks, the needle-drop
impulse, the wear crackle, and the texture the source’s own shape
makes.
dust_gain: f64§impulse_gain: f64§wear_gain: f64§source_texture_gain: f64§soft_clip: boolReplaces the final hard clamp with a tanh saturator. false keeps
the historical digital clamp, bit for bit. tanh has unity slope at
silence, so small signals render identically and only would-be-clipped
peaks fold over — the mechanical saturation a real groove has and a
clamp does not.
cartridge_velocity_gain: boolA magnetic cartridge is a velocity transducer: its output is
proportional to how fast the groove passes the stylus, so playing at
rate r yields r * m(r*t). The rate factor is the whole law. It is
exactly 1 at nominal speed, and it reaches silence continuously at
rest, which is why a stopped record is silent — no stop knee needed.
riaa_speed_tilt: boolThe speed-dependent half of the phono chain: a groove cut with RIAA
pre-emphasis and replayed off speed no longer cancels the preamp’s
fixed de-emphasis. See [RiaaSpeedTilt]. Physically the partner of
cartridge_velocity_gain; the two are meant to run together.
riaa_voicing_rate: f64A fixed, deliberate mismatch of the RIAA pair: the same pre-emphasis /
de-emphasis residue as [RiaaSpeedTilt], but held at a constant,
caller-chosen rate rather than following the record. 1.0 is exactly
the standard curve and is bit-exact transparent. Above 1.0 it trades
top end for body — the warmth a matched cut and playback cannot
otherwise produce. Off by default; a seed, not a calibrated hardware
profile.
vinyl_voicing: f64Opt-in vinyl voicing amount in [0, 1]: blends a fixed seed curve
(a low-end preamp shelf plus cartridge/arm top-end loss) over the
transparent master. 0 is bypassed bit-exactly. The full amount is a
clearly audible warmth, not a subtle shelf. See
[VinylVoicingFilter].
vinyl_voicing_curve: u32Which [VINYL_VOICING_CURVES] shape vinyl_voicing blends: 0 coil
load, 1 tip mass, 2 curve drift. Out-of-range values are rejected.
Trait Implementations§
Source§impl Clone for AcousticConfig
impl Clone for AcousticConfig
Source§fn clone(&self) -> AcousticConfig
fn clone(&self) -> AcousticConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more