Browse Source

include <core_pins.h>

required for F_CPU_ACTUAL
main
John Robinson 3 years ago
parent
commit
b6d6e99f6e
No known key found for this signature in database
1 changed files with 72 additions and 72 deletions
  1. +72
    -72
      AudioTuner.h

+ 72
- 72
AudioTuner.h View File

@@ -23,6 +23,7 @@
#ifndef AudioTuner_h_
#define AudioTuner_h_

#include <core_pins.h>
#include "AudioStream.h"
#include "arm_math.h"
/***********************************************************************
@@ -50,76 +51,75 @@ public:
*
* @return none
*/
AudioTuner( void ) : AudioStream( 1, inputQueueArray ),
data( 0.0 ),
coeff_p( NULL ),
enabled( false ),
new_output( false ),
coeff_size( 0 )
{
}
/**
* initialize variables and start
*
* @param threshold Allowed uncertainty
* @param coeff coefficients for fir filter
* @param taps number of coefficients, even
* @param factor must be power of 2
*/
void begin( float threshold, int16_t *coeff, uint8_t taps, uint8_t factor );
/**
* sets threshold value
*
* @param thresh
* @return none
*/
void threshold( float p );
/**
* triggers true when valid frequency is found
*
* @return flag to indicate valid frequency is found
*/
bool available( void );
/**
* get frequency
*
* @return frequency in hertz
*/
float read( void );
/**
* get predicitity
*
* @return probability of frequency found
*/
float probability( void );
/**
* fir decimation coefficents
*
* @return none
*/
void coeff( int16_t *p, int n );
/**
* disable yin
*
* @return none
*/
void disable( void );
/**
* Audio Library calls this update function ~2.9ms
*
* @return none
*/
virtual void update( void );
AudioTuner(void)
: AudioStream(1, inputQueueArray)
, data(0.0)
, coeff_p(NULL)
, coeff_size(0)
, new_output(false)
, enabled(false)

{}

/**
* initialize variables and start
*
* @param threshold Allowed uncertainty
* @param coeff coefficients for fir filter
* @param taps number of coefficients, even
* @param factor must be power of 2
*/
void begin(float threshold, int16_t *coeff, uint8_t taps, uint8_t factor);

/**
* sets threshold value
*
* @param thresh
* @return none
*/
void threshold(float p);

/**
* triggers true when valid frequency is found
*
* @return flag to indicate valid frequency is found
*/
bool available(void);
/**
* get frequency
*
* @return frequency in hertz
*/
float read(void);

/**
* get predicitity
*
* @return probability of frequency found
*/
float probability(void);

/**
* fir decimation coefficents
*
* @return none
*/
void coeff(int16_t *p, int n);

/**
* disable yin
*
* @return none
*/
void disable(void);

/**
* Audio Library calls this update function ~2.9ms
*
* @return none
*/
virtual void update(void);

private:
/**
* check the sampled data for fundamental frequency
@@ -132,14 +132,14 @@ private:
* @return tau
*/
uint16_t estimate( uint64_t *yin, uint64_t *rs, uint16_t head, uint16_t tau );
/**
* process audio data
*
* @return none
*/
void process( int16_t *p );
/**
* Variables
*/

Loading…
Cancel
Save