5#include "sffdn/audio_processor.h"
6#include "sffdn/oscillator.h"
7#include "sffdn/types.h"
16std::unique_ptr<AudioProcessor> MakeParallelGainsFromConfig(
const ParallelGainsOptions& options);
97 std::unique_ptr<AudioProcessor>
Clone()
const override;
104 std::vector<float> gains_;
200 std::unique_ptr<AudioProcessor>
Clone()
const override;
208 std::vector<SineWave> lfos_;
A class representing an audio buffer with multiple channels of non-interleaved audio data.
Definition audio_buffer.h:18
Base class for audio processors.
Definition audio_processor.h:23
A parallel gains processor.
Definition parallel_gains.h:29
void SetGains(std::span< const float > gains)
Sets the gains for each channel.
void Clear() override
Clears the internal state of the processor.
uint32_t OutputChannelCount() const override
Gets the number of output channels supported.
std::unique_ptr< AudioProcessor > Clone() const override
Creates a copy of the ParallelGains processor.
void GetGains(std::span< float > gains) const
Gets the gains for each channel.
void SetMode(ParallelGainsMode mode)
Sets the processing mode.
void Process(const AudioBuffer &input, AudioBuffer &output) noexcept override
Processes the audio buffer.
ParallelGains(const ParallelGainsOptions &options)
Constructs a ParallelGains processor.
uint32_t InputChannelCount() const override
Gets the number of input channels supported.
ParallelGains(ParallelGainsMode mode, std::span< const float > gains)
Constructs a ParallelGains processor.
ParallelGains(ParallelGainsMode mode)
Constructs a ParallelGains processor.
A time-varying parallel gains processor.
Definition parallel_gains.h:113
TimeVaryingParallelGains(const ParallelGainsOptions &options)
Constructs a TimeVaryingParallelGains processor.
void SetLfoAmplitude(std::span< const float > amplitudes)
Sets the LFO amplitude for each channel.
void SetLfoFrequency(std::span< const float > frequencies)
Sets the LFO frequency for each channel.
void SetLfoPhaseOffset(std::span< const float > phase_offsets)
Sets the LFO phase offset for each channel.
uint32_t InputChannelCount() const override
Gets the number of input channels.
void SetModulation(std::span< const ModulationOptions > modulation_configs)
Sets the modulation options for each channel.
std::unique_ptr< AudioProcessor > Clone() const override
Creates a copy of the TimeVaryingParallelGains processor.
void SetMode(ParallelGainsMode mode)
Sets the processing mode.
void Process(const AudioBuffer &input, AudioBuffer &output) noexcept override
Processes the audio buffer.
void GetCenterGains(std::span< float > gains) const
Gets the center gains for each channel.
uint32_t OutputChannelCount() const override
Gets the number of output channels.
void Clear() override
Clears the internal state of the processor.
void SetCenterGains(std::span< const float > gains)
Sets the center gains for each channel.
ParallelGainsMode
Enumeration for parallel gain processing modes.
Definition types.h:109
Options for configuring parallel gain processing.
Definition types.h:174