ช่วยให้ Arduino ที่มีความสามารถ IP/UDP (อีเธอร์เน็ตชีลด์, ESP8266, ESP32, ...) เพื่อเข้าร่วมในเซสชั่น AppleMIDI
สำคัญ: โปรดอ่านหมายเหตุด้านล่างเกี่ยวกับการขยายขนาดบัฟเฟอร์ไลบรารีอีเทอร์เน็ตมาตรฐานเพื่อหลีกเลี่ยงไม่ให้ข้อความ MIDI ตก!
จาก Arduino IDE Library Manager ให้ค้นหา AppleMIDI
สิ่งนี้จะติดตั้งไลบรารี FortySevenEffects MIDI ด้วย
# 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 );
}
}
การใช้งานเพิ่มเติมในโฟลเดอร์ตัวอย่างและในวิกิ
ชื่อเซสชันอาจยาวมากบน Mac (เช่น 'Macbook Pro ของ Johann Gambolputty .. von Hautkopft of Ulm') และจะถูกตัดทอนเป็น MaxSessionNameLen
สามารถลดขนาดหน่วยความจำของไลบรารีลงได้อย่างมาก โปรดอ่านวิกิ
ขอแนะนำอย่างยิ่งให้แก้ไขไลบรารี Ethernet หรือใช้ไลบรารี Ethernet3 เพื่อหลีกเลี่ยงบัฟเฟอร์ล้น - เรียนรู้เพิ่มเติม
ใช้อีเทอร์เน็ตแบบมีสายเพื่อลดเวลาแฝง Wi-Fi จะเพิ่มเวลาแฝง และเวลาแฝงจะแตกต่างกันไป วิกิมากขึ้น
ฉันอยากจะรวมการปรับปรุงหรือแก้ไขข้อบกพร่องของคุณไว้ด้วย! แทนที่จะใช้ styleguide ที่เป็นทางการ โปรดดูแลรักษารูปแบบการเขียนโค้ดที่มีอยู่ โปรดทดสอบโค้ดของคุณก่อนส่งคำขอดึง จะมีประโยชน์มากหากคุณใส่คำอธิบายโดยละเอียดเกี่ยวกับการเปลี่ยนแปลงของคุณในคำขอดึง