Arduino AppleMIDI Library
v3.2.0
使具有 IP/UDP 功能(乙太網路擴充板、ESP8266、ESP32...)的 Arduino 能夠參與 AppleMIDI 會話。
重要提示:請閱讀下面有關擴大標準乙太網路庫緩衝區大小以避免丟失 MIDI 訊息的註釋!
從 Arduino IDE 庫管理器中,搜尋 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 );
}
}
更多用法請參考範例資料夾和 wiki
Mac 上的會話名稱可能會很長(例如“Johann Gambolputty 的 Macbook Pro .. Ulm 的 von Hautkopft”),並且會被截斷為MaxSessionNameLen
庫的記憶體佔用可以顯著降低,請閱讀 wiki
強烈建議修改乙太網路庫或使用Ethernet3庫以避免緩衝區溢出 - 了解更多
使用有線乙太網路可以減少延遲,Wi-Fi 會增加延遲,延遲各不相同。更多維基百科
我很樂意包含您的增強功能或錯誤修復!請注意維護現有的編碼風格,而不是正式的樣式指南。請在發送拉取請求之前測試您的程式碼。如果您在拉取請求中包含變更的詳細說明,將會非常有幫助。