X-Git-Url: https://git.sesse.net/?p=pitch;a=blobdiff_plain;f=pitch.cpp;h=6ec6155cde18b4c479340d9cf824c6d705240c14;hp=1ab4696c5b9794c8c24dc1bc0a4e077eeec7c90c;hb=6c480612a954cd85fbce1e3eb459e3274a61c0f7;hpb=14e6df5b242c72acc44cf8f68a56ee35dd5c43cf diff --git a/pitch.cpp b/pitch.cpp index 1ab4696..6ec6155 100644 --- a/pitch.cpp +++ b/pitch.cpp @@ -3,23 +3,11 @@ #include #include +#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); @@ -90,19 +78,6 @@ void print_spectrogram(double freq, double amp) } #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;