Browse Source

update

main
duff2013 9 years ago
parent
commit
d338497c94
1 changed files with 13 additions and 6 deletions
  1. +13
    -6
      AudioTuner.cpp

+ 13
- 6
AudioTuner.cpp View File

release( block ); release( block );


if ( count >= NUM_SAMPLES ) { if ( count >= NUM_SAMPLES ) {
digitalWriteFast(2, !digitalReadFast(2));
//digitalWriteFast(2, !digitalReadFast(2));
next_buffer = !next_buffer; next_buffer = !next_buffer;
process_buffer = true; process_buffer = true;
tau_global = 1; tau_global = 1;
block_count = count; block_count = count;
if ( process_buffer ) { if ( process_buffer ) {
digitalWriteFast(0, HIGH);
//digitalWriteFast(0, HIGH);
uint16_t tau; uint16_t tau;
uint16_t next; uint16_t next;
next = next_buffer; next = next_buffer;
if ( tau == 0 ) { if ( tau == 0 ) {
process_buffer = false; process_buffer = false;
new_output = true; new_output = true;
digitalWriteFast(0, LOW);
//digitalWriteFast(0, LOW);
return; return;
} }
else if ( tau >= HALF_BUFFER ) { else if ( tau >= HALF_BUFFER ) {
process_buffer = false; process_buffer = false;
new_output = false; new_output = false;
digitalWriteFast(0, LOW);
//digitalWriteFast(0, LOW);
return; return;
} }
} while ( tau <= ( tau_global + 31 ) ); } while ( tau <= ( tau_global + 31 ) );
tau_global = tau; tau_global = tau;
digitalWriteFast(0, LOW);
//digitalWriteFast(0, LOW);
} }
} }


/** /**
* process data in from Audio Library interrupt
* check the sampled data for fundmental frequency
*
* @param yin buffer to hold sum*tau value
* @param rs buffer to hold running sum for sampled window
* @param head buffer index
* @param tau lag we are currently working on this gets incremented
*
* @return tau
*/ */
uint16_t AudioTuner::estimate( int64_t *yin, int64_t *rs, uint16_t head, uint16_t tau ) { uint16_t AudioTuner::estimate( int64_t *yin, int64_t *rs, uint16_t head, uint16_t tau ) {
const int64_t *p = ( int64_t * )yin; const int64_t *p = ( int64_t * )yin;

Loading…
Cancel
Save