pub struct CompareReport {Show 17 fields
pub offset_samples: i64,
pub offset_s: f64,
pub alignment_correlation: f64,
pub polarity_inverted: bool,
pub compared_frames: usize,
pub length_difference_s: f64,
pub rms_diff_db: f64,
pub null_depth_db: f64,
pub diff_peak_db: f64,
pub peak_delta_db: f64,
pub rms_delta_db: f64,
pub loudness_delta_lu: f64,
pub gain_db: f64,
pub si_sdr_db: f64,
pub identical: bool,
pub verdict: String,
pub notes: Vec<String>,
}Expand description
Null-test metrics of b against reference a.
Fields§
§offset_samples: i64Samples by which b lags a (negative: b leads). Found by FFT cross-correlation.
offset_s: f64§alignment_correlation: f64Normalised cross-correlation at the chosen offset (−1..1).
polarity_inverted: boolb is polarity-inverted relative to a.
compared_frames: usizeFrames compared after alignment.
length_difference_s: f64Duration of b minus duration of a (seconds).
rms_diff_db: f64RMS of a − b over the aligned region (dBFS, floored at −240).
null_depth_db: f64rms_diff_db relative to the RMS of a (how deep the null is).
diff_peak_db: f64Peak of a − b (dBFS).
peak_delta_db: f64Peak of b minus peak of a (dB).
rms_delta_db: f64RMS of b minus RMS of a (dB).
loudness_delta_lu: f64Integrated loudness of b minus a (LU); null when either is unmeasurable.
gain_db: f64Least-squares gain that best maps a onto b (dB).
si_sdr_db: f64Scale-invariant SDR of b against a (dB, capped at 200).
identical: boolSame length, zero offset, and bit-identical samples.
verdict: Stringidentical, transparent (null below −90 dB), gain_only, similar, or different.
notes: Vec<String>Trait Implementations§
Source§impl Clone for CompareReport
impl Clone for CompareReport
Source§impl Debug for CompareReport
impl Debug for CompareReport
Auto Trait Implementations§
impl Freeze for CompareReport
impl RefUnwindSafe for CompareReport
impl Send for CompareReport
impl Sync for CompareReport
impl Unpin for CompareReport
impl UnsafeUnpin for CompareReport
impl UnwindSafe for CompareReport
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