Guitarix
gx_engine::PitchTracker Class Reference

#include <gx_pitch_tracker.h>

Public Member Functions

 PitchTracker ()
 
 ~PitchTracker ()
 
void init (int priority, int policy, unsigned int samplerate)
 
void add (int count, float *input)
 
float get_estimated_freq ()
 
float get_estimated_note ()
 
void stop_thread ()
 
void reset ()
 
void set_fast_note_detection (bool v)
 

Public Attributes

Glib::Dispatcher new_freq
 

Private Member Functions

bool setParameters (int priority, int policy, int sampleRate, int fftSize)
 
void run ()
 
void start_thread (int policy, int priority)
 
void copy ()
 

Static Private Member Functions

static void * static_run (void *p)
 

Private Attributes

bool error
 
volatile bool busy
 
int tick
 
sem_t m_trig
 
pthread_t m_pthr
 
Resampler resamp
 
int m_sampleRate
 
int fixed_sampleRate
 
float m_freq
 
float signal_threshold_on
 
float signal_threshold_off
 
float tracker_period
 
int m_buffersize
 
int m_fftSize
 
float * m_buffer
 
int m_bufferIndex
 
float * m_input
 
bool m_audioLevel
 
float * m_fftwBufferTime
 
float * m_fftwBufferFreq
 
fftwf_plan m_fftwPlanFFT
 
fftwf_plan m_fftwPlanIFFT
 

Detailed Description

Definition at line 33 of file gx_pitch_tracker.h.

Constructor & Destructor Documentation

◆ PitchTracker()

gx_engine::PitchTracker::PitchTracker ( )

◆ ~PitchTracker()

gx_engine::PitchTracker::~PitchTracker ( )

Member Function Documentation

◆ add()

void gx_engine::PitchTracker::add ( int  count,
float *  input 
)

◆ copy()

void gx_engine::PitchTracker::copy ( )
private

◆ get_estimated_freq()

float gx_engine::PitchTracker::get_estimated_freq ( )
inline

Definition at line 39 of file gx_pitch_tracker.h.

Referenced by gx_engine::TunerAdapter::get_freq().

◆ get_estimated_note()

float gx_engine::PitchTracker::get_estimated_note ( )

◆ init()

void gx_engine::PitchTracker::init ( int  priority,
int  policy,
unsigned int  samplerate 
)

◆ reset()

void gx_engine::PitchTracker::reset ( )

◆ run()

void gx_engine::PitchTracker::run ( )
private

◆ set_fast_note_detection()

void gx_engine::PitchTracker::set_fast_note_detection ( bool  v)

◆ setParameters()

bool gx_engine::PitchTracker::setParameters ( int  priority,
int  policy,
int  sampleRate,
int  fftSize 
)
private

◆ start_thread()

void gx_engine::PitchTracker::start_thread ( int  policy,
int  priority 
)
private

◆ static_run()

static void * gx_engine::PitchTracker::static_run ( void *  p)
staticprivate

◆ stop_thread()

void gx_engine::PitchTracker::stop_thread ( )

Member Data Documentation

◆ busy

volatile bool gx_engine::PitchTracker::busy
private

Definition at line 52 of file gx_pitch_tracker.h.

◆ error

bool gx_engine::PitchTracker::error
private

Definition at line 51 of file gx_pitch_tracker.h.

◆ fixed_sampleRate

int gx_engine::PitchTracker::fixed_sampleRate
private

Definition at line 58 of file gx_pitch_tracker.h.

◆ m_audioLevel

bool gx_engine::PitchTracker::m_audioLevel
private

Definition at line 79 of file gx_pitch_tracker.h.

◆ m_buffer

float* gx_engine::PitchTracker::m_buffer
private

Definition at line 73 of file gx_pitch_tracker.h.

◆ m_bufferIndex

int gx_engine::PitchTracker::m_bufferIndex
private

Definition at line 75 of file gx_pitch_tracker.h.

◆ m_buffersize

int gx_engine::PitchTracker::m_buffersize
private

Definition at line 69 of file gx_pitch_tracker.h.

◆ m_fftSize

int gx_engine::PitchTracker::m_fftSize
private

Definition at line 71 of file gx_pitch_tracker.h.

◆ m_fftwBufferFreq

float* gx_engine::PitchTracker::m_fftwBufferFreq
private

Definition at line 83 of file gx_pitch_tracker.h.

◆ m_fftwBufferTime

float* gx_engine::PitchTracker::m_fftwBufferTime
private

Definition at line 81 of file gx_pitch_tracker.h.

◆ m_fftwPlanFFT

fftwf_plan gx_engine::PitchTracker::m_fftwPlanFFT
private

Definition at line 85 of file gx_pitch_tracker.h.

◆ m_fftwPlanIFFT

fftwf_plan gx_engine::PitchTracker::m_fftwPlanIFFT
private

Definition at line 87 of file gx_pitch_tracker.h.

◆ m_freq

float gx_engine::PitchTracker::m_freq
private

Definition at line 59 of file gx_pitch_tracker.h.

Referenced by get_estimated_freq().

◆ m_input

float* gx_engine::PitchTracker::m_input
private

Definition at line 77 of file gx_pitch_tracker.h.

◆ m_pthr

pthread_t gx_engine::PitchTracker::m_pthr
private

Definition at line 55 of file gx_pitch_tracker.h.

◆ m_sampleRate

int gx_engine::PitchTracker::m_sampleRate
private

Definition at line 57 of file gx_pitch_tracker.h.

◆ m_trig

sem_t gx_engine::PitchTracker::m_trig
private

Definition at line 54 of file gx_pitch_tracker.h.

◆ new_freq

Glib::Dispatcher gx_engine::PitchTracker::new_freq

Definition at line 44 of file gx_pitch_tracker.h.

Referenced by gx_engine::TunerAdapter::signal_freq_changed().

◆ resamp

Resampler gx_engine::PitchTracker::resamp
private

Definition at line 56 of file gx_pitch_tracker.h.

◆ signal_threshold_off

float gx_engine::PitchTracker::signal_threshold_off
private

Definition at line 65 of file gx_pitch_tracker.h.

◆ signal_threshold_on

float gx_engine::PitchTracker::signal_threshold_on
private

Definition at line 62 of file gx_pitch_tracker.h.

◆ tick

int gx_engine::PitchTracker::tick
private

Definition at line 53 of file gx_pitch_tracker.h.

◆ tracker_period

float gx_engine::PitchTracker::tracker_period
private

Definition at line 67 of file gx_pitch_tracker.h.


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