Ermöglicht einem Arduino mit IP/UDP-Funktionen (Ethernet Shield, ESP8266, ESP32, ...) die Teilnahme an einer AppleMIDI-Sitzung.
Wichtig: Bitte lesen Sie den Hinweis unten zur Vergrößerung der Puffergröße der Standard-Ethernet-Bibliothek, um den Verlust von MIDI-Nachrichten zu vermeiden!
Suchen Sie im Arduino IDE Library Manager nach AppleMIDI
Dadurch wird auch die MIDI-Bibliothek FortySevenEffects installiert
# 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 );
}
}
Weitere Verwendungsmöglichkeiten im Beispielordner und im Wiki
Sitzungsnamen können auf Macs sehr lang werden (z. B. „Macbook Pro von Johann Gambolputty .. von Hautkopft aus Ulm“) und werden auf die MaxSessionNameLen
gekürzt
Der Speicherbedarf der Bibliothek kann deutlich gesenkt werden, lesen Sie im Wiki
Es wird dringend empfohlen, die Ethernet-Bibliothek zu ändern oder die Ethernet3-Bibliothek zu verwenden, um Pufferüberläufe zu vermeiden – erfahren Sie mehr
Verwenden Sie kabelgebundenes Ethernet, um die Latenz zu reduzieren. WLAN erhöht die Latenz und die Latenz variiert. Mehr vom Wiki
Ich würde gerne Ihre Verbesserungen oder Fehlerbehebungen einbeziehen! Anstelle eines formalen Styleguides achten Sie bitte darauf, den bestehenden Codierungsstil beizubehalten. Bitte testen Sie Ihren Code, bevor Sie eine Pull-Anfrage senden. Es wäre sehr hilfreich, wenn Sie dem Pull-Request eine detaillierte Erläuterung Ihrer Änderungen hinzufügen würden.