如何访问和更改 Pygame.midi?

问题描述

我使用的是 Pygame.midi,您可以从 127 种乐器中进行选择。

我想知道如何将 MIDI 乐器更改/添加到此列表中。

是否有任何地方的 pygame.midi 乐器列表,如果没有,pygame 使用哪些库来实际执行 MIDI?

我看过一个叫做 PortMidi 的东西,我想知道这是否是 Pygame 正在使用的。

我只想知道如何访问 pygame.midi 并添加乐器。

解决方法

Pygame 不提供工具。它只是将 MIDI 命令发送到系统的内置合成器,通常是声卡的一部分。 MIDI 一次允许 127 个乐器。有一个名为“通用 MIDI”的标准试图定义 127 种乐器的基线,这可能是您的系统正在使用的。

您使用“sysex”(系统专有)消息告诉合成器更改乐器到通道的分配。 pygame 通过 write_sys_ex 命令支持该功能,但您必须了解合成器的内部结构才能知道要发送哪些命令。