Krotos Modules 3
Loading...
Searching...
No Matches
krotos::Autocorrelation Class Reference

#include <Autocorrelation.h>

Public Member Functions

 Autocorrelation ()
 
 Autocorrelation (double newSampleRate, int newBufferSize)
 
 ~Autocorrelation ()
 
float getPitch (AudioSampleBuffer buffer)
 
void initialise (double newSampleRate, int newBufferSize)
 

Private Member Functions

void getAutocorrelation (std::vector< float > data)
 
void smoothingFilter (std::vector< float > input, float coefficient)
 
float getParabolicInterpolation (int estimation)
 

Private Attributes

const int MAX_BUFFER_SIZE {1024}
 
const double PI {3.14159265358979323846}
 
const double TWO_PI {2 * PI}
 
const double LOWER_THRESHOLD {0.01}
 
const float MAX_FREQ {1000}
 
const float MIN_FREQ {20}
 
const double DEFAULT_SAMPLE_RATE {44100}
 
std::vector< float > audioFrame
 
std::vector< float > autocorrelationBuffer
 
std::vector< float > smoothedAutocorrelation
 
std::vector< float > window
 
float pitchEstimate {-1.0f}
 
float tauEstimate {-1.0f}
 
int position {-1}
 
int bufferSize
 
double sampleRate
 

Constructor & Destructor Documentation

◆ Autocorrelation() [1/2]

krotos::Autocorrelation::Autocorrelation ( )

◆ Autocorrelation() [2/2]

krotos::Autocorrelation::Autocorrelation ( double newSampleRate,
int newBufferSize )

◆ ~Autocorrelation()

krotos::Autocorrelation::~Autocorrelation ( )

Member Function Documentation

◆ getAutocorrelation()

void krotos::Autocorrelation::getAutocorrelation ( std::vector< float > data)
private

◆ getParabolicInterpolation()

float krotos::Autocorrelation::getParabolicInterpolation ( int estimation)
private

◆ getPitch()

float krotos::Autocorrelation::getPitch ( AudioSampleBuffer buffer)

◆ initialise()

void krotos::Autocorrelation::initialise ( double newSampleRate,
int newBufferSize )

◆ smoothingFilter()

void krotos::Autocorrelation::smoothingFilter ( std::vector< float > input,
float coefficient )
private

Member Data Documentation

◆ audioFrame

std::vector<float> krotos::Autocorrelation::audioFrame
private

◆ autocorrelationBuffer

std::vector<float> krotos::Autocorrelation::autocorrelationBuffer
private

◆ bufferSize

int krotos::Autocorrelation::bufferSize
private

◆ DEFAULT_SAMPLE_RATE

const double krotos::Autocorrelation::DEFAULT_SAMPLE_RATE {44100}
private

◆ LOWER_THRESHOLD

const double krotos::Autocorrelation::LOWER_THRESHOLD {0.01}
private

◆ MAX_BUFFER_SIZE

const int krotos::Autocorrelation::MAX_BUFFER_SIZE {1024}
private

◆ MAX_FREQ

const float krotos::Autocorrelation::MAX_FREQ {1000}
private

◆ MIN_FREQ

const float krotos::Autocorrelation::MIN_FREQ {20}
private

◆ PI

const double krotos::Autocorrelation::PI {3.14159265358979323846}
private

◆ pitchEstimate

float krotos::Autocorrelation::pitchEstimate {-1.0f}
private

◆ position

int krotos::Autocorrelation::position {-1}
private

◆ sampleRate

double krotos::Autocorrelation::sampleRate
private

◆ smoothedAutocorrelation

std::vector<float> krotos::Autocorrelation::smoothedAutocorrelation
private

◆ tauEstimate

float krotos::Autocorrelation::tauEstimate {-1.0f}
private

◆ TWO_PI

const double krotos::Autocorrelation::TWO_PI {2 * PI}
private

◆ window

std::vector<float> krotos::Autocorrelation::window
private

The documentation for this class was generated from the following files: