DSPark 1.8.0
Header-only C++20 DSP for real-time and offline audio
Loading...
Searching...
No Matches
dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis Class Referencefinal

Immutable 10 ms stereo energy map, bound to the supplied PCM/clock. More...

#include <OfflineEnergyAnalyzer.h>

Public Member Functions

 MidSideAnalysis ()=default
 
 MidSideAnalysis (MidSideAnalysis &&) noexcept=default
 
MidSideAnalysis & operator= (MidSideAnalysis &&) noexcept=default
 
bool isValid () const noexcept
 
std::span< const MidSideBin > bins () const noexcept
 Borrowed bins; valid while this analysis is alive and unmoved.
 
OfflineAudioSpec getSpec () const noexcept
 
OfflineFingerprint fingerprint () const noexcept
 
OfflineFingerprint sideFingerprint () const noexcept
 Fingerprint of double-precision side samples, for shared gain rendering.
 
std::int64_t binFrames () const noexcept
 
double samplePeak () const noexcept
 
double midRms () const noexcept
 
double sideRms () const noexcept
 
double sidePeak () const noexcept
 
std::size_t retainedBytes () const noexcept
 

Friends

class OfflineEnergyAnalyzer
 

Detailed Description

template<FloatType T>
class dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis

Immutable 10 ms stereo energy map, bound to the supplied PCM/clock.

Analyze the rendered stereo signal when decisions concern generated audio: changing generation width requires a new analysis of that resulting signal. The complete-source RMS weights the last short bin by its actual duration. Mid/side conversion avoids overflow for finite extreme double input. Silence has zero RMS and peak; no side-share target is inferred here.

Definition at line 133 of file OfflineEnergyAnalyzer.h.

Constructor & Destructor Documentation

◆ MidSideAnalysis() [1/2]

template<FloatType T>
dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::MidSideAnalysis ( )
default

◆ MidSideAnalysis() [2/2]

template<FloatType T>
dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::MidSideAnalysis ( MidSideAnalysis &&  )
defaultnoexcept

Member Function Documentation

◆ binFrames()

template<FloatType T>
std::int64_t dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::binFrames ( ) const
inlinenoexcept

Definition at line 163 of file OfflineEnergyAnalyzer.h.

◆ bins()

template<FloatType T>
std::span< const MidSideBin > dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::bins ( ) const
inlinenoexcept

Borrowed bins; valid while this analysis is alive and unmoved.

Definition at line 144 of file OfflineEnergyAnalyzer.h.

◆ fingerprint()

template<FloatType T>
OfflineFingerprint dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::fingerprint ( ) const
inlinenoexcept

Definition at line 153 of file OfflineEnergyAnalyzer.h.

◆ getSpec()

template<FloatType T>
OfflineAudioSpec dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::getSpec ( ) const
inlinenoexcept

Definition at line 149 of file OfflineEnergyAnalyzer.h.

◆ isValid()

template<FloatType T>
bool dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::isValid ( ) const
inlinenoexcept

Definition at line 139 of file OfflineEnergyAnalyzer.h.

◆ midRms()

template<FloatType T>
double dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::midRms ( ) const
inlinenoexcept

Definition at line 171 of file OfflineEnergyAnalyzer.h.

◆ operator=()

template<FloatType T>
MidSideAnalysis & dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::operator= ( MidSideAnalysis &&  )
defaultnoexcept

◆ retainedBytes()

template<FloatType T>
std::size_t dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::retainedBytes ( ) const
inlinenoexcept

Definition at line 183 of file OfflineEnergyAnalyzer.h.

◆ samplePeak()

template<FloatType T>
double dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::samplePeak ( ) const
inlinenoexcept

Definition at line 167 of file OfflineEnergyAnalyzer.h.

◆ sideFingerprint()

template<FloatType T>
OfflineFingerprint dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::sideFingerprint ( ) const
inlinenoexcept

Fingerprint of double-precision side samples, for shared gain rendering.

Definition at line 159 of file OfflineEnergyAnalyzer.h.

◆ sidePeak()

template<FloatType T>
double dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::sidePeak ( ) const
inlinenoexcept

Definition at line 179 of file OfflineEnergyAnalyzer.h.

◆ sideRms()

template<FloatType T>
double dspark::OfflineEnergyAnalyzer< T >::MidSideAnalysis::sideRms ( ) const
inlinenoexcept

Definition at line 175 of file OfflineEnergyAnalyzer.h.

Friends And Related Symbol Documentation

◆ OfflineEnergyAnalyzer

template<FloatType T>
friend class OfflineEnergyAnalyzer
friend

Definition at line 189 of file OfflineEnergyAnalyzer.h.


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