我只是想完成你确切的任务,却遇到了巨蟒
"mido library"
. 从本页可以看到:
import mido
output = mido.open_output()
output.send(mido.Message('note_on', note=60, velocity=64))
我相信这是假定设置了默认设备,因此您可能需要运行:
names = mido.get_output_names()
print(names)
看看哪些MIDI设备也可以输出。一旦你知道你的设备名是什么,你就可以做:
output = mido.open_output(names[indexOfYourDeviceHere])
output.send(mido.Message('note_on', note=60, velocity=64))
现在,这个与FL Studio的接口如何?我已经安装了
LoopBe1 Virtual Midi Driver
当我运行上面的代码时,会出现loopbe内部MIDI设备。同样,在FL Studio中,我启用了loopbe内部MIDI设备。因此,当您的python程序写入设备fl studio时,会将其作为midi输入读取!
唉,我在我的Windows机器上安装mido确实有点困难,所以我想给你一个指针。要读取或写入MIDI设备,您需要安装“mido后端”。在Linux上,我只是按照他们安装页面上的说明安装portmidi,它工作得很好。
但是,对于Windows,我在尝试使用portmidi或其他选项时遇到了很多问题。我最终决定为Windows安装pygame(第三个选项),然后将其设置为后端,使用:
mido.set_backed("mido.backends.pygame")
然后窗户上的一切都很好。您可以通过谷歌搜索轻松找到pygame for windows和mido安装页面。希望这是有帮助的。