MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Yantra.cpp File Reference
+ Include dependency graph for Yantra.cpp:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 

Functions

static bool MayaFlux::is_same_size (const std::vector< std::span< double > > &data)
 
static std::vector< double > MayaFlux::concat_vectors (const std::vector< std::span< double > > &data)
 
double MayaFlux::mean (const std::vector< double > &data)
 Calculate mean of single-channel data.
 
double MayaFlux::mean (const Kakshya::DataVariant &data)
 
std::vector< double > MayaFlux::mean_per_channel (const std::vector< Kakshya::DataVariant > &channels)
 Calculate mean per channel for multi-channel data.
 
double MayaFlux::mean_combined (const std::vector< Kakshya::DataVariant > &channels)
 Calculate mean across all channels (mix then analyze)
 
double MayaFlux::rms (const std::vector< double > &data)
 Calculate RMS (Root Mean Square) energy of single-channel data.
 
double MayaFlux::rms (const Kakshya::DataVariant &data)
 
std::vector< double > MayaFlux::rms_per_channel (const std::vector< Kakshya::DataVariant > &channels)
 Calculate RMS energy per channel for multi-channel data.
 
double MayaFlux::rms_combined (const std::vector< Kakshya::DataVariant > &channels)
 Calculate RMS energy across all channels (mix then analyze)
 
double MayaFlux::std_dev (const std::vector< double > &data)
 Calculate standard deviation of single-channel data.
 
double MayaFlux::std_dev (const Kakshya::DataVariant &data)
 
std::vector< double > MayaFlux::std_dev_per_channel (const std::vector< Kakshya::DataVariant > &channels)
 Calculate standard deviation per channel for multi-channel data.
 
double MayaFlux::std_dev_combined (const std::vector< Kakshya::DataVariant > &channels)
 Calculate standard deviation across all channels (mix then analyze)
 
double MayaFlux::dynamic_range (const std::vector< double > &data)
 Calculate dynamic range (max/min ratio in dB) of single-channel data.
 
double MayaFlux::dynamic_range (const Kakshya::DataVariant &data)
 
std::vector< double > MayaFlux::dynamic_range_per_channel (const std::vector< Kakshya::DataVariant > &channels)
 Calculate dynamic range per channel for multi-channel data.
 
double MayaFlux::dynamic_range_global (const std::vector< Kakshya::DataVariant > &channels)
 Calculate dynamic range across all channels (global min/max)
 
double MayaFlux::peak (const std::vector< double > &data)
 Find peak amplitude in single-channel data.
 
double MayaFlux::peak (const Kakshya::DataVariant &data)
 
double MayaFlux::peak (const std::vector< Kakshya::DataVariant > &channels)
 Find peak amplitude across all channels (global peak)
 
std::vector< double > MayaFlux::peak_per_channel (const std::vector< Kakshya::DataVariant > &channels)
 Find peak amplitude per channel for multi-channel data.
 
double MayaFlux::peak_channel (const std::vector< Kakshya::DataVariant > &channels, size_t channel_index)
 Find peak amplitude in specific channel.
 
std::vector< size_t > MayaFlux::zero_crossings (const std::vector< double > &data, double threshold=0.0)
 Detect zero crossings in single-channel signal.
 
std::vector< size_t > MayaFlux::zero_crossings (const Kakshya::DataVariant &data, double threshold)
 
std::vector< std::vector< size_t > > MayaFlux::zero_crossings_per_channel (const std::vector< Kakshya::DataVariant > &channels, double threshold=0.0)
 Detect zero crossings per channel for multi-channel signal.
 
double MayaFlux::zero_crossing_rate (const std::vector< double > &data, size_t window_size=0)
 Calculate zero crossing rate for single-channel data.
 
double MayaFlux::zero_crossing_rate (const Kakshya::DataVariant &data, size_t window_size)
 
std::vector< double > MayaFlux::zero_crossing_rate_per_channel (const std::vector< Kakshya::DataVariant > &channels, size_t window_size=0)
 Calculate zero crossing rate per channel for multi-channel data.
 
double MayaFlux::spectral_centroid (const std::vector< double > &data, double sample_rate=48000.0)
 Find spectral centroid (brightness measure) for single-channel data.
 
double MayaFlux::spectral_centroid (const Kakshya::DataVariant &data, double sample_rate)
 
