Следующая программа использует MIDO для чтения «g1.mid», а затем сохраняет его в «g1_new.mid». Мой вопрос заключается в следующем: при чтении файла «msg.time» является значением с плавающей запятой, но при сохранении файла «время в сообщении» является целым числом в тике. Как в этом случае преобразовать msg.time в галочку в сообщении?
from mido import MidiFile
from mido import Message, MidiTrack
mid = MidiFile()
track = MidiTrack()
mid.tracks.append(track)
for msg in MidiFile('g1.mid'):
if (not msg.is_meta):
if (msg.type == 'note_on'):
# how to convert msg.time to tick to fill in '?'
track.append(Message('note_on', note=msg.note, velocity=msg.velocity, time=?))
elif (msg.type == 'note_off'):
# how to convert msg.time to tick to fill in '?'
track.append(Message('note_off', note=msg.note, velocity=msg.velocity, time=?))
elif (msg.type == 'program_change'):
track.append(Message('program_change', program=msg.program, channel=msg.channel))
mid.save('g1_new.mid')
Примечание. Этот фрагмент кода находится в проекте по созданию музыки.