29 explicit operator bool()
const {
return passed; }
38 double ceiling_dbfs = -0.1);
42 double threshold_dbfs = -90.0);
46 double min_rms_dbfs = -60.0);
50 double min_dbfs,
double max_dbfs);
54 double min_dbfs,
double max_dbfs);
60 double sample_rate,
double expected_hz,
61 double tolerance_cents = 5.0);
67 double tolerance_dbfs = -120.0);
73 double tolerance_dbfs = -120.0);
Deterministic offline signal metrics for rendered audio buffers.
Non-owning view over multi-channel audio sample data.
Definition buffer.hpp:30
Owning multi-channel audio buffer with contiguous storage.
Definition buffer.hpp:119
Definition audio_artifacts.hpp:20
CheckResult assert_not_clipped(const BufferMetrics &metrics, double ceiling_dbfs=-0.1)
Fails if any channel's peak reaches ceiling_dbfs or any sample counted as clipped during analysis.
CheckResult assert_rms_between(const BufferMetrics &metrics, double min_dbfs, double max_dbfs)
Fails unless every channel's RMS lies within [min_dbfs, max_dbfs].
CheckResult assert_not_silent(const BufferMetrics &metrics, double min_rms_dbfs=-60.0)
Fails if every channel's RMS is below min_rms_dbfs.
CheckResult assert_silent(const BufferMetrics &metrics, double threshold_dbfs=-90.0)
Fails if any channel's RMS is at or above threshold_dbfs.
CheckResult assert_channels_independent(const pulp::audio::BufferView< const float > &buffer)
Fails if any two channels are sample-identical (within 1e-9), which usually means a channel-routing b...
CheckResult assert_peak_between(const BufferMetrics &metrics, double min_dbfs, double max_dbfs)
Fails unless every channel's peak lies within [min_dbfs, max_dbfs].
CheckResult assert_null_near(const pulp::audio::BufferView< const float > &a, const pulp::audio::BufferView< const float > &b, double tolerance_dbfs=-120.0)
Null test: fails if the per-sample residual |a−b| peak is at or above tolerance_dbfs.
CheckResult assert_no_nan_inf(const BufferMetrics &metrics)
Fails if any channel contains NaN or ±Inf samples.
CheckResult assert_frequency_near(std::span< const float > samples, double sample_rate, double expected_hz, double tolerance_cents=5.0)
Fails unless the zero-crossing frequency estimate is within tolerance_cents of expected_hz.
Whole-buffer facts. channels.size() == channel count.
Definition audio_metrics.hpp:62
Outcome of one signal assertion.
Definition audio_assertions.hpp:26
bool passed
Definition audio_assertions.hpp:27
std::string message
Definition audio_assertions.hpp:28