MayaFlux 0.1.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 699 of file Yantra.cpp.

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

References MayaFlux::Yantra::SPECTRAL.