Python 如何访问和更改Pygame.midi?

Python 如何访问和更改Pygame.midi?,python,pygame,midi,pyportmidi,Python,Pygame,Midi,Pyportmidi,我正在使用Pygame.midi,您可以从127种乐器中进行选择 我想知道如何将midi乐器更改/添加到此列表中 在任何地方都有pygame.midi乐器的列表吗?如果没有,pygame实际使用什么库来做midi 我看到了一个叫做PortMidi的东西,我想知道这是否是Pygame正在使用的 我只想知道如何访问pygame.midi并添加乐器。pygame不提供乐器。它只是将MIDI命令发送到系统的内置合成器,通常是声卡的一部分。MIDI允许一次使用127种乐器。有一个称为“通用MIDI”的标准

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

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

在任何地方都有pygame.midi乐器的列表吗?如果没有,pygame实际使用什么库来做midi

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


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

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


您可以使用“sysex”(系统专用)消息通知合成器将乐器更改为频道分配。pygame通过
write\u sys\u ex
命令支持这一点,但您必须了解合成器的内部结构,才能知道要发送哪些命令。

有趣的是,这是否意味着在不同的机器上,仪器可能不相同?你会建议我在仍然使用pygame.midi的情况下如何使用自定义乐器?这确实意味着,是的。大多数原始设备都是从一般的MIDI设置开始的,因此您可以大致获得所需的内容,但质量差别很大。如果有人把synth作为默认的MIDI设备,这是可能发生的,那么所有的赌注都是无效的。你只能从synth提供的乐器中进行选择。您不能在MIDI中加载自己的示例。