说明:我用 Python 写了一个脚本,把 MIDI 转换成列表,然后把这个列表导入 Scratch,就做出了这个!
@GnawOmiz 编写了一个很棒的基于 JavaScript 的转换器(非常感谢!),您可以用来创建此项目所需的列表:https://zimo24.github.io/MIDI-to-NBP/
只需上传您的 MIDI 文件,然后选择“下载为 NBP”,进入此项目,右键单击列表并选择“导入”,然后选择您下载的 NBP 文件并将其加载到列表中。如果无法选择文件,请先将其重命名为 .txt。这并非我最初制作的转换器,它比之前的版本好得多,因为它基于网页,代码也更简洁。顺便一提,我没有添加粘贴已编码(解码?)歌曲的功能,唯一的原因是列表长度经常超过限制(200,000),而要创建这么长的列表,唯一的办法就是导入一个txt文件。
(循环之间存在一个很小的延迟,解决这个问题相当棘手。我尝试了很多次,但每次我那“完美无缺”的代码都会因为Scratch的奇怪特性而出现异常。)
“歌曲”列表的格式非常简单。每个音符的结构如下:
这些音符按顺序排列在列表中,例如歌曲列表如下:
…