ScMIDI

图标

ScMIDI 是一个由 C++11 与 Scratch3 写成的项目。

其可以在 Scratch 程序中播放由 C++ 程序处理过的 MIDI 文件。
该 Scratch 程序通过克隆体缓存技术,可以同时播放大量音符,而保持准确的节奏。即使不开加速模式,也几乎不会延迟。

其他链接

版权

该程序全部遵循 CC-BY-SA 4.0 开源协议(参阅 LICENSE)。

程序使用了如下库/其他代码:

使用教程

如果你想二次开发、自己构建、查看源码等,请查看 Gitee 仓库。
以下只说使用。

获取程序

C++ 部分

下载 C++ 部分程序,以转换 MIDI 文件为特殊格式。
如果你只想查看现成的少数示例歌曲,则不需要。

访问 Releases 下载已编译版本(build-Windows-xxxxxx.zip)。
已编译版本的 C++ 部分为 Windows 用户提供,分 32 与 64 位,请根据自己的机器选择。程序解压后就可运行。已编译版本也包含 Scratch 文件,下载打开即可。

Scratch 部分

以下两个方法,本地运行与在线运行。

本地运行

确保你的电脑有 Scratch3 软件。Turbowarp 可,Scratch2 不可。

访问如上的 Release,下载 Scratch 文件(ScMIDI.sb3)。

用你的 Scratch3 软件打开下载的文件。

在线运行

使用浏览器(IE 不可)访问上方的“稽木世界”网址。运行。

在线的版本稍有不同:预装了更多的歌曲。如果你懒得下载 C++ 部分,那么 Scratch 部分也没必要下载了。

使用

简单地使用 Scratch 部分。

下方是进度条,进度条上方有游标表示当前位置,游标可以拖动。
左下方是暂停键。可以点击暂停、继续。
右下方显示当前时间与总时间。

上方有三个键。
左边两个是切换曲目。上一曲、下一曲。最后一曲的下一曲是第一曲,轮转。
右边是导入键。下面讲。

导入

傻瓜式操作

打开上面说的、下载的 C++ 程序。

  • 打开 MIDI:直接将 MIDI 文件拖动到窗口中(仅 V1.1(A) 版支持);或者点击“打开文件”,选择 MIDI 文件。
  • 无视中间的一大堆选项。
  • 点击下方的“生成”,复制右边文本框中出现的一长串数据。

打开 Scratch 程序。

点击导入键。粘贴。回车或确定。
自动播放。

选项

C++ 程序中,中间的一大堆选项是什么?

不知道,建议不动(不是

将鼠标悬停其上,发现弹出了提示Tooltip
看看提示吧!就知道了!

不知道的发 issue 问我!(这种开发者功能是在懒得写文档了!)

错误解决

导入 MIDI 文件经常产生错误。

这些错误有几乎都是 MIDI 文件的错误,比如它们不标准。

导入之前,确保它们能播放。

如果能播放但确实无法导入,建议使用 PsmPlayer 软件(百度可以搜到),将 MIDI 文件转换一下。
以下是教程。我使用的是随便下载的一个版本,可能和别人不同。

  • 打开 PsmPlayer ,将 MIDI 文件拖进去。
  • 点击“文件”、“转换为MIDI档”、“确定”,保存文件。

将新保存的文件再导入,应该就可以了。

如果以上讲的没有帮到你,可以联系我(建议发 Issue)。 或者你遇到了更严重的问题(比如崩溃、打不开、卡死),请务必联系我。这很可能是我的问题,很可能意味着程序有漏洞。