我入坑 MIDI 这段时间,了解到一些在电脑上播放 MIDI 文件需要依赖的一些工具。这些工具对于各位资深玩家可能已经十分熟悉,但对于我这样的新手来说仍需花不少时间才能了解清楚。因此这篇帖子主要向那些刚入坑的朋友推荐一些常用软件,这些软件大多在站内的帖子里被提及过,这里只是起到一个信息汇总的作用,希望能消除一些信息差。
电脑播放 MIDI 文件,一般需要播放器和合成器两类软件。以下分别进行介绍。
合成器
常见的软件合成器按连接方式可分为驱动调用、通过端口调用两种,按合成方式又分为 SoundFont 合成器、VSTi 包装两大类。
合成方式分类
如果是 SoundFont 合成器,需要加载 SF2 等音色库文件作为音源。最常用的比如说 CoolSoft VirtualMIDISynth,可以注册多个虚拟 MIDI 设备;与它类似的有 OmniMIDI,这两个合成器的底层都是 un4seen 的 BASS 库。另外还有基于 FluidSynth 底层的 Qsynth 合成器,它就没有注册驱动,只能通过设置输入端口接收 MIDI 消息(这个软件我在站内有发过:Qsynth 1.0.6 Windows 汉化构建版及编译教程 - MIDI 技术 - TAT)。
VirtualMIDISynth
Qsynth
另一类是 VSTi 类的合成器,需要加载 VSTi 插件作为音源。VSTi 插件原来一般是与宿主软件搭配使用,但通过简单的包装也可以变成通用合成器。比如说 Falcosoft 的 VST MIDI Driver 就可以将 VSTi 包装为 MIDI 驱动,不过只能创建一个虚拟设备需要手动切换插件。而 SAVIHost 可用端口的方式调用 VSTi。部分正版 VSTi 安装时就附带了包装程序,使用和 SAVIHost 类似。
VST MIDI Driver
SAVIHost
调用方式分类
像是 VirtualMIDISynth 和 VST MIDI Driver 这样的驱动式的合成器通过系统的 WinMM/MME API 进行调用的,大多数播放器都支持手动选择它作为输出设备。部分播放器无法选择,由于 Vista 后系统内置的 MIDI 映射器被弃用,会默认输出到设备 0 也就是系统内置的软件合成器(Microsoft GS Wavetable Synth,简称 MSGS 或 GS Synth)。这个合成器音质很差,为了能正常选择输出设备,可以安装 CoolSoft MIDIMapper 替代系统 MIDI 映射器功能。
MIDIMapper
而若使用 SAVIHost 等通过端口连接的合成器/外壳,需要通过特定软件创建 MIDI 端口作为连接输入、输出的桥梁,如 loopMIDI 等。然而在较新的 Windows 11 上,由于系统为适配 MIDI 2.0 升级 服务,传统的 MIDI 端口软件可能会不稳定甚至失效;建议下载微软官方的 MIDI Settings 应用预览版 和配套的 MIDI 1.0 端口创建工具 来创建 MIDI 端口。
loopMIDI
Windows MIDI Settings
音源选择
有了合成器接下来就是选择音源。SoundFont 音色库常见为 SF2 文件。最经典的是 FluidR3_GM;个人推荐 GeneralUser-GS,因为它在文件体积极小的情况下音质并不明显逊于前者。而 VSTi 一般使用早期完整支持 GM 音色的通用插件,如经典的 Yamaha S-YXG50、Roland Sound Canvas VA 等。现在下到的大多是重新打包的破解版,形式是一个 DLL 文件或包含 DLL 的文件夹,可以直接用 VST MIDI Driver 加载或用 SAVIHost 套壳使用。这些音源都可以在网上找到资源。
播放器
播放器方面就较为简单。本站的教程里推荐了 vanBasco’s Karaoke Player,不过该软件早已停更,官方链接也失效了。而我个人比较推荐的是下面几款播放器:
TMIDI Player
该软件提供丰富的控制功能,且支持曾经在日本 MIDI 社区里流行的 WRD 格式歌词文件,可以通过简单绘制功能实现丰富的视觉效果。
MIDITrail
本身是一个 MIDI 可视化工具,支持打开本地 MIDI 文件和 MIDI 端口输入两种使用方式。由于同时支持端口输入输出,可以将其作为 MIDI 端口链中的一部分随意组合,颇具可玩性。
foobar2000 + foo_midi
foobar2000 是一个经典的音乐播放软件,以其极高的可自定义性而闻名。软件本体并不支持 MIDI 播放,但搭配上 foo_midi 组件,它就成了一个 MIDI 播放器。foo_midi 支持使用 BASSMIDI、FluidSynth 以及 VSTi 插件等多种合成方式。
Falcosoft Soundfont Midi Player
这是我最推荐的播放器,它的功能可谓极其全面便捷。它支持 MIDI 端口输入输出和以及 WinMM 驱动调用,也就是说可以使用上面提到的任何合成器。然而它甚至不需要依赖外置合成器:它内置的 BASSMIDI 可同时实现 Soundfont 合成和 VSTi 合成,不需要外接任何程序,这种内置合成器的方式可以说既便捷又稳定。不过要确保 VSTi 插件和软件本身同时为 32 位或 64 位,或安装 jBridge,播放器将自动进行版本转换。它还支持录制功能,也就是说可以将使用内置合成器播放的任意音源播放的 MIDI 音乐渲染为正常的音频。














