我已經在我的代碼中設置了一個midi輸入端口,並附加了一個用於讀取收到的midi數據的回調函數。這一切工作正常。我正在閱讀Midi Timecode並在回電時解析它。我注意到,取決於何時開始我的應用程序,我可能會晚於傳輸MTC的設備1秒鐘。有時候它是背後的框架。無論如何,這是不一致的和令人沮喪的。我沒有在我的readProc中執行任何阻塞或Obj-C調用。我甚至在運行我的應用程序後斷開我的USB MIDI設備的連接以查看是否有任何奇怪的IOKit事件正在進行。我真的可以用一些幫助,甚至是野蠻的理論?我覺得Midi TimeStamps是無用的,因爲沒有客觀的參考來比較它們。CoreMidi midi時間碼
1
A
回答
0
我打算假設你知道你在做什麼,並且表示實際的MIDI時間碼,而不是MIDI時鐘,這是兩種同步方法中最常見的。無論如何,MIDI速度很慢,您需要向客戶端提供偏移量(可能以毫秒爲單位),以便它可以做出相應的反應。例如,看看Ableton現場是怎麼做的:
我認識到,上面的截圖是MIDI時鐘,但同樣應該適用於MTC爲好。您可能需要提供某種類型的UI以確定偏移量,因爲如您所發現的那樣,延遲會根據運行時條件而發生變化。
相關問題
- 1. 如何將Midi時間碼轉換爲使用CoreMidi的實際時間
- 2. 如何即時更改MIDI TEMPO? [CoreMIDI] iOS
- 3. 跨平臺MIDI庫支持iOS CoreMIDI
- 4. CoreMIDI:搖滾立體midi同步
- 5. CoreMIDI/PGMidi iOS6中的虛擬MIDI錯誤
- 6. CoreMidi解析MIDI樂曲位置
- 7. 的iOS CoreMIDI跳繩MidiPackets
- 8. 命令行上的CoreMIDI
- 9. 使用Swift和CoreMIDI發送和接收MIDI
- 10. 如何在CoreMIDI中監控傳出的MIDI消息?
- 11. CoreMidi:將收到的midi消息記錄到NSTextField
- 12. 對CoreMIDI目標的混淆
- 13. CoreMIDI製造商預設
- 14. 獲取MIDI文件時間
- 15. CoreMIDI軌道訪問簽名信息
- 16. 使用CoreMIDI的MIDISend時是否忽略MIDIPacket時間戳?
- 17. 爲iOS計算CoreMIDI Pitch Bend值?
- 18. 如何使用CoreMIDI在網絡上查找所有可用的MIDI端口?
- 19. 爲什麼這個簡單的CoreMIDI程序不能產生MIDI輸出?
- 20. CoreMidi _MIDINetworkNotificationContactsDidChange找不到符號
- 21. 視頻/聲音/ MIDI播放器時間
- 22. 速度和時間簽名從MIDI
- 23. MIDI解碼器庫
- 24. CoreMIDI內存泄漏?
- 25. 以下的MIDI分數
- 26. 使用Core Midi在設備上播放midi
- 27. 錄製生成的midi事件:從時間戳到midi文件delta時間的內部轉換
- 28. 傳遞一個字節組成方法(CoreMIDI實現)
- 29. iPad/iPhone CoreMidi - Mackie控制仿真(停止,播放按鈕)
- 30. 如何在CoreMidi軌道中播放特定頻道?
謝謝。我發現,使用一個好的MIDI接口很重要。我正在使用一個MIDI總線2x2,總線供電的設備。不知何故這種設備間歇性地落後。一旦我連接了一臺MOTU midi時計,一切都按計劃開始工作。我會採取建議下的延遲。 – kernelK