     }
 
     frequency = (peak_index * (SAMPLE_RATE / SKIP_MULT)) / (FFT_N / 4);
-    brightness = round(1.0 * MAX_BRIGHTNESS * sum_fft / MAX_FFT_BIN);
+    // 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));
+    if (brightness > 127) {
+        brightness = 127;
+    }
     
-    if (max_value < 80 || sum_fft < MIN_FFT_SUM || peak_index == 0) {
+    // Set color based on frequency bin
+    if (max_value < 100 || sum_fft < MIN_FFT_SUM || peak_index == 0) {
+        
         // signal too weak or we got the 1st peak (0Hz), no lights
         setColor(strip.Color(0, 0, 0));
+    
+    // red doesn't get much of a chance if only the first low bin, so give it 2 bins
     } else if (frequency > 0 && frequency < base_freak * 2) {
+        
         // red
         setColor(strip.Color(brightness, 0, 0));
     }
-    else if (frequency >= base_freak * 2 && frequency < (base_freak * 3)) {
+    else if (frequency >= base_freak * 2 && frequency < base_freak * 3) {
+        
+        // orange
+        setColor(strip.Color(brightness, floor(brightness/2.0), 0));
+    }
+    else if (frequency >= base_freak * 3 && frequency < base_freak * 4) {
+        
         // yellow
         setColor(strip.Color(brightness, brightness, 0));
     }
-    else if (frequency >= base_freak * 3 && frequency < (base_freak * 4)) {
+    else if (frequency >= base_freak * 4 && frequency < base_freak * 5) {
+        
+        // lime
+        setColor(strip.Color(floor(brightness/2.0), brightness, 0));
+    }
+    else if (frequency >= base_freak * 5 && frequency < base_freak * 6) {
+        
         // green
         setColor(strip.Color(0, brightness, 0));
     }
-    else if (frequency >= base_freak * 4 && frequency < base_freak * 5) {
+    else if (frequency >= base_freak * 6 && frequency < base_freak * 7) {
+        
         // cyan
         setColor(strip.Color(0, brightness, brightness));
     }
-    else if (frequency >= base_freak * 5 && frequency < base_freak * 6) {
+    else if (frequency >= base_freak * 7 && frequency < base_freak * 8) {
+        
         // blue
         setColor(strip.Color(0, 0, brightness));
     }
-    else if (frequency >= base_freak * 6 && frequency < base_freak * 8) {
+    else if (frequency >= base_freak * 8 && frequency < base_freak * 9) {
+        
+        // violet
+        setColor(strip.Color(brightness, 0, brightness));
+    // we'll cycle through the colors again so all high freaks ain't purple!!!
+    } else if (frequency > 9 && frequency < base_freak * 10) {
+        
+        // red
+        setColor(strip.Color(brightness, 0, 0));
+    }
+    else if (frequency >= base_freak * 10 && frequency < base_freak * 12) {
+        
+        // orange
+        setColor(strip.Color(brightness, floor(brightness/2.0), 0));
+    }
+    else if (frequency >= base_freak * 12 && frequency < (base_freak * 14)) {
+        
+        // yellow
+        setColor(strip.Color(brightness, brightness, 0));
+    }
+    else if (frequency >= base_freak * 14 && frequency < base_freak * 16) {
+        
+        // lime
+        setColor(strip.Color(floor(brightness/2.0), brightness, 0));
+    }
+    else if (frequency >= base_freak * 16 && frequency < (base_freak * 18)) {
+        
+        // green
+        setColor(strip.Color(0, brightness, 0));
+    }
+    else if (frequency >= base_freak * 18 && frequency < base_freak * 18) {
+        
+        // cyan
+        setColor(strip.Color(0, brightness, brightness));
+    }
+    else if (frequency >= base_freak * 18 && frequency < base_freak * 20) {
+        
+        // blue
+        setColor(strip.Color(0, 0, brightness));
+    }
+    // everything above 20 bins should be pretty rare given the low pass filter,
+    // so anything with enough power to get above this is quite strong
+    else if (frequency >= base_freak * 20) {
+        
         // violence!!!
         setColor(strip.Color(brightness, 0, brightness));
-    // we'll cycle through the colors again so all high freaks ain't purple!!!
-    } else if (frequency > 8 && frequency < base_freak * 10) {
-        // red
-        setColor(strip.Color(brightness, 0, 0));
-    }
-    else if (frequency >= base_freak * 10 && frequency < (base_freak * 12)) {
-        // yellow
-        setColor(strip.Color(brightness, brightness, 0));
-    }
-    else if (frequency >= base_freak * 12 && frequency < (base_freak * 14)) {
-        // green
-        setColor(strip.Color(0, brightness, 0));
-    }
-    else if (frequency >= base_freak * 14 && frequency < base_freak * 16) {
-        // cyan
-        setColor(strip.Color(0, brightness, brightness));
-    }
-    else if (frequency >= base_freak * 16 && frequency < base_freak * 18) {
-        // blue
-        setColor(strip.Color(0, 0, brightness));
-    }
-    else if (frequency >= base_freak * 18 && frequency < SAMPLE_RATE/SKIP_MULT) {
-        // violence!!!
-        setColor(strip.Color(brightness, 0, brightness));
-    }
-    
+    }
+        
     if (DEBUG) {
         Serial.print("FFT sum: ");
         Serial.print(sum_fft);

        if (max_value < fft_lin_out[i]) {
            // peak index determines frequency
            peak_index = i;
            // max value determines brightness
            max_value = fft_lin_out[i];
        }
        if (i > 0) {
            /* 
             * maybe an alternate way to control brightness
             * would be the sum of all non-zero bins, i.e. 
             * the total power in the sample. However, I don't
             * have a handle on what the maximum sum would be.
             */

 * Perhaps this doesn't occur on mixers, and it may be possible to
 * eliminate with an OpAmp and/or low pass filter circuit
 */
int MIN_FFT_SUM = 400;

// LEDeez
int brightness;  // controls the LED brightness based on dB level
// LEDs can be set up to 127, but it seems too bright so we tone it down a bit
int MAX_BRIGHTNESS = 127;

float base_freak = SAMPLE_RATE / FFT_N / 2;

