MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ magnitude_spectrum_per_channel()

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.

Parameters
channelsVector of channel data
window_sizeFFT size (0 = use data size)
Returns
Vector of magnitude spectra, one per channel

Definition at line 701 of file Yantra.cpp.

702{
703 auto energy_analyzer = std::make_shared<Yantra::StandardEnergyAnalyzer>();
704 energy_analyzer->set_energy_method(Yantra::EnergyMethod::SPECTRAL);
705 if (window_size > 0) {
706 energy_analyzer->set_window_parameters(window_size, window_size / 2);
707 }
708 auto result = energy_analyzer->analyze_energy(channels);
709
710 std::vector<std::vector<double>> spectra;
711 for (const auto& channel : result.channels) {
712 spectra.push_back(channel.energy_values);
713 }
714 return spectra;
715}

References MayaFlux::Yantra::SPECTRAL.