Music 21 находит ноты длительностью 1/3, когда их нет - PullRequest
0 голосов
/ 12 января 2019

Я написал скрипт на python для извлечения всех заметок, их смещения и длительностей из файла midi. Я добился этого, но у меня проблема с четвертными длинами (продолжительность в четвертных нотах). Я получаю много заметок длительностью 1/3 или несколько других кратных третьей. Однако, насколько я могу судить, ни одна из нот не имеет длительности 1/3, потому что все они являются четвертными, половинными или шестнадцатыми нотами. Откуда эти длительности?

Я пытался использовать фигуры с разными временными сигнатурами, но и 4/4, и 3/4, и 3/2 штук имеют длину 1/3 четверти для некоторых нот. Вот мой код для справки:

lis = []
s = converter.parse("music2/" + "bwv525-1.mid")
a = s.flat
for item in a.notes:
    print(item.duration.type, item.duration.dots, item.quarterLength)

где bwv525-1.mid - файл, который я читаю

1 Ответ

0 голосов
/ 13 января 2019

Я хорошо знаю этот фрагмент и его кодировку: большинство его нот кодируются как восьмые ноты 1/3 длины и шестнадцатые остатки 1/6 длины, чтобы дать им некоторое разделение.

MIDI-файлы обычно кодируют производительность, а не баллы.

...