std::vector< double > MayaFlux::spectral_centroid_per_channel (const std::vector< Kakshya::DataVariant > &channels, double sample_rate=48000.0)
 Find spectral centroid per channel for multi-channel data.
 
std::vector< double > MayaFlux::detect_onsets (const std::vector< double > &data, double sample_rate=48000.0, double threshold=0.1)
 Detect onset times in single-channel signal.
 
std::vector< double > MayaFlux::detect_onsets (const Kakshya::DataVariant &data, double sample_rate, double threshold)
 
std::vector< std::vector< double > > MayaFlux::detect_onsets_per_channel (const std::vector< Kakshya::DataVariant > &channels, double sample_rate=48000.0, double threshold=0.1)
 Detect onset times per channel for multi-channel signal.
 
void MayaFlux::apply_gain (std::vector< double > &data, double gain_factor)
 Apply gain to single-channel data (in-place)
 
void MayaFlux::apply_gain (Kakshya::DataVariant &data, double gain_factor)
 
void MayaFlux::apply_gain_channels (std::vector< Kakshya::DataVariant > &channels, double gain_factor)
 Apply gain to multi-channel data (in-place)
 
void MayaFlux::apply_gain_per_channel (std::vector< Kakshya::DataVariant > &channels, const std::vector< double > &gain_factors)
 Apply different gain to each channel (in-place)
 
std::vector< double > MayaFlux::with_gain (const std::vector< double > &data, double gain_factor)
 Apply gain to single-channel data (non-destructive)
 
Kakshya::DataVariant MayaFlux::with_gain (const Kakshya::DataVariant &data, double gain_factor)
 
std::vector< Kakshya::DataVariantMayaFlux::with_gain_channels (const std::vector< Kakshya::DataVariant > &channels, double gain_factor)
 Apply gain to multi-channel data (non-destructive)
 
void MayaFlux::normalize (std::vector< double > &data, double target_peak=1.0)
 Normalize single-channel data to specified peak level (in-place)
 
void MayaFlux::normalize (Kakshya::DataVariant &data, double target_peak)
 
void MayaFlux::normalize_channels (std::vector< Kakshya::DataVariant > &channels, double target_peak=1.0)
 Normalize each channel independently to specified peak level (in-place)
 
void MayaFlux::normalize_together (std::vector< Kakshya::DataVariant > &channels, double target_peak=1.0)
 Normalize multi-channel data relative to global peak (in-place)
 
std::vector< double > MayaFlux::normalized (const std::vector< double > &data, double target_peak=1.0)
 Normalize single-channel data (non-destructive)
 
Kakshya::DataVariant MayaFlux::normalized (const Kakshya::DataVariant &data, double target_peak)
 
std::vector< Kakshya::DataVariantMayaFlux::normalized_channels (const std::vector< Kakshya::DataVariant > &channels, double target_peak=1.0)
 Normalize each channel independently (non-destructive)
 
void MayaFlux::reverse (std::vector< double > &data)
 Reverse time order of single-channel data (in-place)
 
void MayaFlux::reverse (Kakshya::DataVariant &data)
 
void MayaFlux::reverse_channels (std::vector< Kakshya::DataVariant > &channels)
 Reverse time order of multi-channel data (in-place)
 
std::vector< double > MayaFlux::reversed (const std::vector< double > &data)
 Reverse time order of single-channel data (non-destructive)
 
Kakshya::DataVariant MayaFlux::reversed (const Kakshya::DataVariant &data)
 
std::vector< Kakshya::DataVariantMayaFlux::reversed_channels (const std::vector< Kakshya::DataVariant > &channels)
 Reverse time order of multi-channel data (non-destructive)
 
std::vector< double > MayaFlux::magnitude_spectrum (const std::vector< double > &data, size_t window_size=0)
 Compute magnitude spectrum for single-channel data.
 
std::vector< double > MayaFlux::magnitude_spectrum (const Kakshya::DataVariant &data, size_t window_size)
 
std::vector< std::vector< double > > MayaFlux::magnitude_spectrum_per_channel (const std::vector< Kakshya::DataVariant > &channels, size_t window_size=0)
 Compute magnitude spectrum per channel for multi-channel data.
 
std::vector< double > MayaFlux::power_spectrum (const std::vector< double > &data, size_t window_size=0)
 Compute power spectrum for single-channel data.
 
std::vector< double > MayaFlux::power_spectrum (const Kakshya::DataVariant &data, size_t window_size)
 
