Spaces:
Sleeping
Sleeping
File size: 663 Bytes
235031d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
from midiutil import MIDIFile
import uuid
import os
def generate_midi_pattern(bpm, pattern_type):
midi = MIDIFile(1)
track = 0
time = 0
midi.addTempo(track, time, bpm)
if pattern_type == "808":
notes = [36, 38, 40]
elif pattern_type == "Melody":
notes = [60, 64, 67, 72]
else:
notes = [35, 38]
for i, n in enumerate(notes):
midi.addNote(track, 0, n, i, 1, 100)
filename = f"pattern_{uuid.uuid4().hex}.mid"
path = f"assets/generated_beats/{filename}"
os.makedirs("assets/generated_beats", exist_ok=True)
with open(path, "wb") as f:
midi.writeFile(f)
return path
|