         }
     }
 
-    frequency = (peak_index * (SAMPLE_RATE / SKIP_MULT)) / (FFT_N / 4);
     // Note, using approximate max for scaling brightness as:
     // 1.5 * max bin size minus our MIN_FFT_SUM lower cutoff
     brightness = round(1.0 * MAX_BRIGHTNESS * sum_fft / (MAX_FFT_BIN * 1.5 - MIN_FFT_SUM));

    fft_mag_lin();                 // take the output of the fft
}

// Fill the dots progressively along the strip
void setColor(uint32_t c) {
    for (int i=0; i < strip.numPixels(); i++) {
        strip.setPixelColor(i, c);
    }
    strip.show();
}

// are 32 LEDs per meter but you can extend or cut the strip.  Next two
// parameters are SPI data and clock pins:
LPD8806 strip = LPD8806(nLEDs, dataPin, clockPin);
uint32_t strip_color = strip.Color(0, 0, 0);

struct Color {
    float red;
    float green;
    float blue;
};

struct Color full_spectrum[24] = {
    { 0.25, 0.00, 1.00 },  // indigo
    { 0.00, 0.00, 1.00 },  // blue
    { 0.00, 0.25, 1.00 },  // med. blue
    { 0.00, 0.50, 1.00 },  // sky blue
    { 0.00, 0.75, 1.00 },  // pale blue
    { 0.00, 1.00, 1.00 },  // cyan
    { 0.00, 1.00, 0.75 },  // pale green
    { 0.00, 1.00, 0.50 },  // grass green
    { 0.00, 1.00, 0.25 },  // bright green
    { 0.00, 1.00, 0.00 },  // green
    { 0.25, 1.00, 0.00 },  // lime
    { 0.50, 1.00, 0.00 },  // bright lime
    { 0.75, 1.00, 0.00 },  // neon lime
    { 1.00, 1.00, 0.00 },  // yellow
    { 1.00, 0.75, 0.00 },  // orange
    { 1.00, 0.50, 0.00 },  // med. orange
    { 1.00, 0.25, 0.00 },  // dark orange
    { 1.00, 0.00, 0.00 },  // red
    { 1.00, 0.00, 0.25 },  // pink
    { 1.00, 0.00, 0.50 },  // bright pink
    { 1.00, 0.00, 0.75 },  // hot pink
    { 1.00, 0.00, 1.00 },  // purple
    { 0.75, 0.00, 1.00 },  // hot purple
    { 0.50, 0.00, 1.00 }   // deep purple
};

Color color_palette[24];

void setup() {
    for (int i = 0; i < 24; i++) {
        color_palette[i] = full_spectrum[i];
    }

    if (DEBUG) {
        Serial.begin(9600);
    }
