Arduino MIDI Pogram Change

Hola muy buenas a todos. Como dice el titulo trato de conectar un Arduino Mega a un dispositivo MIDI USB (de esos que tienen 3 cables USB, INPUT, OUTPUT) para cambiar de instrumento en KONTAKT y subir volumen y algunos comandos. El Arduino Mega esta conectado por el puerto serial1 al conector midi por 5V,TX1,GND segun esquemas que encontre en internet.

Aqui surge el problema lo que pasa es que tengo dos sistemas operativos LINUX Y Windows, la programacion la realice en LINUX y con el programa MIDISNOOP de LINUX pude leer los camandos que enviaba por el arduino al dispositivo MIDI USB, en este caso un ciclo de Program Change y Volumen.

Una vez probado en LINUX lo pase a WINDOWS conectandolo de la misma manera y no me reconoce ningun comando en el monitor MIDI de Windows (MIDI-OX) pero que funciona con otros dispositivos MIDI (teclado) y mucho menos en el KONTAKT. Esa es mi duda que hice mal para que funcione en LINUX pero no en WINDOWS si el protocolo MIDI es el mismo en cualquier plataforma.

Aqui esta el ciclo de comandos MIDI que envio 2 Program Change y 2 de Volumen:

void setup() {
 Serial1.begin(32150);
}

void loop() {
 Serial1.write(0xC1);
 Serial1.write(45);
 delay(1000);
 Serial1.write(0xB1);
 Serial1.write(7);
 Serial1.write(120);
 delay(1000);
 Serial1.write(0xC1);
 Serial1.write(66);
 delay(1000);
 Serial1.write(0xB1);
 Serial1.write(7);
 Serial1.write(80);
 delay(1000);
}

Acabo de editar tu post porque no posteaste el código con la etiqueta correspondiente. Que no vuelva a ocurrir por favor!!
Enlaces, códigos, imagenes, citas, errores, van con etiquetas.
Lee las normas del foro!!

Hola, bienvenido al foro.
Luego que leas mi recomendación sigue con la siguiente recomendación.
Antes de preguntar investiga todo lo posible hasta el punto de que no puedas seguir.
Eso lo logras con esta simple búsqueda en Gooogle: Arduino MIDI
o bien escribe MIDI en Search (arriba derecha).