【交流】Otomad Helper的MIDI兼容性问题
之前用otomad_helper(参见CV13614419)时发现部分MIDI无法打开。于是查阅了MIDI文件格式标准,比对了一下可解码与不可解码的MIDI,主要差别如下:
1.旧版MIDI只有一个Track Chunk,使用不同Channel表示不同音轨,新版则使用多个Track Chunk,每个Chunk仅使用一个Channel,一个Chunk代表一个音轨,且0号Chunk用来设置拍号、音调等基本信息。
2.旧版不使用音符关事件,用一个力度为0的MIDI开事件代替之;新版则正常使用MIDI关事件。
然后用C++简单搓了个程序,实现MIDI格式的转换
链接:https://pan.baidu.com/s/1f6exCVs9ubfDJXEl4Qjhzg
提取码:gxyd
使用方法:将MIDI文件移至与.exe文件同一目录下,然后运行程序,输入文件名,再敲回车即可生成带"m_"前缀的新文件

注意:该程序代码较为混乱,可能隐藏仍未发现的bug。有可能无法导出可用文件