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 |