(Ayuda) boton midi

Que tal! Hace rato q estoy queriendo hacer un controlador midi con arduino (aclaro q soy principiante con el tema programacion y electronica), y lo q he intentado hacer hasta el momento es conectar un pulsador al arduino y enviar una nota midi.
Mirando tutoriales y videos pude llegar a este codigo:

int buttonDoPin = 2; 
int buttonDoState = 0; 
int lastButtonDoState = 0; 

void setup(){ 
pinMode(buttonDoPin,INPUT); 
Serial.begin(31250); 
} 

void loop(){ 
buttonDoState = digitalRead(buttonDoPin); // Lee el estado del botón, lectura que haga en ese momento. (pulsado/no pulsado) 
if(buttonDoState == 0){ 
Serial.print(128); //Si el boton no esta pulsado enviamos el numero que corresponde al evento "Soltar tecla" que es el 128 
Serial.print(60); //El 60 es el valor que corresponde al DO del medio del piano 
Serial.print(127);} // Con el maximo volumen 
else if(buttonDoState == lastButtonDoState){ // Y si la última vez que leyo el estado del botón estaba igual que ahora hace lo mismo 
} 
else{ 
Serial.print(144); //Enviamos el evento "Tecla Pulsada" 
Serial.print(60); //LA MISMA tecla que activamos antes 
Serial.print(127); //Con el maximo volumen 
} 
lastButtonDoState = buttonDoState; 
}

pero el problema se me presenta a la hora de configurar los controles en el traktor o cuando quiero usar la señal midi en el fl studio manda varias notas a la vez como si se pulsara mas de una nota al mismo tiempo todo el tiempo

el led RX de arduino se mantiene prendido todo el tiempo, solo se apaga cuando pulso el boton
lo que puedo ver desde el fl studio es que la nota G#2 permanece siempre pulsada y la nota A2 se pulsa intermitentemente todo el tiempo y solo queda permanente cuando tengo pulsado el boton, en ese caso quedan sonando las dos notas al mismo tiempo

desconectando el pulsador queda como explique, una nota pulsada y la otra intermitente, asiq supongo q tendre un error en el codigo
si alguien me puede hechar una mano se lo agradeceria

PD: tengo el arduino uno y para pasar la señal usb a midi uso el Serial Midi Converter y el LoopBe y la conexion es esta:

Hola pablo362.
Creo que existen librerías para el control midi en Arduino que te serían más sencillo de manejar. En cualquier caso creo que es una cuestión simplemente del pulsador. Entiendo que lo que quieres es actuar con el pulsador simulando una tecla de un teclado. Si es así no tienes que detectar si el pulsador esta pulsado o no, tienes que detectar sólo el momento en el que se activa y desactiva. Es lo que se llama una detección por flanco (en tu caso flanco ascendente y descendente). Si haces unas búsquedas de esto te saldrá algo, creo recordar que en este foro en alguna ocasión yo ya lo he escrito.