mido / midi_utils.py
peter288's picture
Upload 3 files
20113f2 verified
raw
history blame contribute delete
677 Bytes
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']:
# 确保音符不会超过MIDI的最大值127
if msg.note < 127:
msg.note += 1
output_buffer = BytesIO()
mid.save(file=output_buffer)
output_buffer.seek(0)
return output_buffer