MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
SpectralHelper.hpp File Reference
+ Include dependency graph for SpectralHelper.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

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

Functions

uint64_t MayaFlux::Yantra::smallest_size (std::vector< std::vector< double > > &data)
 
template<typename ProcessorFunc >
std::vector< double > MayaFlux::Yantra::process_spectral_windows (std::span< double > data, uint32_t window_size, uint32_t hop_size, ProcessorFunc &&processor)
 Common spectral processing helper to eliminate code duplication.
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_window (DataType &input, Nodes::Generator::WindowType window_type, uint32_t window_size=0)
 Windowing transformation using C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_window (DataType &input, Nodes::Generator::WindowType window_type, uint32_t window_size, std::vector< std::vector< double > > &working_buffer)
 Windowing transformation using C++20 ranges (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_spectral_filter (DataType &input, double low_freq, double high_freq, double sample_rate=48000.0, uint32_t window_size=1024, uint32_t hop_size=256)
 Spectral filtering using existing FFT infrastructure with C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_spectral_filter (DataType &input, double low_freq, double high_freq, double sample_rate, uint32_t window_size, uint32_t hop_size, std::vector< std::vector< double > > &working_buffer)
 Spectral filtering using existing FFT infrastructure with C++20 ranges (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_pitch_shift (DataType &input, double semitones, uint32_t window_size=1024, uint32_t hop_size=256)
 Pitch shifting using existing FFT from AnalysisHelper with C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_pitch_shift (DataType &input, double semitones, uint32_t window_size, uint32_t hop_size, std::vector< std::vector< double > > &working_buffer)
 Pitch shifting using existing FFT from AnalysisHelper with C++20 ranges (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_spectral_invert (DataType &input, uint32_t window_size=1024, uint32_t hop_size=256)
 Spectral inversion (phase inversion in frequency domain) using C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_spectral_invert (DataType &input, uint32_t window_size, uint32_t hop_size, std::vector< std::vector< double > > &working_buffer)
 Spectral inversion (phase inversion in frequency domain) using C++20 ranges (OUT-OF-PLACE)