HephAudio v3.0.6
A cross-platform C++ library for recording, playing, and processing audio on Windows, Android, Linux, iOS, and macOS.
Loading...
Searching...
No Matches
HephAudio::AudioProcessor Class Referencefinal

provides sound effects and filters. More...

#include <AudioProcessor.h>

Public Member Functions

 AudioProcessor (const AudioProcessor &)=delete
 
AudioProcessoroperator= (const AudioProcessor &)=delete
 

Static Public Member Functions

static void ChangeChannelLayout (AudioBuffer &buffer, const AudioChannelLayout &outputChannelLayout)
 
static void ChangeSampleRate (AudioBuffer &buffer, uint32_t outputSampleRate)
 
static std::vector< Heph::DoubleBufferSplitChannels (const AudioBuffer &buffer)
 
static AudioBuffer MergeChannels (const std::vector< Heph::DoubleBuffer > &channels, uint32_t sampleRate)
 
static void ChangeEndian (AudioBuffer &buffer)
 
static void Echo (AudioBuffer &buffer, EchoInfo info)
 
static void LinearPanning (AudioBuffer &buffer, double panningFactor)
 
static void SquareLawPanning (AudioBuffer &buffer, double panningFactor)
 
static void SineLawPanning (AudioBuffer &buffer, double panningFactor)
 
static void Tremolo (AudioBuffer &buffer, double depth, const Oscillator &lfo)
 
static void Vibrato (AudioBuffer &buffer, double depth, double extent_semitone, const Oscillator &lfo)
 
static void Chorus (AudioBuffer &buffer, double depth, double feedbackGain, double baseDelay_ms, double delay_ms, double extent_semitone, const Oscillator &lfo)
 
static void Flanger (AudioBuffer &buffer, double depth, double feedbackGain, double baseDelay_ms, double delay_ms, const Oscillator &lfo)
 
static void FixOverflow (AudioBuffer &buffer)
 
static void Normalize (AudioBuffer &buffer, heph_audio_sample_t peakAmplitude)
 
static void RmsNormalize (AudioBuffer &buffer, double rms)
 
static void HardClipDistortion (AudioBuffer &buffer, double clippingLevel_dB)
 
static void ArctanDistortion (AudioBuffer &buffer, double alpha)
 
static void CubicDistortion (AudioBuffer &buffer, double a)
 
static void Overdrive (AudioBuffer &buffer, double drive)
 
static void Fuzz (AudioBuffer &buffer, double depth, double alpha)
 
static void LinearFadeIn (AudioBuffer &buffer, double duration_s)
 
static void LinearFadeIn (AudioBuffer &buffer, double duration_s, size_t startIndex)
 
static void LinearFadeOut (AudioBuffer &buffer, double duration_s)
 
static void LinearFadeOut (AudioBuffer &buffer, double duration_s, size_t startIndex)
 
static void Equalizer (AudioBuffer &buffer, Window &window, const std::vector< EqualizerInfo > &infos)
 
static void Equalizer (AudioBuffer &buffer, size_t hopSize, size_t fftSize, Window &window, const std::vector< EqualizerInfo > &infos)
 
static void EqualizerMT (AudioBuffer &buffer, Window &window, const std::vector< EqualizerInfo > &infos)
 
static void EqualizerMT (AudioBuffer &buffer, size_t threadCountPerChannel, Window &window, const std::vector< EqualizerInfo > &infos)
 
static void EqualizerMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, Window &window, const std::vector< EqualizerInfo > &infos)
 
static void EqualizerMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, size_t threadCountPerChannel, Window &window, const std::vector< EqualizerInfo > &infos)
 
static void ChangeSpeed (AudioBuffer &buffer, double speed, Window &window)
 
static void ChangeSpeed (AudioBuffer &buffer, size_t hopSize, size_t windowSize, double speed, Window &window)
 
static void PitchShift (AudioBuffer &buffer, double pitchChange_semitone, Window &window)
 
static void PitchShift (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double pitchChange_semitone, Window &window)
 
static void PitchShiftMT (AudioBuffer &buffer, double pitchChange_semitone, Window &window)
 
