【发布时间】:2009-07-25 19:43:20
【问题描述】:
读取具有多个轨道的 MIDI 文件(按时间顺序)的最佳方法是什么? (Java)
注意:我不想播放 MIDI 文件,只是阅读消息。
几个想法:
假设没有短于 1/64 音符的音符事件是否安全?或者我应该访问每个轨道,并且只在所有其他滴答轨道之后移动到下一个滴答声
- 假设没有短于 1/64 音符的 midi 事件,并将当前位置滴答计数移动该固定增量。
- 访问每首曲目并进入下一个最早的刻度
【问题讨论】:
-
假设 1/64 音符是不安全的,例如 1/128 也存在。但是,可以安全地假设数据存储在单个字节中。 (您可以使用 MidiMessage 类评估那些)。
-
@yxk 我也喜欢从 Midi 文件中创建合适的乐谱。有你和指导我开始吗?
-
Anvil Studio 有一个 60 美元的选项,可以从 MIDI 文件中打印乐谱。另外,有人知道读取 MIDI 文件的任何开源 Java 选项吗?