Paso 6: Cómo suenan
MIDI es un protocolo serie inventado en la década de 1980 para permitir que un instrumento musical digital para el control de otros instrumentos musicales digitales. Es similar a un puerto serie RS232 excepto:
* Tiene una velocidad en baudios extraño (31250 baudios).
* Utiliza un bucle de corriente en vez de voltaje de señalización (evitar bucles de masa inducir zumbidos).
Afortunadamente hay un escudo de Arduino que implementa una interfaz de hardware MIDI, añadir que algunos software de puerto serie y tiene un interfaz de MIDI de trabajo.
Para nuestros propósitos sólo tenemos que generar dos tipos de mensajes MIDI:
Nota sobre: Generado cuando se presiona una tecla. Esto dice el piano para comenzar la nota.
Nota OFF: Generado cuando se suelta una tecla. Esto dice el piano para detener la nota.
Cada comando MIDI se compone de 3 bytes:
* El comando (nota con. / desc.)
* La velocidad de nota (qué tan rápido la nota es presionado/liberado)
* La nota (que tecla particular ha sido presionado/liberado)
La elección de la velocidad de nota plantea preguntas. Algunos teclados pueden detectar velocidad pulsa la tecla - y esto cambia la calidad (sobre todo volumen) del sonido generado. El gran Piano no puede detectar la velocidad claves - así que utilizamos una velocidad Nota previamente definida y constante. Esto hace que el piano jugando que menos matizado que en caso contrario sería, pero esto es menos problema para un piano tocado con los pies.
Recursos:
Sparkfun hace el escudo de MIDI que utiliza.
https://www.Sparkfun.com/products/9598
Gran Firmware Piano. Controlador MIDI y UART.
https://github.com/Deadsy/bigpiano/BLOB/Master/src/MIDI.cpp
https://github.com/Deadsy/bigpiano/BLOB/Master/src/MIDI.h
https://github.com/Deadsy/bigpiano/BLOB/Master/src/UART.cpp
https://github.com/Deadsy/bigpiano/BLOB/Master/src/UART.h