首页 > 解决方案 > 为什么在 macOS 上用 mido 播放 midi 时听不到声音?

问题描述

我可以通过以下方式在 macOS 上播放和收听 MIDI 文件:

timidity song.mid

所以我想我的midi驱动程序正在工作。

但是,我在玩的时候听不到任何声音mido。这是我的代码:

import mido

def play(path: str):
    file = mido.MidiFile(path)
    with mido.open_output() as port:
        for message in file.play():
            port.send(message)

def list_devices():
    print(mido.get_output_names())
    # ['IAC Driver Bus 1', 'IAC Driver Bus 1'] if on macOS.
    # ['Microsoft GS Wavetable Synth 0'] if on Windows.

if __name__ == '__main__':
    play('song.mid')
    # list_devices()

在 macOS 上,它似乎正在运行,只是听不见。没有错误信息。

在 Windows 上,相同的代码可以完美运行,我可以听到音乐。

我想知道为什么mido不能在 macOS 上播放。有谁知道如何让它在 macOS 上运行?

标签: pythonpython-3.xmacosmidimido

解决方案


Microsoft GS Wavetable Synth不同,IAC Driver Bus不是合成器。它是必须与某些软件合成器连接的总线。


推荐阅读