import mido | |
from io import BytesIO | |
def process_midi(midi_bytes: bytes) -> BytesIO: | |
"""处理MIDI文件:将所有音符提高一个半音""" | |
with BytesIO(midi_bytes) as input_buffer: | |
mid = mido.MidiFile(file=input_buffer) | |
for track in mid.tracks: | |
for msg in track: | |
if msg.type in ['note_on', 'note_off']: | |
if msg.note < 127: | |
msg.note += 1 | |
output_buffer = BytesIO() | |
mid.save(file=output_buffer) | |
output_buffer.seek(0) | |
return output_buffer |