#include <stdlib.h>
#include <unistd.h>
+#include "config.h"
+#include "notes.h"
#include "linux_audio.h"
#include "pitchdetector.h"
-#define BASE_PITCH 440.0
-#define SAMPLE_RATE 22050
-#define FFT_LENGTH 4096 /* in samples */
-#define PAD_FACTOR 2 /* 1/pf of the FFT samples are real samples, the rest are padding */
-#define OVERLAP 4 /* 1/ol samples will be replaced in the buffer every frame. Should be
- * a multiple of 2 for the Hamming window (see
- * http://www-ccrma.stanford.edu/~jos/parshl/Choice_Hop_Size.html).
- */
-
-#define EQUAL_TEMPERAMENT 0
-#define WELL_TEMPERED_GUITAR 1
-
-#define TUNING WELL_TEMPERED_GUITAR
-
void print_spectrogram(double freq, double amp);
void write_sine(int dsp_fd, double freq, unsigned num_samples);
}
#else
-struct note {
- char notename[16];
- double freq;
-};
-static note notes[] = {
- { "E-3", BASE_PITCH/4.0 * (3.0/4.0) },
- { "A-3", BASE_PITCH/4.0 },
- { "D-4", BASE_PITCH/4.0 * (4.0/3.0) },
- { "G-4", BASE_PITCH/4.0 * (4.0/3.0)*(4.0/3.0) },
- { "B-4", BASE_PITCH * (3.0/4.0)*(3.0/4.0) },
- { "E-5", BASE_PITCH * (3.0/4.0) }
-};
-
void print_spectrogram(double freq, double amp)
{
double best_away = 999999999.9;