0

我可以通过以下方式在 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 上运行?

4

1 回答 1

0

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

于 2021-07-09T04:39:24.830 回答