Audio FX
 
Loading...
Searching...
No Matches
fxaudio.h
1#include <vector>
2#include "filehandler.h"
3#include "utils.h"
4#include "convreverb.h"
5#include "timestretch.h"
6#include "autotune.h"
7#include "tempo.h"
8#include "eq.h"
9
10
11
12using namespace std;
13
21class AFX
22{
23public:
35 vector<vector<double>> autotune(const vector<vector<double>>& samples, double intensity, string note, char scale, int sr);
44 vector<vector<double>> timeStretch(const vector<vector<double>>& samples, double stretchFactor) { return TimeStretch::changeSpeed(samples, stretchFactor); };
53 vector<vector<double>> changeTempo(const vector<vector<double>>& samples, double r) {return Tempo::changeTempo(samples, r);};
62 vector<vector<double>> convReverb(vector<vector<double>>& samples, const vector<vector<double>>& irSamples) {return Reverb::convReverb(samples, irSamples);};
70 vector<vector<double>> reverse(vector<vector<double>>& samples);
79 vector<vector<double>> pitchShift(vector<vector<double>>& samples, double semitones);
80
89 vector<vector<double>> layer(vector<vector<double>> samples, double semitones, double g);
90
98 EQ createEQ(int sampleRate = 44100) {return EQ(sampleRate);}
99};
Main class to access library functions.
Definition fxaudio.h:22
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
vector< vector< double > > changeTempo(const vector< vector< double > > &samples, double r)
Perform sinc interpolation to resample audio samples at a different playback rate.
Definition fxaudio.h:53
vector< vector< double > > reverse(vector< vector< double > > &samples)
Reverse audio samples resulting in audio played backwards.
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 as...
Definition fxaudio.h:62
EQ createEQ(int sampleRate=44100)
create a parametric equalizer with 8 Biquad filters
Definition fxaudio.h:98
vector< vector< double > > pitchShift(vector< vector< double > > &samples, double semitones)
Shift pitch using a phase vocoder.
vector< vector< double > > timeStretch(const vector< vector< double > > &samples, double stretchFactor)
Use phase vocoder to time stretch/compress audio samples.
Definition fxaudio.h:44
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')....
parametric equalizer with 8 Biquad filters
Definition eq.h:28
static vector< vector< double > > convReverb(vector< vector< double > > &samples, const vector< vector< double > > &irSamples)
Perform fast-convolution with FFT between audio samples and an impulse response.
static vector< vector< double > > changeTempo(const vector< vector< double > > &samples, double r)
resample audio samples based on r
static vector< vector< double > > changeSpeed(const vector< vector< double > > &samples, double shiftFactor)
Perform time stretching algorithm on each channel independently.