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
BufferMetrics analyze(const pulp::audio::BufferView< const float > &buffer, double sample_rate, const AnalyzeOptions &options={})
Analyze a const view. Pure arithmetic; safe for any buffer size.
FrequencyEstimate estimate_frequency(std::span< const float > samples, double sample_rate)
Estimate the dominant frequency of one channel.
double from_dbfs(double dbfs)
dBFS to linear amplitude.
std::string summarize(const BufferMetrics &metrics, const FrequencyEstimate &frequency={})
Compact, agent-readable signal summary.
double to_dbfs(double linear)
Linear amplitude (1.0 == full scale) to dBFS, clamped to kSilenceFloorDb.
constexpr double kSilenceFloorDb
Floor used when converting a zero/negative linear level to dBFS, so summaries and messages stay finit...
Definition audio_metrics.hpp:29
Options for analyze().
Definition audio_metrics.hpp:39
float silence_threshold
|sample| < this linear level counts toward a silence run (default −90 dBFS: below 16-bit dither,...
Definition audio_metrics.hpp:44
float clip_threshold
|sample| >= this linear level counts as clipped (1.0 == 0 dBFS).
Definition audio_metrics.hpp:41
Whole-buffer facts. channels.size() == channel count.
Definition audio_metrics.hpp:62
double max_rms() const
Max per-channel RMS, linear.
int num_channels
Definition audio_metrics.hpp:63
bool has_nan_or_inf() const
int num_frames
Definition audio_metrics.hpp:64
std::uint64_t total_clipped_samples() const
double max_peak() const
Max per-channel peak, linear.
std::vector< ChannelMetrics > channels
Definition audio_metrics.hpp:66
double sample_rate
Definition audio_metrics.hpp:65
Per-channel facts about a rendered buffer.
Definition audio_metrics.hpp:48
double peak
Max |sample|, linear.
Definition audio_metrics.hpp:49
std::uint64_t nan_samples
Count of NaN samples.
Definition audio_metrics.hpp:52
double rms
Root mean square, linear.
Definition audio_metrics.hpp:50
double peak_dbfs() const
Definition audio_metrics.hpp:57
std::uint64_t inf_samples
Count of ±Inf samples.
Definition audio_metrics.hpp:53
std::uint64_t clipped_samples
Count at/above clip threshold.
Definition audio_metrics.hpp:54
double dc_offset
Mean sample value.
Definition audio_metrics.hpp:51
double rms_dbfs() const
Definition audio_metrics.hpp:58
std::uint64_t longest_silence_run
Longest consecutive sub-threshold run.
Definition audio_metrics.hpp:55
Result of estimate_frequency().
Definition audio_metrics.hpp:87
double hz
0.0 when no estimate is possible.
Definition audio_metrics.hpp:88
double confidence
1.0 = perfectly regular periods, 0.0 = none.
Definition audio_metrics.hpp:89