static void PitchShiftMT (AudioBuffer &buffer, double pitchChange_semitone, size_t threadCountPerChannel, Window &window)
 
static void PitchShiftMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double pitchChange_semitone, Window &window)
 
static void PitchShiftMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double pitchChange_semitone, size_t threadCountPerChannel, Window &window)
 
static void LowPassFilter (AudioBuffer &buffer, double cutoffFreq, Window &window)
 
static void LowPassFilter (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double cutoffFreq, Window &window)
 
static void LowPassFilterMT (AudioBuffer &buffer, double cutoffFreq, Window &window)
 
static void LowPassFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double cutoffFreq, Window &window)
 
static void LowPassFilterMT (AudioBuffer &buffer, double cutoffFreq, size_t threadCountPerChannel, Window &window)
 
static void LowPassFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double cutoffFreq, size_t threadCountPerChannel, Window &window)
 
static void HighPassFilter (AudioBuffer &buffer, double cutoffFreq, Window &window)
 
static void HighPassFilter (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double cutoffFreq, Window &window)
 
static void HighPassFilterMT (AudioBuffer &buffer, double cutoffFreq, Window &window)
 
static void HighPassFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double cutoffFreq, Window &window)
 
static void HighPassFilterMT (AudioBuffer &buffer, double cutoffFreq, size_t threadCountPerChannel, Window &window)
 
static void HighPassFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double cutoffFreq, size_t threadCountPerChannel, Window &window)
 
