MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
TemporalHelper.hpp File Reference
#include <algorithm>
#include "MathematicalHelper.hpp"
+ Include dependency graph for TemporalHelper.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

template<typename TransformFunc >
requires std::invocable<TransformFunc, std::span<const double>>
std::vector< double > MayaFlux::Yantra::process_overlap_add (const std::span< const double > &data, uint32_t window_size, uint32_t hop_size, TransformFunc transform_func)
 Overlap-add processing for windowed transforms using C++20 ranges.
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_time_reverse (DataType &input)
 Time reversal transformation using C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_time_reverse (DataType &input, std::vector< std::vector< double > > &working_buffer)
 Time reversal transformation using C++20 ranges (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_time_stretch (DataType &input, double stretch_factor)
 Simple time stretching via resampling using C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_time_stretch (DataType &input, double stretch_factor, std::vector< std::vector< double > > &working_buffer)
 Simple time stretching via resampling using C++20 ranges (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_delay (DataType &input, uint32_t delay_samples, double fill_value=0.0)
 Delay transformation that extends buffer size (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_delay (DataType &input, uint32_t delay_samples, double fill_value, std::vector< std::vector< double > > &working_buffer)
 Delay transformation that extends buffer size (OUT-OF-PLACE) - CORRECTED.
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_fade (DataType &input, double fade_in_duration_ratio=0.0, double fade_out_duration_ratio=0.0)
 Fade transformation (linear fade-in and fade-out) using C++20 ranges (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_fade (DataType &input, double fade_in_duration_ratio, double fade_out_duration_ratio, std::vector< std::vector< double > > &working_buffer)
 Fade transformation (linear fade-in and fade-out) using C++20 ranges (OUT-OF-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_slice (DataType &input, double start_ratio, double end_ratio)
 Slice transformation to extract a portion of the data based on ratios (IN-PLACE)
 
template<OperationReadyData DataType>
DataType MayaFlux::Yantra::transform_slice (DataType &input, double start_ratio, double end_ratio, std::vector< std::vector< double > > &working_buffer)
 Slice transformation to extract a portion of the data based on ratios (OUT-OF-PLACE)