以midi音序器的微秒分辨率发射事件

Bri*_*ice 12 c# precision midi timer

有没有办法以几微秒的分辨率在C#中触发事件?

我正在构建一个MIDI音序器,它需要在每个MIDI音符时触发一个事件,然后播放当时注册的任何音符.

每分钟120次,分辨率为120 ppqn(每拍脉冲/四分音符),该事件应每4.16666毫秒发射一次.现代音序器具有更高的分辨率,例如768ppqn,这将要求每651微秒触发一次事件.

我发现的短时间事件的最佳分辨率是1毫秒.我怎么能超越那个?

这个问题必须已经由任何C#MIDI音序器或MIDI文件播放器解决.也许我只是没有通过正确的角度看问题.

谢谢您的帮助.

Ben*_*igt 6

大多数midi音序器/ midi播放器要么将大块时间转换为波形(用于通过计算机扬声器播放),要么采用大块MIDI指令(用于连接到MIDI端口的外部设备).无论哪种方式,数据块都会被复制到声卡中,并且声卡会处理精确的计时.

您可能希望查看多媒体控制API.

在Microsoft论坛上查看此帖子