Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::dataplane::SpectrumData Struct Reference

Published one-sided amplitude spectrum (lock-free via TripleBuffer). More...

#include <visualization_bridge.hpp>

Public Attributes

std::array< float, kMaxBins > magnitude_db {}
int num_bins = 0
std::uint64_t epoch = 0
std::uint64_t sequence_number = 0
std::uint64_t dropped_frames = 0
int source_channels = 0
int fft_size = 0
float sample_rate = 0.0f
float floor_db = -120.0f

Static Public Attributes

static constexpr int kMaxBins = 4097

Detailed Description

Published one-sided amplitude spectrum (lock-free via TripleBuffer).

magnitude_db is calibrated in peak-amplitude dBFS: a full-scale, bin-centered sinusoid reads 0 dBFS at an interior bin. DC and Nyquist use their single-sided normalization. Multiple channels are combined by averaging their normalized linear power, so one active side of a stereo stream reads 3.0103 dB below the same signal on both sides. Values above 0 dBFS are valid when the analyzed signal exceeds full scale.

Member Data Documentation

◆ dropped_frames

std::uint64_t pulp::dataplane::SpectrumData::dropped_frames = 0

◆ epoch

std::uint64_t pulp::dataplane::SpectrumData::epoch = 0

◆ fft_size

int pulp::dataplane::SpectrumData::fft_size = 0

◆ floor_db

float pulp::dataplane::SpectrumData::floor_db = -120.0f

◆ kMaxBins

int pulp::dataplane::SpectrumData::kMaxBins = 4097
staticconstexpr

◆ magnitude_db

std::array<float, kMaxBins> pulp::dataplane::SpectrumData::magnitude_db {}

◆ num_bins

int pulp::dataplane::SpectrumData::num_bins = 0

◆ sample_rate

float pulp::dataplane::SpectrumData::sample_rate = 0.0f

◆ sequence_number

std::uint64_t pulp::dataplane::SpectrumData::sequence_number = 0

◆ source_channels

int pulp::dataplane::SpectrumData::source_channels = 0

The documentation for this struct was generated from the following file: