在 Mac 上从 Python Mido 库输出 MIDI 声音

Posted

技术标签:

【中文标题】在 Mac 上从 Python Mido 库输出 MIDI 声音【英文标题】:Outputting MIDI sound from Python Mido library on Mac 【发布时间】:2016-11-09 00:24:16 【问题描述】:

我正在尝试使用 python 和 mido 库向我的计算机内部扬声器输出一个注释。我有一台 Mac,我了解到默认情况下您需要通过 IAC 驱动程序才能将任何声音输出到扬声器。我启用 IAC 驱动程序并使用以下命令搜索正确的输出:

>>> mido.get_output_names()
['IAC Driver Bus 1']

从那里我创建了简单的脚本:

导入 mido

def main():

    outport = mido.open_output('IAC Driver Bus 1')
    outport.send(mido.Message('note_on', note=60, velocity = 100))

main()

note=60 应该是输出中音 C,velocity 是音量。

但是根本没有发出声音。我假设必须识别端口,因为我没有收到任何错误,但再次没有声音输出。有人知道发生了什么吗?

【问题讨论】:

IAC 驱动程序将消息路由到其他应用程序。试试 GarageBand。 当我运行命令 mido.get_output_names() IAC Driver Bus 1 是唯一显示的结果。有没有办法将garageband设置为输出端口? 您必须从两个应用程序中通过 IAC。 您能否详细说明如何执行此操作?我以前从未使用过 IAC 或做过任何 MIDI 编程,在网上很难找到关于如何设置的明确说明。 【参考方案1】:

    打开音频 MIDI 设置应用 选择 窗口 > 显示 MIDI 工作室 双击IAC 驱动程序 检查设备在线 启动 Garage Band 并添加软件 MIDI 轨道 测试它是否与您的键盘配合使用

现在您应该在运行代码时听到一些声音。

【讨论】:

以上是关于在 Mac 上从 Python Mido 库输出 MIDI 声音的主要内容,如果未能解决你的问题,请参考以下文章

使用 mido 库的绝对 MIDI 刻度值

用Python代码写首《本草纲目》

在 Python MIDI MIDO 读取/保存文件中转换时间/刻度

如何在私有子网上从 python Google API 客户端库运行数据流

如何在 mido 中从 Message 中获取 note 属性?

python mido MIDI包中使用MultiPort的问题