@novvel, да там не "почему-то", там такой код:
if (running_flag[0]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[0], 255, thisBright[0]);
else if (running_flag[1]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[1], 255, thisBright[1]);
else if (running_flag[2]) leds[SPLIT_NUM_LEDS] = CHSV(color_arr[2], 255, thisBright[2]);
else leds[SPLIT_NUM_LEDS] = CHSV(EMPTY_COLOR, 255, EMPTY_BRIGHT);
То есть если БАСС присутствует в сигнале, то он его "рисует" на ленте и дальше уже ничего не проверяет. Если БАСС отсутствует, то код переходит к проверке средних и тд.
Если поменять очерёдность: вместо 0-1-2 поставить 2-1-0, то соответственно проверка будет начинаться с высоких, как было в оригинале.
Но это как бы тоже не очень правильно. По хорошему надо допилить режим 8 и на его основе имитировать эти "бегущие частоты"