Memungkinkan Arduino dengan kemampuan IP/UDP (Ethernet shield, ESP8266, ESP32, ...) untuk berpartisipasi dalam sesi AppleMIDI.
Penting: Harap baca catatan di bawah tentang cara memperbesar ukuran buffer perpustakaan Ethernet standar untuk menghindari hilangnya pesan MIDI!
Dari Arduino IDE Library Manager, cari AppleMIDI
Ini juga akan menginstal perpustakaan 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 );
}
}
Penggunaan lebih lanjut di folder contoh dan di wiki
Nama sesi bisa menjadi sangat panjang di Mac (misalnya 'Macbook Pro of Johann Gambolputty .. von Hautkopft of Ulm') dan akan dipotong menjadi MaxSessionNameLen
Jejak memori perpustakaan dapat diturunkan secara signifikan, baca wiki
Sangat disarankan untuk memodifikasi perpustakaan Ethernet atau menggunakan perpustakaan Ethernet3 untuk menghindari kelebihan buffer - pelajari lebih lanjut
Gunakan Ethernet kabel untuk mengurangi latensi, Wi-Fi meningkatkan latensi dan latensi bervariasi. Lebih banyak tentang wiki
Saya ingin menyertakan peningkatan atau perbaikan bug Anda! Sebagai pengganti panduan gaya formal, harap berhati-hati dalam mempertahankan gaya pengkodean yang ada. Silakan uji kode Anda sebelum mengirim permintaan penarikan. Akan sangat membantu jika Anda menyertakan penjelasan detail tentang perubahan Anda di pull request.