static void BandPassFilter (AudioBuffer &buffer, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandPassFilter (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandPassFilterMT (AudioBuffer &buffer, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandPassFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandPassFilterMT (AudioBuffer &buffer, double lowCutoffFreq, double highCutoffFreq, size_t threadCountPerChannel, Window &window)
 
static void BandPassFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double lowCutoffFreq, double highCutoffFreq, size_t threadCountPerChannel, Window &window)
 
static void BandCutFilter (AudioBuffer &buffer, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandCutFilter (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandCutFilterMT (AudioBuffer &buffer, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandCutFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double lowCutoffFreq, double highCutoffFreq, Window &window)
 
static void BandCutFilterMT (AudioBuffer &buffer, double lowCutoffFreq, double highCutoffFreq, size_t threadCountPerChannel, Window &window)
 
static void BandCutFilterMT (AudioBuffer &buffer, size_t hopSize, size_t fftSize, double lowCutoffFreq, double highCutoffFreq, size_t threadCountPerChannel, Window &window)
 

Detailed Description

provides sound effects and filters.

Member Function Documentation

◆ ChangeChannelLayout()

static void HephAudio::AudioProcessor::ChangeChannelLayout ( AudioBuffer & buffer,
const AudioChannelLayout & outputChannelLayout )
static

changes the channel layout.

◆ ChangeSampleRate()

static void HephAudio::AudioProcessor::ChangeSampleRate ( AudioBuffer & buffer,
uint32_t outputSampleRate )
static

changes the sample rate.

◆ SplitChannels()

static std::vector< Heph::DoubleBuffer > HephAudio::AudioProcessor::SplitChannels ( const AudioBuffer & buffer)
static

splits the audio channels into separate buffers.

◆ MergeChannels()

static AudioBuffer HephAudio::AudioProcessor::MergeChannels ( const std::vector< Heph::DoubleBuffer > & channels,
uint32_t sampleRate )
static

merges the channels.

◆ ChangeEndian()

static void HephAudio::AudioProcessor::ChangeEndian ( AudioBuffer & buffer)
static

changes the endianness of the audio samples.
Example: s32le -> s32be.

◆ Echo()

static void HephAudio::AudioProcessor::Echo ( AudioBuffer & buffer,
EchoInfo info )
static

adds echo to the audio data.

Parameters
infocontains the echo characteristics.

◆ LinearPanning()

static void HephAudio::AudioProcessor::LinearPanning ( AudioBuffer & buffer,
double panningFactor )
static

linearly increases the volume of one channel while decreasing the other one (stereo only).

Parameters
panningFactordetermines how the channels' volume will be changed. Ranges between -1 and 1.
-1 means only the left channel will be audible and 1 means only the right channel will be audible.

◆ SquareLawPanning()

static void HephAudio::AudioProcessor::SquareLawPanning ( AudioBuffer & buffer,
double panningFactor )
static

increases the volume of one channel while decreasing the other one (stereo only). Uses square root to calculate the volumes.

Parameters
panningFactordetermines how the channels' volume will be changed. Ranges between -1 and 1.
-1 means only the left channel will be audible and 1 means only the right channel will be audible.

◆ SineLawPanning()

static void HephAudio::AudioProcessor::SineLawPanning ( AudioBuffer & buffer,
double panningFactor )
static

increases the volume of one channel while decreasing the other one (stereo only). Uses sin function to calculate the volumes.

Parameters
panningFactordetermines how the channels' volume will be changed. Ranges between -1 and 1.
-1 means only the left channel will be audible and 1 means only the right channel will be audible.

◆ Tremolo()

static void HephAudio::AudioProcessor::Tremolo ( AudioBuffer & buffer,
double depth,
const Oscillator & lfo )
static

changes the volume of the audio data periodically and mixes the result with the input signal.

Parameters
depthcontrols the dry/wet mix ratio. Ranges between 0 and 1.
lfolow-frequency oscillator .

◆ Vibrato()

static void HephAudio::AudioProcessor::Vibrato ( AudioBuffer & buffer,
double depth,
double extent_semitone,
const Oscillator & lfo )
static

changes the pitch of the audio data periodically and mixes the result with the input signal.

Parameters
depthcontrols the dry/wet mix ratio. Ranges between 0 and 1.
extent_semitonemaximum pitch change in terms of semitones.
lfolow-frequency oscillator .

◆ Chorus()

static void HephAudio::AudioProcessor::Chorus ( AudioBuffer & buffer,
double depth,
double feedbackGain,
double baseDelay_ms,
double delay_ms,
double extent_semitone,
const Oscillator & lfo )
static

delays the audio data and changes its pitch periodically. Then mixes the result with the input signal.

Parameters
depthcontrols the dry/wet mix ratio. Ranges between 0 and 1.
feedbackGaingain of the feedback sample.
baseDelay_msconstant delay, in milliseconds, that will be added to the wet signal.
delay_msmaximum value of the variable delay, in milliseconds, that will be added to the wet signal. The delay applied to wet samples changes periodically.
The maximum delay that will be applied can be calculated as baseDelay_ms + delay_ms.
extent_semitonemaximum pitch change in terms of semitones.
lfolow-frequency oscillator .

◆ Flanger()

static void HephAudio::AudioProcessor::Flanger ( AudioBuffer & buffer,
double depth,
double feedbackGain,
double baseDelay_ms,
double delay_ms,
const Oscillator & lfo )
static

delays the audio data and mixes the result with the input signal. The amount of delay applied changes periodically.

Parameters
depthcontrols the dry/wet mix ratio. Ranges between 0 and 1.
feedbackGaingain of the feedback sample.
baseDelay_msconstant delay, in milliseconds, that will be added to the wet signal.
delay_msmaximum value of the variable delay, in milliseconds, that will be added to the wet signal. The delay applied to wet samples changes periodically.
The maximum delay that will be applied can be calculated as baseDelay_ms + delay_ms.
lfolow-frequency oscillator .

◆ FixOverflow()

static void HephAudio::AudioProcessor::FixOverflow ( AudioBuffer & buffer)
static

fixes the distortion due to floating point samples exceeding the [-1, 1] range.

Important
this method does NOT work with the integer types.

◆ Normalize()

static void HephAudio::AudioProcessor::Normalize ( AudioBuffer & buffer,
heph_audio_sample_t peakAmplitude )
static

normalizes the audio data at the provided amplitude.

Parameters
peakAmplitudemaximum amplitude of the output signal.

◆ RmsNormalize()

static void HephAudio::AudioProcessor::RmsNormalize ( AudioBuffer & buffer,
double rms )
static

normalizes the audio data at the provided rms.

Parameters
rmsroot mean square value of the output signal.

◆ HardClipDistortion()

static void HephAudio::AudioProcessor::HardClipDistortion ( AudioBuffer & buffer,
double clippingLevel_dB )
static

applies hard-clipping distortion.

Parameters
clippingLevel_dBthreshold value in decibels. Must be negative or zero.

◆ ArctanDistortion()

static void HephAudio::AudioProcessor::ArctanDistortion ( AudioBuffer & buffer,
double alpha )
static

applies soft-clipping distortion via arctan function.

Parameters
alphacontrols the amount of distortion. ranges between 0 and 1.

◆ CubicDistortion()

static void HephAudio::AudioProcessor::CubicDistortion ( AudioBuffer & buffer,
double a )
static

applies cubic distortion.

Parameters
acontrols the amount of distortion. ranges between 0 and 1.

◆ Overdrive()

static void HephAudio::AudioProcessor::Overdrive ( AudioBuffer & buffer,
double drive )
static

applies overdrive distortion.

Parameters
drivecontrols the amount of distortion. ranges between 0 and 1.

◆ Fuzz()

static void HephAudio::AudioProcessor::Fuzz ( AudioBuffer & buffer,
double depth,
double alpha )
static

applies fuzz distortion.

Parameters
depthcontrols the dry/wet mix ratio. Ranges between 0 and 1.
alphacontrols the amount of distortion. ranges between 0 and 11.

◆ LinearFadeIn() [1/2]

static void HephAudio::AudioProcessor::LinearFadeIn ( AudioBuffer & buffer,
double duration_s )
static

applies linear fade-in.

Parameters
duration_sduration of the fade-in in seconds.

◆ LinearFadeIn() [2/2]

static void HephAudio::AudioProcessor::LinearFadeIn ( AudioBuffer & buffer,
double duration_s,
size_t startIndex )
static

applies linear fade-in.

Parameters
duration_sduration of the fade-in in seconds.
startIndexindex of the first audio frame the effect will be applied to.

◆ LinearFadeOut() [1/2]

static void HephAudio::AudioProcessor::LinearFadeOut ( AudioBuffer & buffer,
double duration_s )
static

applies linear fade-out.

Parameters
duration_sduration of the fade-out in seconds.

◆ LinearFadeOut() [2/2]

static void HephAudio::AudioProcessor::LinearFadeOut ( AudioBuffer & buffer,
double duration_s,
size_t startIndex )
static

applies linear fade-out.

Parameters
duration_sduration of the fade-out in seconds.
startIndexindex of the first audio frame the effect will be applied to.

◆ Equalizer() [1/2]

static void HephAudio::AudioProcessor::Equalizer ( AudioBuffer & buffer,
Window & window,
const std::vector< EqualizerInfo > & infos )
static

equalizer.

Parameters
windowWindow that will be applied to the audio signal.
infoscontains the equalizer characteristics.

◆ Equalizer() [2/2]

static void HephAudio::AudioProcessor::Equalizer ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
Window & window,
const std::vector< EqualizerInfo > & infos )
static

equalizer.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
windowWindow that will be applied to the audio signal.
infoscontains the equalizer characteristics.

◆ EqualizerMT() [1/4]

static void HephAudio::AudioProcessor::EqualizerMT ( AudioBuffer & buffer,
Window & window,
const std::vector< EqualizerInfo > & infos )
static

multithreaded equalizer.

Parameters
windowWindow that will be applied to the audio signal.
infoscontains the equalizer characteristics.

◆ EqualizerMT() [2/4]

static void HephAudio::AudioProcessor::EqualizerMT ( AudioBuffer & buffer,
size_t threadCountPerChannel,
Window & window,
const std::vector< EqualizerInfo > & infos )
static

multithreaded equalizer.

Parameters
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.
infoscontains the equalizer characteristics.

◆ EqualizerMT() [3/4]

static void HephAudio::AudioProcessor::EqualizerMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
Window & window,
const std::vector< EqualizerInfo > & infos )
static

multithreaded equalizer.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
windowWindow that will be applied to the audio signal.
infoscontains the equalizer characteristics.

◆ EqualizerMT() [4/4]

static void HephAudio::AudioProcessor::EqualizerMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
size_t threadCountPerChannel,
Window & window,
const std::vector< EqualizerInfo > & infos )
static

multithreaded equalizer.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.
infoscontains the equalizer characteristics.

◆ ChangeSpeed() [1/2]

static void HephAudio::AudioProcessor::ChangeSpeed ( AudioBuffer & buffer,
double speed,
Window & window )
static

changes the playback speed of the audio data without changing the pitch.

Parameters
speedplayback speed multiplier.
windowWindow that will be applied to the audio signal.

◆ ChangeSpeed() [2/2]

static void HephAudio::AudioProcessor::ChangeSpeed ( AudioBuffer & buffer,
size_t hopSize,
size_t windowSize,
double speed,
Window & window )
static

changes the playback speed of the audio data without changing the pitch.

Parameters
hopSizehop size.
windowSizewindow size.
speedplayback speed multiplier.
windowWindow that will be applied to the audio signal.

◆ PitchShift() [1/2]

static void HephAudio::AudioProcessor::PitchShift ( AudioBuffer & buffer,
double pitchChange_semitone,
Window & window )
static

changes the pitch of the audio data without changing the playback speed.

Parameters
pitchChange_semitonechange in pitch in terms of semitones.
windowWindow that will be applied to the audio signal.

◆ PitchShift() [2/2]

static void HephAudio::AudioProcessor::PitchShift ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double pitchChange_semitone,
Window & window )
static

