Machine Learning in Arduino?

What is probably possible is to use the Arduino to get the sensor data and send it over to something more powerfull to process. Thats what Arduino's can do very well.

I can imagine that a first level of processing is done on the Arduino. Gestures are in the order 0.1-10 seconds (I guess) so all signals smaller than 0.1 seconds could be filtered out.

Another thing the arduino can do is add duration tags to gestures. E.g. So the generates records like { duration, wireID } so instead of sending 1000 messages per second that a wire is touched, the Arduino just sends 10 times "100, 5". By maximizing the duration you can tune the sensitiveness.

Another way is to make a record which wire is touched in the last 100 millisec. This would result in something like:

(code is only partial, will not compile)

int array[14]; // suppose 14 wires; (0..13) but we don't use 0 and 1 as these are the hardware serial port

#define SENDTIMEOUT 100
unsigned long lastSend =0;

void setup()
{
  Serial.begin(115200);
  
  for (int i=0; i< 14; i++) array[i] = 0;
  for (int i=2; i< 14; i++) pinMode(i, INPUT);  // note we don't change pin 0 and 1 
}

void loop()
{
  // READWIRES
  for (int i=2; i< 14; i++) if (digitalRead(i) == LOW)  array[i] = 1;  // assume LOW is signal 

  // SEND
  if (millis() - lastSend > SENDTIMEOUT )
  {
    lastSend  = millis();
     for (int i=2; i< 14; i++)
     {
        if (array[i] ==1) 
        {
           Serial.print(i);
           Serial.print(","); // space as separator
           array[i] = 0; // reset it 
        }
        Serial.println();
     }
   }
}

Hopes this helpes,
Rob