首页 > 解决方案 > 如何在 mido 中从 Message 中获取 note 属性?

问题描述

我正在尝试在 .mid 文件中打印出 mido 输出的每条消息中的 note 属性。现在,我的代码如下所示:

for msg in mid.tracks[1]:
    if not msg.is_meta:
        print(msg.note)

但是,在运行代码时,我得到了错误:

AttributeError: 'Message' object has no attribute 'note'

我很困惑,因为文档显示相同的“msg.note”语法工作得很好。任何帮助将非常感激。

标签: pythonmidimido

解决方案


有许多不同类型的 MIDI 信息,并不是所有的信息都有一个音符编号。

如果你想打印出所有的笔记,你必须先检查消息类型。如果要打印所有消息,则不能依赖该note字段。


推荐阅读