代码之家  ›  专栏  ›  技术社区  ›  Max Abrahamsson

python midi到水果馆

  •  1
  • Max Abrahamsson  · 技术社区  · 16 年前

    我在做一个项目 我想用python创建一个虚拟的midi输入到flstudio(水果操作系统) 我搜索了一下,但是我能找到的所有模块都是关于创建MIDI文件的,这不是我的问题。

    那么,我应该用什么模块来实现对python的MIDI I/O呢?

    2 回复  |  直到 10 年前
        1
  •  2
  •   Brad    15 年前

    艾哈迈特,我建议你用迷笛。构建一个虚拟的MIDI设备驱动程序并不是一件容易的事情,而且这不是您要用Python做的事情。

    http://www.midiox.com/myoke.htm

    编辑2011: 去年有些事情发生了变化。我建议使用TobiasErichsen的驱动程序,它允许您创建虚拟端口并向它们发送数据。如果你可以使用一个动态链接库,你可以使用他的驱动程序。

    信息如下: http://www.tobias-erichsen.de/rtpMIDI.html

    联系他获取API。

        2
  •  2
  •   Håken Lid    10 年前

    我只是想完成你确切的任务,却遇到了巨蟒 "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安装页面。希望这是有帮助的。

    推荐文章