std::vector< std::vector< double > > MayaFlux::power_spectrum_per_channel (const std::vector< Kakshya::DataVariant > &channels, size_t window_size=0)
 Compute power spectrum per channel for multi-channel data.
 
double MayaFlux::estimate_pitch (const std::vector< double > &data, double sample_rate=48000.0, double min_freq=80.0, double max_freq=2000.0)
 Estimate fundamental frequency using autocorrelation for single-channel data.
 
double MayaFlux::estimate_pitch (const Kakshya::DataVariant &data, double sample_rate, double min_freq, double max_freq)
 
std::vector< double > MayaFlux::estimate_pitch_per_channel (const std::vector< Kakshya::DataVariant > &channels, double sample_rate=48000.0, double min_freq=80.0, double max_freq=2000.0)
 Estimate fundamental frequency per channel for multi-channel data.
 
std::vector< double > MayaFlux::extract_silent_data (const std::vector< double > &data, double threshold, size_t min_silence_duration)
 Extract silent regions from single-channel data.
 
std::vector< double > MayaFlux::extract_silent_data (const Kakshya::DataVariant &data, double threshold, size_t min_silence_duration)
 
std::vector< double > MayaFlux::extract_zero_crossing_regions (const std::vector< double > &data, double threshold, size_t region_size)
 Extract zero crossing regions from single-channel data.
 
std::vector< double > MayaFlux::extract_zero_crossing_regions (const Kakshya::DataVariant &data, double threshold, size_t region_size)
 
void MayaFlux::apply_window (std::vector< double > &data, const std::string &window_type="hann")
 Apply window function to single-channel data (in-place)
 
void MayaFlux::apply_window (Kakshya::DataVariant &data, const std::string &window_type)
 
void MayaFlux::apply_window_channels (std::vector< Kakshya::DataVariant > &channels, const std::string &window_type="hann")
 Apply window function to multi-channel data (in-place)
 
std::vector< std::vector< double > > MayaFlux::windowed_segments (const std::vector< double > &data, size_t window_size, size_t hop_size)
 Split single-channel data into overlapping windows.
 
std::vector< std::vector< double > > MayaFlux::windowed_segments (const Kakshya::DataVariant &data, size_t window_size, size_t hop_size)
 
std::vector< std::vector< std::vector< double > > > MayaFlux::windowed_segments_per_channel (const std::vector< Kakshya::DataVariant > &channels, size_t window_size, size_t hop_size)
 Split multi-channel data into overlapping windows per channel.
 
std::vector< std::pair< size_t, size_t > > MayaFlux::detect_silence (const std::vector< double > &data, double threshold=0.01, size_t min_silence_duration=1024)
 Detect silence regions in single-channel data.
 
std::vector< std::pair< size_t, size_t > > MayaFlux::detect_silence (const Kakshya::DataVariant &data, double threshold, size_t min_silence_duration)
 
std::vector< std::vector< std::pair< size_t, size_t > > > MayaFlux::detect_silence_per_channel (const std::vector< Kakshya::DataVariant > &channels, double threshold=0.01, size_t min_silence_duration=1024)
 Detect silence regions per channel for multi-channel data.
 
std::vector< double > MayaFlux::mix (const std::vector< std::vector< double > > &streams)
 Mix multiple data streams with equal weighting.
 
std::vector< double > MayaFlux::mix (const std::vector< Kakshya::DataVariant > &streams)
 
std::vector< double > MayaFlux::mix_with_gains (const std::vector< std::vector< double > > &streams, const std::vector< double > &gains)
 Mix multiple data streams with specified gains.
 
std::vector< double > MayaFlux::mix_with_gains (const std::vector< Kakshya::DataVariant > &streams, const std::vector< double > &gains)
 
std::vector< double > MayaFlux::to_double_vector (const Kakshya::DataVariant &data)
 Convert DataVariant to vector<double> if possible.
 
Kakshya::DataVariant MayaFlux::to_data_variant (const std::vector< double > &data)
 Convert vector<double> to DataVariant.
 
std::vector< std::vector< double > > MayaFlux::to_double_vectors (const std::vector< Kakshya::DataVariant > &channels)
 Convert multi-channel data to vector of double vectors.
 
std::vector< Kakshya::DataVariantMayaFlux::to_data_variants (const std::vector< std::vector< double > > &channel_data)
 Convert vector of double vectors to multi-channel DataVariant format.
 
void MayaFlux::initialize_yantra ()
 Initialize Yantra subsystem with default configuration.