Как мне манипулировать музыкальными нотами с помощью Python? - PullRequest
2 голосов
/ 06 июля 2019

Я пытаюсь манипулировать midi-файлом, используя python.На данный момент я был бы рад, если бы я мог просто увеличить одну заметку на один шаг.

Я могу импортировать файл MIDI, я могу напечатать файл MIDI, я могу создать файл MIDI с нуля, но я не могу показатьсявнести изменения в файл.Есть много онлайн-уроков, которые показывают, как изменять переменные, но я не могу разобрать midi-файл, чтобы отредактировать его.В настоящее время я использую записные книжки Google Colab.

Я использую mido для загрузки файла в python

from mido import MidiFile

mid = MidiFile('test.mid')

Распечатайте его:

for i, track in enumerate(mid.tracks):
    print('Track {}: {}'.format(i, track.name))
    for msg in track:
        print(msg)

Я получаю что-то вроде этого:

Track 0: �
<meta message track_name name=u'\x00' time=0>
<meta message time_signature numerator=4 denominator=4 clocks_per_click=36 notated_32nd_notes_per_beat=8 time=0>
<meta message time_signature numerator=4 denominator=4 clocks_per_click=36 notated_32nd_notes_per_beat=8 time=0>
note_on channel=0 note=36 velocity=100 time=0
note_off channel=0 note=36 velocity=64 time=96
note_on channel=0 note=40 velocity=100 time=0
note_off channel=0 note=40 velocity=64 time=96
note_on channel=0 note=43 velocity=100 time=0
note_off channel=0 note=43 velocity=64 time=96
note_on channel=0 note=45 velocity=100 time=0
note_off channel=0 note=45 velocity=64 time=96
<meta message end_of_track time=0>

Я хотел бы знать, как манипулировать этим.Первоначально просто увеличить одну из нот на 1 шаг.

...