主要观点:DAW 需跟踪事件发生时间,作者分享其解决方案,涉及多个时间域及转换问题,需定义“真相源”并选择合适格式存储,还需处理自动化节奏。
关键信息:
- 有四个时间域:音乐时间、样本时间、“实时”(秒)、像素;发现第五个视频时间码时间域需支持。
- 解决方案包括定义“真相源”,音乐时间是多数事件的最佳真相源,样本时间适用于音频剪辑;实际格式采用定点数,音乐时间用特定模数存储,样本时间用另一个模数存储。
- 需处理自动化节奏,用
TempoMap结构存储相关信息,目前只是静态节奏的占位符,最终实现可能采用二分搜索或二叉树加速计算,且会支持各种节奏参数。
重要细节: - 音乐时间模数为
1,476,034,560,涵盖多种音乐节拍细分,大于常见采样率,能保证精度;样本时间模数为282,240,000,可被常见采样率整除。 TempoMap在节奏改变时将项目中每个事件从特殊格式转换为样本时间并发送到音频线程,虽不是最有效但易于实现且遵循“真相源”哲学,在生产周期中改变 BPM 操作较罕见。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。