![](/img/trans.png)
[英]How do I send MIDI data to my Arduino board from Ableton Live control surface script
[英]How to send clock message from arduino to MIDI synth?
我正在嘗試以120 bpm
定期將時鍾從 arduino 發送到 Electron Digitakt 合成器。 這意味着我需要每 21 毫秒發送一次0xF8
( 60000/bpm/ppq -> ppq = 24 pulses per quarter
)
我的代碼看起來像
void setup()
{
Serial.begin(31250);
for (int i=0; i<10; i++) { Serial.write(byte(0xFF)); } // reset the slave
Serial.write(byte(0xFA)); // send start command
delay(10);
}
void loop () {
Serial.write(byte(0xF8));
delay(21);
}
但我看到我的合成器切換到 Play 但BPM
沒有改變。 我使用邏輯分析儀檢查輸出,它顯示這個字節每 21 毫秒發送一次(+- 1.2 毫秒,通常是半毫秒)。 用 midi 管理為 arduino 嘗試了幾個庫,沒有任何幫助
你能幫我理解問題出在哪里嗎?
從這個面向程序員的 MIDI 教程看來,應該謹慎使用 Reset 消息:
- MIDI 重置信息
- 這是一個狀態字節消息 0xFF,沒有數據字節。 它應該將合成器重置為其開機默認設置,因此它也會停止所有音符的播放。 謹慎使用此消息,因為它會重置完整的合成器,而不僅僅是播放的音符。
我會建議:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.