1

我在我的代码中设置了一个 midi 输入端口,并附加了一个回调来读取接收到的 midi 数据。这一切都很好。我正在阅读 Midi Timecode 并在我的回电中解析它。我注意到的是,根据我启动应用程序的时间,我可能会在传输 MTC 的设备后延迟 1 秒。有时它是一个框架。无论如何,它是不一致和令人沮丧的。我没有在我的 readProc 中进行任何阻塞或 Obj-C 调用。在运行我的应用程序后,我什至遇到了断开我的 USB MIDI 设备的麻烦,看看是否有任何奇怪的 IOKit 发生。我真的可以使用一些帮助,甚至是狂野的理论吗?我觉得 Midi TimeStamps 好像没用,因为没有客观的参考来比较它们。

4

1 回答 1

0

我假设你知道你在这里做什么,并且是指实际的 MIDI 时间码而不是 MIDI 时钟,这是两种同步方法中更常见的一种。无论如何,MIDI 很慢,您需要向客户端提供偏移量(可能以毫秒为单位),以便它可以做出相应的反应。例如,看看 Ableton Live 是如何做到的:

在此处输入图像描述

我意识到上面的截图是针对 MIDI 时钟的,但同样适用于 MTC。您可能需要提供某种类型的 UI 来确定偏移量,因为正如您所发现的,延迟会根据运行时条件而变化。

于 2012-07-03T03:16:16.370 回答