Permet à un Arduino doté de capacités IP/UDP (Ethernet Shield, ESP8266, ESP32, ...) de participer à une session AppleMIDI.
Important : veuillez lire la note ci-dessous sur l'agrandissement de la taille du tampon de la bibliothèque Ethernet standard pour éviter de supprimer des messages MIDI !
Depuis le gestionnaire de bibliothèque Arduino IDE, recherchez AppleMIDI
Cela installera également la bibliothèque 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 );
}
}
Plus d'utilisations dans le dossier exemples et dans le wiki
Les noms de session peuvent devenir très longs sur Mac (par exemple 'Macbook Pro de Johann Gambolputty .. von Hautkopft d'Ulm') et seront tronqués au MaxSessionNameLen
L'empreinte mémoire de la bibliothèque peut être considérablement réduite, lisez le wiki
Il est fortement recommandé de modifier la bibliothèque Ethernet ou d'utiliser la bibliothèque Ethernet3 pour éviter les dépassements de tampon - en savoir plus
Utilisez Ethernet filaire pour réduire la latence, le Wi-Fi augmente la latence et la latence varie. Plus de wiki
J'aimerais inclure vos améliorations ou corrections de bugs ! Au lieu d'un guide de style formel, veillez à conserver le style de codage existant. Veuillez tester votre code avant d'envoyer une pull request. Il serait très utile d'inclure une explication détaillée de vos modifications dans la demande d'extraction.