changes the pitch of the audio data without changing the playback speed.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
pitchChange_semitonechange in pitch in terms of semitones.
windowWindow that will be applied to the audio signal.

◆ PitchShiftMT() [1/4]

static void HephAudio::AudioProcessor::PitchShiftMT ( AudioBuffer & buffer,
double pitchChange_semitone,
Window & window )
static

[multithreaded] changes the pitch of the audio data without changing the playback speed.

Parameters
pitchChange_semitonechange in pitch in terms of semitones.
windowWindow that will be applied to the audio signal.

◆ PitchShiftMT() [2/4]

static void HephAudio::AudioProcessor::PitchShiftMT ( AudioBuffer & buffer,
double pitchChange_semitone,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] changes the pitch of the audio data without changing the playback speed.

Parameters
pitchChange_semitonechange in pitch in terms of semitones.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ PitchShiftMT() [3/4]

static void HephAudio::AudioProcessor::PitchShiftMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double pitchChange_semitone,
Window & window )
static

[multithreaded] changes the pitch of the audio data without changing the playback speed.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
pitchChange_semitonechange in pitch in terms of semitones.
windowWindow that will be applied to the audio signal.

◆ PitchShiftMT() [4/4]

static void HephAudio::AudioProcessor::PitchShiftMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double pitchChange_semitone,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] changes the pitch of the audio data without changing the playback speed.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
pitchChange_semitonechange in pitch in terms of semitones.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ LowPassFilter() [1/2]

