Virtual MIDI Piano Keyboard 是一款由 VMPK 提供的MIDI事件生成和接收软件。它本身并不产生声音,但可以用于控制MIDI合成器(硬件或软件,内部或外部)。你可以使用电脑的键盘演奏MIDI音符,也可以使用鼠标,这使得无需物理琴键就能体验钢琴演奏的乐趣。

maxresdefault-379

该软件不仅限于一个单一系统,已在Linux、Windows和Mac OSX上进行了测试,显然也可以在其他系统上构建。VMPK内置了现代GUI框架:Qt5,提供了出色的功能和性能。此外,Drumstick RT提供MIDI输入/输出特性。这两个框架都是免费和平台独立的,支持Linux、Windows和Mac OSX。

VMPK可以将程序和控制器变更发送到MIDI合成器。软件支持通过.INS文件提供各种标准和设备的定义,格式与QTractor和TSE3使用的相同,同时允许用户通过GUI界面在程序内部配置字母数字键盘映射,设置存储在XML文件中。VMPK还提供了针对西班牙语、德语和法语键盘布局的多种映射,涵盖了广泛的用户需求。

MIDI 概念

MIDI 是连接乐器的行业标准。它基于将演奏某种乐器的音乐家执行的动作传输到另一种不同的乐器。支持 MIDI 接口的乐器通常有两个 DIN 插座,标记为 MIDI IN 和 MIDI OUT。有时还有第三个标记为 MIDI THRU 的插座。要将一台 MIDI 乐器连接到另一台乐器,您需要一根 MIDI 电缆,将其连接到发送乐器的 MIDI OUT 插孔和接收乐器的 MIDI IN 插孔。您可以在网上找到更多类似的信息和教程。

还有用于计算机的硬件 MIDI 接口,提供 MIDI IN 和 OUT 端口,您可以在其中连接 MIDI 电缆,使计算机与外部 MIDI 乐器进行通信。无需硬件接口,计算机也可以使用MIDI软件。一个例子是 VMPK,它提供 MIDI IN 和 OUT 端口。您可以将虚拟 MIDI 电缆连接到 VMPK 的端口,以将程序连接到其他程序或计算机的物理 MIDI 接口端口。稍后将提供有关此内容的更多详细信息。您通常希望将 VMPK 的 MIDI 输出连接到某个将 MIDI 转换为声音的合成器的输入。连接的另一个常见目标是 MIDI 监视器,它将 MIDI 事件转换为可读文本。这将帮助您了解使用 MIDI 协议传输什么样的信息。在 Linux 中您可以尝试 KMidimon,在 Windows 中您可以尝试 MIDIOX。

VMPK 不产生任何声音。您需要一个 MIDI 软件合成器才能听到演奏的音符。我建议您尝试 QSynth,Fluidsynth 的图形前端。在 Windows 中,您还可以使用所有 Windows 版本附带的“Microsoft GS Wavetable Synth”,或者更好的替代方案,例如 CoolSoft Virtual MIDI Synth。当然,外部 MIDI 硬件合成器将是更好的方法。

键盘映射和乐器定义

VMPK 可以帮助您更改 MIDI 合成器中的声音,但前提是您首先提供合成器声音的定义。这些定义是扩展名为 .INS 的文本文件,与 Qtractor (Linux) 和 Sonar (Windows) 使用的格式相同。

第一次启动VMPK时,您应该打开“首选项”对话框并选择一个定义文件,然后从定义文件提供的名称中选择仪器名称。 VMPK 的数据目录(Linux 中通常为“/usr/share/vmpk”,Windows 中为“C:\Program Files\VMPK”)中应安装一个名为“gmgsxg.ins”的仪器定义文件,其中包含通用 MIDI、Roland GS 和 Yamaha XG 标准。这是一种非常简单的格式,您可以使用任何文本编辑器来查看、更改和创建新格式。您可以在 cakewalk ftp 服务器上找到仪器定义库。

从 0.2.5 版开始,您还可以使用菜单“文件”->“导入 SoundFont”中的对话框导入声音字体文件(.SF2 或 DLS 格式)作为乐器定义。

