Permite que un Arduino con capacidades IP/UDP (Ethernetshield, ESP8266, ESP32,...) participe en una sesión AppleMIDI.
Importante: lea la nota a continuación sobre cómo ampliar el tamaño del búfer de la biblioteca Ethernet estándar para evitar perder mensajes MIDI.
Desde el Administrador de biblioteca IDE de Arduino, busque AppleMIDI
Esto también instalará la biblioteca MIDI FortySevenEffects.
# include < Ethernet.h >
# include < AppleMIDI.h >
byte mac[] = { 0xDE , 0xAD , 0xBE , 0xEF , 0xFE , 0xED };
APPLEMIDI_CREATE_DEFAULTSESSION_INSTANCE ();
void setup ()
{
Ethernet. begin (mac);
MIDI. begin (); // listens on channel 1
}
void loop ()
{
// Listen to incoming notes
MIDI. read ();
....
if (something) {
// Send MIDI note 40 on, velocity 55 on channel 1
MIDI. sendNoteOn ( 40 , 55 , 1 );
}
}
Más usos en la carpeta de ejemplos y en la wiki.
Los nombres de las sesiones pueden ser muy largos en Mac (por ejemplo, 'Macbook Pro de Johann Gambolputty... von Hautkopft de Ulm') y se truncarán a MaxSessionNameLen
La huella de memoria de la biblioteca se puede reducir significativamente, lea la wiki
Se recomienda encarecidamente modificar la biblioteca Ethernet o utilizar la biblioteca Ethernet3 para evitar desbordamientos del búfer. Obtenga más información
Utilice Ethernet por cable para reducir la latencia, Wi-Fi aumenta la latencia y la latencia varía. Más de la wiki
¡Me encantaría incluir tus mejoras o correcciones de errores! En lugar de una guía de estilo formal, tenga cuidado de mantener el estilo de codificación existente. Pruebe su código antes de enviar una solicitud de extracción. Sería muy útil si incluyera una explicación detallada de sus cambios en la solicitud de extracción.