0

我正在尝试在 .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”语法工作得很好。任何帮助将非常感激。

4

2 回答 2

0

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

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

于 2019-12-24T07:28:18.747 回答
0

尝试

if not msg.is_meta:
   if msg.type == 'note_on':
      print(msg.note)

这应该只产生数字注释作为输出。

于 2019-12-27T14:42:10.933 回答