首页 > 解决方案 > 从python中的中间文件中提取每个乐器的音符

问题描述

我正在尝试通过乐器从中间文件中提取所有音符。有人问过这个问题:“ Music21:从 MIDI 文件中获取每个乐器的所有音符”,但答案不成立。缺少一些注释。

在我的中间文件中,使用了日语“尺八”,但执行以下代码时没有打印任何内容:

PATH_FILE = 'my_file.mid'
piece = converter.parse(PATH_FILE)

s2 = instrument.partitionByInstrument(piece)
if s2 is not None:
   for i in s2.recurse().parts:
       if i.partName == "Shakuhachi":
           iNotes = i.notesAndRests.stream()
           for note in iNotes:
               print(note)

MIDI 文件中使用了 6 种乐器,但我只能从钢琴乐器中提取音符。代码有问题还是有其他技术可以提取给定乐器的音符?

![这是Logic Pro X软件的视图,显示使用了尺桥:] 1

标签: pythonmidi

解决方案


推荐阅读