MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Spectral.cpp File Reference
#include "Spectral.hpp"
#include <Eigen/Dense>
#include <unsupported/Eigen/FFT>
+ Include dependency graph for Spectral.cpp:

Go to the source code of this file.

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kinesis
 
namespace  MayaFlux::Kinesis::Discrete
 

Functions

std::vector< double > MayaFlux::Kinesis::Discrete::apply_spectral (std::span< const double > src, uint32_t window_size, uint32_t hop_size, const SpectrumProcessor &processor)
 Apply a per-frame spectrum processor via WOLA analysis-synthesis.
 
std::vector< double > MayaFlux::Kinesis::Discrete::spectral_filter (std::span< const double > src, double lo_hz, double hi_hz, double sample_rate, uint32_t window_size=1024, uint32_t hop_size=256)
 Hard bandpass filter: zero all bins outside [lo_hz, hi_hz].
 
std::vector< double > MayaFlux::Kinesis::Discrete::spectral_invert (std::span< const double > src, uint32_t window_size=1024, uint32_t hop_size=256)
 Spectral phase inversion (conjugate all bins)
 
std::vector< double > MayaFlux::Kinesis::Discrete::harmonic_enhance (std::span< const double > src, double enhancement_factor, uint32_t window_size=1024, uint32_t hop_size=256)
 Linear spectral tilt: scale each bin by a factor that rises linearly from 1 at bin 0 to enhancement_factor at the Nyquist bin.
 
std::vector< double > MayaFlux::Kinesis::Discrete::spectral_gate (std::span< const double > src, double threshold_db, uint32_t window_size=1024, uint32_t hop_size=256)
 Hard spectral gate: zero bins whose magnitude is below the threshold.
 
std::vector< double > MayaFlux::Kinesis::Discrete::phase_vocoder_stretch (std::span< const double > src, double stretch_factor, uint32_t window_size=2048, uint32_t analysis_hop=512)
 Time-stretch via phase vocoder analysis-synthesis.
 
std::vector< double > MayaFlux::Kinesis::Discrete::pitch_shift (std::span< const double > src, double semitones, uint32_t window_size=2048, uint32_t analysis_hop=512)
 Pitch-shift by resampling around a phase vocoder stretch.