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 .. von Hautkopft of Ulm」)、 MaxSessionNameLen
に切り詰められます。
ライブラリのメモリ使用量は大幅に削減できます。Wiki を読んでください。
バッファ オーバーランを避けるために、Ethernet ライブラリを変更するか、Ethernet3 ライブラリを使用することを強くお勧めします - 詳細
有線イーサネットを使用すると遅延が減少しますが、Wi-Fi では遅延が増加し、遅延は変動します。ウィキの詳細
機能強化やバグ修正をぜひ含めていただきたいと思っています。正式なスタイルガイドの代わりに、既存のコーディング スタイルを維持するように注意してください。プル リクエストを送信する前にコードをテストしてください。プルリクエストに変更の詳細な説明を含めていただけると非常に役立ちます。