将动画与 midi 数据同步

Posted

技术标签:

【中文标题】将动画与 midi 数据同步【英文标题】:Synchronising animation with midi data 【发布时间】:2021-02-15 05:16:14 【问题描述】:

我正在开发一个生成动画的小程序,并且在大多数情况下,它都按预期工作。我唯一遇到问题的地方是当 midi 开始的持续时间非常短时,我的动画就会变得非常不同步。

我的过程的基本大纲是这样的:

    找出当前起始点和紧随其后的起始点之间的差异(以秒为单位)。

    为当前起始生成 n 帧,其中 n 为圆形(差 * 帧速率)

但是当太多的小持续时间开始一起播放时,跟随它的整个动画就会不同步,因为所有最小的时间延迟导致第 2 步中的舍入 n 相加。

有没有更好的方法来解决这个问题,让我的动画无论起始点的变化如何都能保持同步?

【问题讨论】:

【参考方案1】:

在第 1 步中,根据未取整的时间计算差值。但是您必须使用当前开始可见的实际时间。这是之前所有 n 的总和,除以帧速率。

【讨论】:

以上是关于将动画与 midi 数据同步的主要内容,如果未能解决你的问题,请参考以下文章

使用 WPF 播放 MIDI 文件并与视觉效果同步时间

实时 MIDI 输入和音频同步

Arduino 16 步音序器 - 音符不同步

Web midi API 和多个同步笔记

如何在不同视图中同步多个动画

防止 BPM 计时码表与真正的节拍器慢慢不同步