pub struct Iso3382Metrics {
pub edt_s: f64,
pub t20_s: f64,
pub t30_s: f64,
pub c50_db: f64,
pub c80_db: f64,
pub d50: f64,
pub ts_s: f64,
pub edt_r2: f64,
pub t20_r2: f64,
pub t30_r2: f64,
}Expand description
ISO 3382 single-band acoustic metrics for one RIR.
Fields§
§edt_s: f64Early decay time — Schroeder slope over 0 → −10 dB, extrapolated
to a 60 dB drop. In seconds.
t20_s: f64T20 reverberation time (−5 → −25 dB, extrapolated to 60 dB). Seconds.
t30_s: f64T30 reverberation time (−5 → −35 dB, extrapolated to 60 dB). Seconds.
c50_db: f64Clarity at 50 ms (in dB). Higher = more speech-intelligibility-friendly.
c80_db: f64Clarity at 80 ms (in dB). Standard music clarity parameter.
d50: f64Definition: ratio of early (≤ 50 ms) to total energy. Dimensionless.
ts_s: f64Centre time (seconds). The temporal centre of gravity of h².
edt_r2: f64R² of the EDT linear fit (0..1). < 0.9 is a quality warning.
t20_r2: f64R² of the T20 linear fit.
t30_r2: f64R² of the T30 linear fit.
Implementations§
Source§impl Iso3382Metrics
impl Iso3382Metrics
Sourcepub fn fit_is_valid(&self) -> bool
pub fn fit_is_valid(&self) -> bool
Returns true if every fitted decay region had r² ≥ 0.95 —
the conventional ISO 3382-1 acceptance threshold.
Trait Implementations§
Source§impl Clone for Iso3382Metrics
impl Clone for Iso3382Metrics
Source§fn clone(&self) -> Iso3382Metrics
fn clone(&self) -> Iso3382Metrics
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for Iso3382Metrics
Source§impl Debug for Iso3382Metrics
impl Debug for Iso3382Metrics
Source§impl PartialEq for Iso3382Metrics
impl PartialEq for Iso3382Metrics
impl StructuralPartialEq for Iso3382Metrics
Auto Trait Implementations§
impl Freeze for Iso3382Metrics
impl RefUnwindSafe for Iso3382Metrics
impl Send for Iso3382Metrics
impl Sync for Iso3382Metrics
impl Unpin for Iso3382Metrics
impl UnsafeUnpin for Iso3382Metrics
impl UnwindSafe for Iso3382Metrics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more