static void HephAudio::AudioProcessor::LowPassFilter ( AudioBuffer & buffer,
double cutoffFreq,
Window & window )
static

removes the frequencies that are higher than the cutoffFreq.

Parameters
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ LowPassFilter() [2/2]

static void HephAudio::AudioProcessor::LowPassFilter ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double cutoffFreq,
Window & window )
static

removes the frequencies that are higher than the cutoffFreq.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ LowPassFilterMT() [1/4]

static void HephAudio::AudioProcessor::LowPassFilterMT ( AudioBuffer & buffer,
double cutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ LowPassFilterMT() [2/4]

static void HephAudio::AudioProcessor::LowPassFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double cutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ LowPassFilterMT() [3/4]

static void HephAudio::AudioProcessor::LowPassFilterMT ( AudioBuffer & buffer,
double cutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
cutoffFreqthe cutoff frequency in Hz.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ LowPassFilterMT() [4/4]

static void HephAudio::AudioProcessor::LowPassFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double cutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
cutoffFreqthe cutoff frequency in Hz.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ HighPassFilter() [1/2]

static void HephAudio::AudioProcessor::HighPassFilter ( AudioBuffer & buffer,
double cutoffFreq,
Window & window )
static

removes the frequencies that are lower than the cutoffFreq.

Parameters
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ HighPassFilter() [2/2]

static void HephAudio::AudioProcessor::HighPassFilter ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double cutoffFreq,
Window & window )
static

removes the frequencies that are lower than the cutoffFreq.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ HighPassFilterMT() [1/4]

static void HephAudio::AudioProcessor::HighPassFilterMT ( AudioBuffer & buffer,
double cutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ HighPassFilterMT() [2/4]

static void HephAudio::AudioProcessor::HighPassFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double cutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
cutoffFreqthe cutoff frequency in Hz.
windowWindow that will be applied to the audio signal.

◆ HighPassFilterMT() [3/4]

static void HephAudio::AudioProcessor::HighPassFilterMT ( AudioBuffer & buffer,
double cutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
cutoffFreqthe cutoff frequency in Hz.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ HighPassFilterMT() [4/4]

static void HephAudio::AudioProcessor::HighPassFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double cutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are higher than the cutoffFreq.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
cutoffFreqthe cutoff frequency in Hz.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ BandPassFilter() [1/2]

static void HephAudio::AudioProcessor::BandPassFilter ( AudioBuffer & buffer,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

removes the frequencies that are not in the provided frequency band.

Parameters
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandPassFilter() [2/2]

static void HephAudio::AudioProcessor::BandPassFilter ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

removes the frequencies that are not in the provided frequency band.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandPassFilterMT() [1/4]

static void HephAudio::AudioProcessor::BandPassFilterMT ( AudioBuffer & buffer,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are not in the provided frequency band.

Parameters
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandPassFilterMT() [2/4]

static void HephAudio::AudioProcessor::BandPassFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are not in the provided frequency band.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandPassFilterMT() [3/4]

static void HephAudio::AudioProcessor::BandPassFilterMT ( AudioBuffer & buffer,
double lowCutoffFreq,
double highCutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are not in the provided frequency band.

Parameters
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ BandPassFilterMT() [4/4]

static void HephAudio::AudioProcessor::BandPassFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double lowCutoffFreq,
double highCutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are not in the provided frequency band.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ BandCutFilter() [1/2]

static void HephAudio::AudioProcessor::BandCutFilter ( AudioBuffer & buffer,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

removes the frequencies that are in the provided frequency band.

Parameters
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandCutFilter() [2/2]

static void HephAudio::AudioProcessor::BandCutFilter ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

removes the frequencies that are in the provided frequency band.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandCutFilterMT() [1/4]

static void HephAudio::AudioProcessor::BandCutFilterMT ( AudioBuffer & buffer,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are in the provided frequency band.

Parameters
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandCutFilterMT() [2/4]

static void HephAudio::AudioProcessor::BandCutFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double lowCutoffFreq,
double highCutoffFreq,
Window & window )
static

[multithreaded] removes the frequencies that are in the provided frequency band.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
windowWindow that will be applied to the audio signal.

◆ BandCutFilterMT() [3/4]

static void HephAudio::AudioProcessor::BandCutFilterMT ( AudioBuffer & buffer,
double lowCutoffFreq,
double highCutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are in the provided frequency band.

Parameters
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.

◆ BandCutFilterMT() [4/4]

static void HephAudio::AudioProcessor::BandCutFilterMT ( AudioBuffer & buffer,
size_t hopSize,
size_t fftSize,
double lowCutoffFreq,
double highCutoffFreq,
size_t threadCountPerChannel,
Window & window )
static

[multithreaded] removes the frequencies that are in the provided frequency band.

Parameters
hopSizehop size.
fftSizelength of the FFT in samples.
lowCutoffFreqstart frequency of the passband.
highCutoffFreqstop frequency of the passband.
threadCountPerChannelnumber of threads will be used for each channel.
windowWindow that will be applied to the audio signal.