MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
EnergyAnalyzer.hpp File Reference

Span-based energy analysis for digital signals in Maya Flux. More...

+ Include dependency graph for EnergyAnalyzer.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Yantra::ChannelEnergy
 
struct  MayaFlux::Yantra::EnergyAnalysis
 Analysis result structure for energy analysis. More...
 
class  MayaFlux::Yantra::EnergyAnalyzer< InputType, OutputType >
 High-performance energy analyzer with zero-copy processing. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Yantra
 

Typedefs

using MayaFlux::Yantra::StandardEnergyAnalyzer = EnergyAnalyzer< std::vector< Kakshya::DataVariant >, Eigen::MatrixXd >
 Standard energy analyzer: DataVariant -> MatrixXd.
 
using MayaFlux::Yantra::ContainerEnergyAnalyzer = EnergyAnalyzer< std::shared_ptr< Kakshya::SignalSourceContainer >, Eigen::MatrixXd >
 Container energy analyzer: SignalContainer -> MatrixXd.
 
using MayaFlux::Yantra::RegionEnergyAnalyzer = EnergyAnalyzer< Kakshya::Region, Eigen::MatrixXd >
 Region energy analyzer: Region -> MatrixXd.
 
template<ComputeData InputType = std::vector<Kakshya::DataVariant>>
using MayaFlux::Yantra::RawEnergyAnalyzer = EnergyAnalyzer< InputType, std::vector< std::vector< double > > >
 Raw energy analyzer: produces double vectors.
 
template<ComputeData InputType = std::vector<Kakshya::DataVariant>>
using MayaFlux::Yantra::VariantEnergyAnalyzer = EnergyAnalyzer< InputType, std::vector< Kakshya::DataVariant > >
 Variant energy analyzer: produces DataVariant output.
 

Enumerations

enum class  MayaFlux::Yantra::EnergyMethod : uint8_t {
  MayaFlux::Yantra::RMS , MayaFlux::Yantra::PEAK , MayaFlux::Yantra::SPECTRAL , MayaFlux::Yantra::ZERO_CROSSING ,
  MayaFlux::Yantra::HARMONIC , MayaFlux::Yantra::POWER , MayaFlux::Yantra::DYNAMIC_RANGE
}
 Supported energy computation methods. More...
 
enum class  MayaFlux::Yantra::EnergyLevel : uint8_t {
  MayaFlux::Yantra::SILENT , MayaFlux::Yantra::QUIET , MayaFlux::Yantra::MODERATE , MayaFlux::Yantra::LOUD ,
  MayaFlux::Yantra::PEAK
}
 Qualitative classification of energy values. More...
 

Detailed Description

Span-based energy analysis for digital signals in Maya Flux.

Defines the EnergyAnalyzer using the new UniversalAnalyzer framework with zero-copy span processing and automatic structure handling via OperationHelper. This analyzer extracts energy-related features from digital signals with multiple computation methods and flexible output configurations.

Key Features:

  • Zero-copy processing: Uses spans for maximum efficiency
  • Template-flexible I/O: Instance defines input/output types at construction
  • Multiple energy methods: RMS, peak, spectral, zero-crossing, harmonic, power, dynamic range
  • Parallel processing: Utilizes std::execution for performance
  • Energy classification: Maps values to qualitative levels (silent, quiet, etc.)
  • Window-based analysis: Configurable window size and hop size
  • Automatic data handling: OperationHelper manages all extraction/conversion

Definition in file EnergyAnalyzer.hpp.