Ask for help - LED-Cube_444 on Arduino UNO

I made a LED-Cube_444 on Arduino UNO, I want to alter its blinking frequency by audio input from MIC to pc via TouchDesigner.

Could someone give me some advises for stepps?

My idea is: voice input form PIC to pc, TouchDesigner stream it to arduino analog pin, then arduino read the analog pin, here is my code for Arduino:

#include <Firmata.h>

byte analogPin = 0;

void analogWriteCallback(byte pin, int value)
{
  if (IS_PIN_PWM(pin)) {
    pinMode(PIN_TO_DIGITAL(pin), OUTPUT);
    analogWrite(PIN_TO_PWM(pin), value);
  }
}

#include <avr/pgmspace.h>      // allows use of PROGMEM to store patterns in flash
#define LatchPin 1             // Pin connected to Pin 12 of 74HC595 (Latch STCP)
#define ClockPin 0             // Pin connected to Pin 11 of 74HC595 (Clock SHCP)
#define DataPin  3             // Pin connected to Pin 14 of 74HC595 (Data DS) 
#define OEPin    2             // Pin connected to Pin 13 of 74HC595 (Output Enable OE)
unsigned long endTime;         // Duration of pattern display
int displayTime = 100;         // Time to display pattern
byte planePin[] {7,6,5,4};     // D16 - D19 Ground for each plane  D16 - Top plane  D19 Bottom plane
int p[8] = {0,0,0,0,0,0,0,0};  // Passes pattern values to patDisplay()
int pnl[5][2] = {{0,0},{0,0},{0,0},{0,0},{0,0}};
int data[] = {  0,240,  0, 15,240,  0, 15,  0,
                0,  0,  0,255,255,  0,  0,  0,
                0,  0,255,  0,  0,255,  0,  0,
               15,  0,240,  0,  0, 15,  0,240,
              240,  0,240,  0,  0, 15,  0, 15,  
                0, 15,  0, 15,240,  0,240,  0};
                
void setup()
{
  Firmata.setFirmwareVersion(FIRMATA_FIRMWARE_MAJOR_VERSION, FIRMATA_FIRMWARE_MINOR_VERSION);
  Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);
  Firmata.begin(57600);

    //Serial.begin(9600);  // Do not use in program
  pinMode(LatchPin, OUTPUT);
  pinMode(ClockPin, OUTPUT);
  pinMode(DataPin, OUTPUT);
  pinMode(OEPin, OUTPUT);
  for (int i = 0;i < 4; i++) {
    pinMode(planePin[i], OUTPUT);
    digitalWrite(planePin[i], LOW);     
  } 
 endTime = millis() + 10;
}

void loop()
{
  while (Firmata.available()) {
    Firmata.processInput();
  }
  // do one analogRead per loop, so if PC is sending a lot of
  // analog write messages, we will only delay 1 analogRead
  Firmata.sendAnalog(analogPin, analogRead(analogPin));
  flashAll(analogRead(analogPin));
  analogPin = analogPin + 1;
  if (analogPin >= TOTAL_ANALOG_PINS) analogPin = 0;
}


const unsigned char PROGMEM patterns[] = {
//1     2     3     4     5     6     7     8     9     10    11    12    13    14    15    16  

B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, 80,
B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, B0000, 1,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, B0000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B1000, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0100, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0010, 3,
B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0001, 3,

B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111, B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111, B1111, B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,

B0000, B1111, B1111, B1111, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111, B0000, B1111, B1111, B0000, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111, B1111, B0000, B1111, B0000, B0000, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,
B1111, B1111, B1111, B0000, B0000, B0000, B0000, B1111, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 10,

B1111, B1111, B1111, B1111, B1001, B0000, B0000, B1001, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 20,
B1001, B0000, B0000, B1001, B1111, B1111, B1111, B1111, B1001, B0000, B0000, B1001, B0000, B0000, B0000, B0000, 20,
B1001, B0000, B0000, B1001, B1001, B0000, B0000, B1001, B1111, B1111, B1111, B1111, B1001, B0000, B0000, B1001, 20,
B1001, B0000, B0000, B1001, B1001, B0000, B0000, B1001, B1001, B0000, B0000, B1001, B1111, B1111, B1111, B1111, 20,
B1111, B1111, B1111, B1111, B1001, B0000, B0000, B1001, B1001, B0000, B0000, B1001, B1111, B1111, B1111, B1111, 20,
B1111, B1111, B1111, B1111, B1111, B0000, B0000, B1111, B1111, B0000, B0000, B1111, B1111, B1111, B1111, B1111, 20,
B1111, B1111, B1111, B1111, B1111, B1001, B1001, B1111, B1111, B1001, B1001, B1111, B1111, B1111, B1111, B1111, 20,
B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, B1111, 20,

B1100, B1100, B0000, B0000, B1100, B1100, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 20,
B0110, B0110, B0000, B0000, B0110, B0110, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 20,
B0011, B0011, B0000, B0000, B0011, B0011, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, B0000, 20,


B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,0};

void allOn() {
  displayMatrix(255,255);  // Turn on all 16 LEDs
  for (int i = 0;i < 4; i++) digitalWrite(planePin[i], LOW);
}

void allOff() {
  displayMatrix(0,0);  // Turn off all 16 LEDs
  for (int i = 0;i < 4; i++) digitalWrite(planePin[i], HIGH);
}

void flashAll(int durationDelay) {
  for (int i = 0;i < 4; i++) { 
   allOn();
   //delay(500);
   delay(durationDelay);
   allOff();
   //delay(500);
   delay(durationDelay);
 }
}

void displayMatrix(int first8, int second8) {  // Write data to the 595 ICs
  digitalWrite(LatchPin, LOW); 
  shiftOut(DataPin, ClockPin, MSBFIRST, second8);  // D15 to D8
  shiftOut(DataPin, ClockPin, MSBFIRST, first8);   // D7 to D0      
  digitalWrite(LatchPin, HIGH);       
}