gpt4 book ai didi

c# - MIDI 音序器以微秒分辨率触发事件

转载 作者:可可西里 更新时间:2023-11-01 08:25:40 24 4
gpt4 key购买 nike

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

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

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

我发现的短时间事件的最佳分辨率是 1 毫秒。我怎样才能超越它?

这个问题一定已经被任何 C# MIDI 音序器或 MIDI 文件播放器解决了。也许我只是没有从正确的角度看待问题。

感谢您的帮助。

最佳答案

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

您可能想看看多媒体控制 API。

参见 this post over at the Microsoft discussion forum

关于c# - MIDI 音序器以微秒分辨率触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3401799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com