您可能想要调整的另一个自定义是键盘映射。默认布局映射 QWERTY 字母数字键盘的大约两个半八度音阶,但数据目录中有更多定义,适用于其他国际布局。您甚至可以使用“编辑”->“键盘映射”菜单中的对话框定义自己的映射。还可以选择将地图加载和保存为 XML 文件。下次启动 VMPK 时将记住上次加载的地图。事实上,您的所有首选项、选定的 MIDI 库和程序以及控制器值都将在退出时保存,并在您下次重新启动 VMPK 时恢复。

MIDI 连接和虚拟 MIDI 电缆

在 Windows 中,VMPK 自动连接到默认的 MIDI 输出,通常是“Microsoft GS Wavetable Synth”,包含在所有 Windows 版本中。该 MIDI 合成器产生的声音质量很差,并且延迟很高。更好(且免费)的替代方案是 CoolSoft Virtual MIDI Synth。

要连接硬件 MIDI 设备,您需要物理 MIDI 电缆。要连接 MIDI 软件,您需要虚拟电缆。在Windows中,您可以使用一些虚拟MIDI电缆软件,例如MIDI Yoke、Maple、LoopBe1或loopMIDI。

MIDI Yoke 设置过程将安装驱动程序和控制面板小程序,以更改可用的 MIDI 端口数量(更改此设置后需要重新启动计算机)。 MIDI Yoke 会将写入 OUT 端口的每个 MIDI 事件发送到相应的 IN 端口。例如,VMPK 可以将输出连接到端口 1,而另一个程序(如 QSynth)可以从端口 1 读取相同的事件。

使用 MIDIOX,您可以在 MIDI Yoke 端口和其他系统 MIDI 端口之间添加更多路由。该程序还提供其他有趣的功能,例如 MIDI 文件播放器。您可以聆听 MIDI 合成器中播放的歌曲,同时在 VMPK 中查看播放的音符(一次仅一个通道)。为此,您可以使用 MIDIOX 中的“路由”窗口将输入端口 1 连接到 Windows Synth 端口。另外,将播放器的 MIDI 端口配置为发送到 MIDI Yoke 1。并将 VMPK 输入端口配置为从 MIDI Yoke 1 读取。播放器将把事件发送到输出端口 1,该事件将被路由到输入端口 1 和同时到合成器端口。

在 Linux 中,您可以使用 ALSA 定序器来提供虚拟电缆。端口是在启动程序时动态创建的,因此端口数量不像 MIDI Yoke 那样是固定数量的。命令行实用程序“aconnect”允许连接和断开任何端口(硬件接口或应用程序)之间的虚拟 MIDI 电缆。 QJackCtl 是一个很好的 GUI 实用程序,可以完成同样的任务。该程序的主要目的是控制Jack守护进程(启动、停止和监视状态)。 Jack 提供虚拟音频电缆来连接声卡端口和音频程序,其方式与 MIDI 虚拟电缆类似,但用于数字音频数据。

经常问的问题

如何显示88个键?

从 VMPK 0.6.0 开始,您可以使用设置对话框来选择确切的密钥数量。

没有声音

VMPK 本身不产生任何声音。您需要一个 MIDI 合成器。

有些按键是静音的

当您在标准 MIDI 合成器上选择通道 10 时,它会播放分配给许多键(但不是全部)的打击乐声音。在旋律通道(不是通道 10)上,您可以选择音符范围有限的音色。这在音乐中被称为 Tessitura。

补丁名称与真实声音不符

您需要提供准确描述合成器声音集或声音字体的 .INS 文件。包含的文件 (gmgsxg.ins) 仅包含标准 GM、GS 和 XG 仪器的定义。如果您的 MIDI 合成器与其中任何一个都不完全匹配,您需要获取另一个 .INS 文件,或自己创建它。

仪器定义 (.INS) 文件的语法?

INS 格式的一种解释在这里。

我可以将 vkeybd 的仪器定义转换为 .INS 文件吗?

当然。使用 AWK 脚本“txt2ins.awk”。您甚至可以使用 vkeybd 中的实用程序 sftovkb 从任何 SF2 声音字体创建 .INS 文件,但还有一个功能可以从 VMPK 中的 SF2 和 DLS 文件导入乐器名称。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。