21 vector<double> scaleNotes;
22 static map<char, vector<int>> intervals;
23 static map<string, double> rootNotes;
34 void tuneSlice(vector<double> slice,
int start, vector<double>& out);
43 void tuneChannel(
const vector<double>& channel, vector<double>&out);
51 double findShiftingFactor(
double f);
64 Autotune(
double intensity,
string note,
char scale);
73 vector<vector<double>>
process(
const vector<vector<double>>& samples,
int sampleRate);
vector< vector< double > > process(const vector< vector< double > > &samples, int sampleRate)
Use overlapping window approach to tune each audio frame to the nearest correct pitch on the provided...