python - 为什么在 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 上运行?
解决方案
与Microsoft GS Wavetable Synth不同,IAC Driver Bus不是合成器。它是必须与某些软件合成器连接的总线。
推荐阅读
- javascript - 使用 jQuery 向下滚动页面到锚点不起作用
- r - R绑定到R中的NULL DF
- c# - EF6:您的项目引用了最新版本的 EF
- javascript - TypeError: window[("check" + key)] 不是函数
- gradle - Gradle如何更改源代码中的版本号
- java - 同步关键字Java速度效率
- ruby-on-rails - Rails - 不能以字符开头或结尾的用户名
- go - 解码 JSON 对象并将值映射到 Go 中的结构
- node.js - 使用 IIS 运行 Node.JS。无法从其他计算机连接到站点,但站点在本地服务器上运行
- django - django使用自定义名称和目录名称上传文件