Как я могу переставить все миди инструменты последовательно, а не одновременно? - PullRequest
1 голос
/ 01 мая 2020

У меня большой список миди-файлов. Каждый миди-файл имеет несколько треков для каждого инструмента. Я хочу взять каждый трек, например: скрипка, фортепиано и т. Д. c. и вместо того, чтобы воспроизводить их одновременно, переставьте их так, чтобы они воспроизводились один за другим в одном объединенном миди-файле.

Другими словами, я хочу объединить их последовательно, а не параллельно на python.

Я пробовал этот следующий код, но на самом деле он объединяет вещи параллельно, а не последовательно:

import midi
import os

path = input("Input folder name:")

pattern = midi.Pattern()
with os.scandir(path) as it:
    for entry in it:
        if entry.name.endswith(".mid") and entry.is_file():
            print(entry.name)
            try:
                midifile = midi.read_midifile(entry.path)
            except TypeError:
                continue
            for track in midifile:
                pattern.append(track)

            #print(entry.name, entry.path)

midi.write_midifile('combined.mid', pattern)

Поскольку я не знаком с работой с библиотеками midi, я бы любите любую помощь о том, как go делать это.

...