Spaces:
Sleeping
Sleeping
| 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 | |