我已經構建了一個獨立的應用程序版本的項目,直到現在只是一個VST/audiounit。我通過rtaudio提供音頻支持。實時midi輸入和音頻同步
我想添加MIDI支持使用rtmidi但我不清楚如何同步音頻和MIDI部分。
在VST/audiounit land中,我習慣於MIDI事件,它有一個時間戳,指示它們從音頻塊開始的樣本中的偏移量。
rtmidi提供自上一個事件以來的增量時間,但我不確定應該如何獲取這些事件,以及如何根據音頻線程中的當前樣本計算出他們的時間。
插件主機如何做到這一點?
我可以理解事件如何在播放時獲得準確的樣本,但尚不清楚在使用實時輸入時他們如何能夠獲得準確的樣本。
rtaudio給我一個回調函數。我將以低塊大小運行(32個樣本)。我想我會傳遞一個指向rtmidi實例的指針作爲回調的userdata部分,然後調用midiin-> getMessage(& message);裏面的音頻回調,但我不知道這是否線程合理。
非常感謝您能給我的任何提示
MIDI永遠不會是精確的樣本,也不需要。 MIDI數據相對較慢。 – Brad 2011-05-12 14:14:35