Main class to access library functions. More...
#include <fxaudio.h>
Public Member Functions | |
vector< vector< double > > | autotune (const vector< vector< double > > &samples, double intensity, string note, char scale, int sr) |
Pitch correct vocals to the nearest correct note on musical scale (either major 'M' or minor 'm'). This one isn't very high quality I have been struggling with this one ;/. | |
vector< vector< double > > | timeStretch (const vector< vector< double > > &samples, double stretchFactor) |
Use phase vocoder to time stretch/compress audio samples. | |
vector< vector< double > > | changeTempo (const vector< vector< double > > &samples, double r) |
Perform sinc interpolation to resample audio samples at a different playback rate. | |
vector< vector< double > > | convReverb (vector< vector< double > > &samples, const vector< vector< double > > &irSamples) |
Apply convolution based reverb to audio samples based on an impulse response. They can be found in assets/ir. | |
vector< vector< double > > | reverse (vector< vector< double > > &samples) |
Reverse audio samples resulting in audio played backwards. | |
vector< vector< double > > | pitchShift (vector< vector< double > > &samples, double semitones) |
Shift pitch using a phase vocoder. | |
vector< vector< double > > | layer (vector< vector< double > > samples, double semitones, double g) |
take input samples, shift the pitch and scale amplitudes. Layer on top of existing audio | |
EQ | createEQ (int sampleRate=44100) |
create a parametric equalizer with 8 Biquad filters | |
Main class to access library functions.
The AFX class provides audio effects such as autotune, time stretching, convolution reverb, pitch shifting, and equalization.
vector< vector< double > > AFX::autotune | ( | const vector< vector< double > > & | samples, |
double | intensity, | ||
string | note, | ||
char | scale, | ||
int | sr ) |
Pitch correct vocals to the nearest correct note on musical scale (either major 'M' or minor 'm'). This one isn't very high quality I have been struggling with this one ;/.
samples | -> audio samples separated by channel |
sr | -> sample rate |
intensity | -> Determines how strong to apply the autotune effect |
note | -> The musical note to use as the root note |
scale | -> Category of semitones (major or minor) |
|
inline |
Perform sinc interpolation to resample audio samples at a different playback rate.
samples | -> audio samples separated by channel |
r | -> resampling rate |
|
inline |
Apply convolution based reverb to audio samples based on an impulse response. They can be found in assets/ir.
samples | -> audio samples separated by channel |
room | -> room name of impulse response |
|
inline |
vector< vector< double > > AFX::layer | ( | vector< vector< double > > | samples, |
double | semitones, | ||
double | g ) |
take input samples, shift the pitch and scale amplitudes. Layer on top of existing audio
samples | -> audio samples separated by channel |
semitones | -> number of semitones to shift by |
g | -> gain to apply to layered audio |
vector< vector< double > > AFX::pitchShift | ( | vector< vector< double > > & | samples, |
double | semitones ) |
Shift pitch using a phase vocoder.
samples | -> audio samples separated by channel |
semitones | -> number of semitones to shift by |
vector< vector< double > > AFX::reverse | ( | vector< vector< double > > & | samples | ) |
Reverse audio samples resulting in audio played backwards.
samples | -> audio samples separated by channel |
|
inline |
Use phase vocoder to time stretch/compress audio samples.
samples | -> audio samples separated by channel |
stretchFactor | -> > 1 will stretch the audio. < 1 will compress the audio |